본문 바로가기
프로그래밍/Windows API

[MFC] CWnd

by 베리베리 2009. 7. 10.

계층도

 CObject

CCmdTarget

 CWnd


CCmdTarget을 상속 받은 클래스들 중 가장 많이 사용하는 클래스

화면에 보이는 모든 윈도우들은 CWnd에서 상속받았으며, 윈도우의 최상위 클래스이다.

화면에 출력되는 모든 형태는 CWnd 클래스를 상속 받은 클래스로 만들어 졌다.


CWnd 기능 리스트

 기능 내용
 Initialization 윈도우를 만들고, 이것을 화면에 출력하고, 새로운 윈도우에 부모 윈도우 또는 자식 윈도우로 설정하고, 윈도우 스타일을 얻거나 받는 기능
 Window State Functions 현재 윈도우가 활성화인가 비활성화 인가, 현재 활성화 되어 있는 윈도우는 어떤것인가, 현재 윈도우가 마우스 이벤트를 캡쳐할 것인가, 그리고 현재 윈도우 스타일을 변경하는 것 등 윈도우 상태를 설정하는 기능
Window Size and Position 윈도우 크기를 변경시키고 윈도우 위치를 바꾸는 기능
Window Access Functions 현재 윈도우 다음에 연결되어 있는 윈도우는 어떤것인가, 부모 윈도우는 어떤 것인가 등등 윈도우에 접근을 하는 기능
 Update/Painting Functions 윈도우에 상자, 문자, 원, 도형, 비트맵등 그래픽 요소를 출력하는 기능
Coordinate Mapping Functions 스크린 좌표와 윈도우 좌표의 변환등 매핑을 콘트롤하는 기능
Window Text Function 윈도우에 문자를 출력할 경우 문자의 속성을 변경하는 기능
Scrolling Functions 윈도우에 스크롤바를 두고 스크롤바에 의해서 스크롤 위치를 컨트롤 하는 기능
Drag-Drop Functions 마우스를 드래그와 드롭을 했을 경우 실행하는 기능
Caret Functions Caret이란, 키보드 문자를 입력할 때 사용하는 커서임. 이커서를 콘트롤 하는 기능
Dialog-Box Item Functions 현재 윈도우에서 대화 상자 아이템이 설정 되어 있을 경우, 이 아이템들을 콘트롤 하는 기능
 Menu Functions 윈도우에 메뉴가 설정되었을 때 메뉴를 삽입, 수정, 삭제등을 하는 기능
ToolTip Functions 풍선 도움말, 콘트롤 기능
Timer Functions 타이머를 작동하고 타이머에 의해서 이벤트를 발생시키는 기능
Window Message Functions 윈도우에 설정되는 메시지를 얻거나 보낼때 사용하는 기능
 Clipboard Functions 클립보드에서 데이터를 얻거나 전송할 때 사용하는 기능
OLE Controls OLE를 사용할 수 있도록 콘트롤하는 기능
 Message Handlers 여러 메시지가 전달되었을 때 수행되는 해당 메시지 함수들
 



윈도우에서 구동되는 모든 기능이 CWnd에 포함되어 있다. 따라서 윈도우 안에 있는 특정 기능을 이용하자고 한다면 CWnd를 먼저 참조 하는 것이 좋다.

예) 툴바를 만들 때 사용하는 클래스 CToolBar. 이 툴바를 이동하려할 때 도움말에서는 CToolBar의 Class member를 찾아봤자 윈도우를 이동하는 함수는 나타나 있지 않다. 이럴 경우 CToolBar는 CWnd를 상속받았다는 것을 생각하고 CWnd의 맴버함수를 찾으면 된다.


참고 : Visual C++ Programming Bible Ver 6.x - 이상엽 저






CWnd

① 프레임 형태의 윈도우

CFrameWnd : SDI형 프로그램 제작시 사용되는 메인프레임 윈도우

CMDIFrameWnd :  MDI형 프로그램 제작시 사용되는 메인프레임 윈도우

CMDIChildWnd : MDI형 프로그램 제작시 사용되는 자식프레임 윈도우

CSplitterWnd : 분할 윈도우 프로그램을 제작할 때 사용되는 프레임 윈도우


② 콘트롤 바

CControlBar : 콘트롤바 모체 윈도우

CToolBar : 툴바 형태를 출력하는 윈도우

CDialogBar : 대화 상자 형태의 도구바를 출력하는 윈도우

CStatusBar : 상태창을 만드는 윈도우

CReBar : 인터넷 익스플로러의 도구바 형태의 윈도우


③ 프로퍼티 시트

CPropertySheet : 프로퍼티 시트(카드철 형태) 윈도우


④ 대화상자

CDialog : 기본 형태의 대화상자

CCommonDialog : 공용 대화 상자

CFileDialog : 파일 대화 상자

CFindReplaceDialog : 찾기/바꾸기 대화 상자

CFontDialog : 폰트 대화상자

CColorDialog : 컬러 대화상자

CPrintDialog : 프린트 대화 상자


⑤ View 윈도우

CView : 일반적인 View 윈도우

CCtrlView : 콘트롤 View

CEditView : 에디터 View

CRicgEditView : 리치 에디터 View

CTreeView : 트리 View

CScrollView : 스크롤 View

CFormView : 대화 상자를 포함하는 View

CRecordView : OBDC를 사용할 때 레코드를 콘트롤하는 View

DaoRecordView : DAO 레코드 콘트롤 View


⑥ 콘트롤들

CAnimateCtrl : 에니메이터 콘트롤

CButton : 버튼 콘트롤

CComboBox : 콤보박스 콘트롤

CEdit : 에디터 콘트롤

CListBox : 리스트 상자

CListCtrl : 리스트 콘트롤

CProgressCtrl : 프로그래스바 콘트롤

CRichEditCtrl : 리치 에디터 콘트롤

CScrollBar : 스크롤바 컨트롤

CSliderCtrl : 슬라이더 콘트롤

CTreeCtrl : 트리 콘트롤


 참고 : Visual C++ Programming Bible Ver 6.x - 이상엽 저


댓글