본문 바로가기

분류 전체보기105

5. 도큐먼트 파일 입출력 및 템플릿 (2) 5.3 SDI 템플릿SDI란 뷰 클래스, 도큐먼트 클래스, 메인프레임 클래스가 하나의 템플릿으로 구성되어진 것을 말함하나의 도큐먼트를 갖는 프로그램도큐먼트 - 뷰 구조에서 도큐먼트는 디스크에서 데이터를 읽고 저장하는 기능을 함SDI 형태의 프로그램으로는 메모장이나 그림판과 같은 것들을 들 수 있음SDI에서 각 클래스의 인스턴스를 얻어오는 방법클래스의 인스턴스를 얻으면 그 인스턴스 값으로 얻어온 클래스의 멤버 변수나 멤버 함수를 이용할 수 있는 것1) 애플리케이션 클래스의 인스턴스를 얻는 방법애플리케이션 클래스의 포인터 변수를 생성한 다음 AfxGetApp()이라는 함수를 이용하면 프로그램의 어디에서나 이 클래스의 인스턴스를 얻을 수 있음2) 메인 프레임 클래스의 인스턴스를 얻는 방법메뉴와 툴바, 상태 표.. 2024. 12. 29.
컴퓨터 그래픽스 소프트웨어 (1) 컴퓨터 그래픽스 영상의 표현컴퓨터 그래픽스 영상은 도형을 표현하는 방식에 따라 크게 두 가지로 분류할 수 있다. 하나는 래스터 그래픽스 영상이고, 다른 하나는 벡터 그래픽스 영상이다.래스터 그래픽스 영상은 사각형 격자 형태의 좌표에 맞추어 나열된 픽셀로 표현되며, 각각의 픽셀에는 그 위치에 해당하는 색이 지정된다. 래스터 영상은 스크린에 표시되는 영상과 픽셀 대 픽셀로 대응한다. 이는 컴퓨터 시스템에서 디스플레이 장치의 비디오 메모리에 영상을 저장하고 이를 디스플레이에 표현하는 것과 같은 형태이며, 일반적으로 장치 독립적이다. 래스터 영상의 크기는 영상을 이루고 있는 가로 픽셀 수와 세로 픽셀 수로 표현한다. 각 픽셀당 색을 표현하는 데 필요한 비트 수에 따라 색 표현의 정밀도가 결정된다.래스터 그래픽스.. 2024. 12. 22.
5. 도큐먼트 파일 입출력 및 템플릿 (1) 5.1 도큐먼트1) CDocument 클래스템플릿을 구성하는 네 개의 클래스 중 데이터를 관리하는 클래스프로그램이 사용하는 데이터를 만들고, 읽어오고, 저장하는 역할 담당CDocument 파생 클래스에는 새로운 도큐먼트를 만드는 OnNewDocument() 함수와 도큐먼트의 내용을 디스크로부터 읽어오고 저장하는 Serialize() 함수가 정의되어 있음파일에 데이터를 저장하거나 파일로부터 데이터를 읽기 위해서는 CDocument 파생 클래스에 OnSaveDocument() 함수나 OnOpenDocument() 함수를 오버라이딩하여 코드를 작성함2) CArchive 클래스도큐먼트의 데이터를 읽고 쓰기 위한 이진 삽입(>) 연산자를 정의CArchive 클래스에서 저장의 의미는 메모리에 있는 데이터가 파일로 .. 2024. 12. 19.
4. 대화상자 (2) 4.4 모달(Modal) 대화상자와 모덜리스(Modeless) 대화상자모달 대화상자대화상자가 출력되면 애플리케이션 내의 다른 윈도우에서 작업할 수 없음즉, 모달 대화상자를 닫아야 애플리케이션 내의 다른 윈도우에 포커스를 둘 수 있음모달 대화상자는 DoModal() 함수를 이용하여 출력함모덜리스 대화상자모덜리스 대화상자를 종료하지 않아도 다른 윈도우에서 사용자 작업을 계속 수행할 수 있음모덜리스 대화상자는 다음과 같은 과정을 거쳐 출력CExDialogDlg m_Dlg;m_Dlg.Create(IDD_EXDIALOG, this);                          ⇩m_Dlg.ShowWindow(SW_SHOW);출력할 대화상자 클래스에 대한 변수 선언Create() 함수를 사용하여 대화상자를 만듬이.. 2024. 12. 15.
4. 대화상자 (1) 대화상자 (Dialog Box): 사용자와 윈도우 간의 인터페이스 기능 수행4.1 CDialogEx 클래스CDialogEx 클래스는 CWnd로부터 상속받은 클래스이므로 모든 윈도우 메시지 처리 가능CDialogEx 클래스는 CDialog 클래스로부터 파생된 클래스로 CDialog 클래스의 모든 기능을 수행하고 그 이외에 대화상자의 배경색과 배경 그림을 쉽게 바꿀 수 있는 기능이 추가된 클래스임우리는 CDialogEx 클래스를 상속받아서 사용자 정의 대화상자 프로그램을 만들 수 있음[ CDialogEx 클래스 계층도 ]CObjectㄴ CCMdTarget    ㄴ CWnd        ㄴ CDialog            ㄴ CDialogEx4.2 대화상자 기반의 프로그램View 형식의 프로그램에서는 템플릿.. 2024. 12. 15.
3. 메시지 처리 (3) 3.4 키보드 메시지 (Keyboard Message)자주 사용하는 키보드 메시지와 메시지 핸들러 함수메시지 유형발생 상황메시지 핸들러 함수WM_KEYDOWN키를 눌렀을 때OnKeyDown()WM_KEYUP키에서 손을 뗐을 때OnKeyUp()WM_CHAR화면에 문자가 표시되는 키를 누름OnKeyChar()WM_SYSKEYDOWN시스템 키(Alt, F10)를 눌렀을 때OnSysKeyDown()WM_SYSKEYUP시스템 키를 똈을 때OnSysKeyUp()WM_SYSCHAR시스템 키와 문자키를 같이 누름OnSysChar()WM_CHAR 메시지는 키보드가 눌러짐에 따라 문자가 입력되는 것문자가 입력된 사건에 의해 WM_CHAR 메시지가 발생WM_CHAR 메시지는 WM_KEYDOWN 메시지가 발생한 후 추가로 발.. 2024. 12. 14.