본문 바로가기

공부/MFC

Visual C++ 2008 MFC 프로그래밍 예제?

Part 1 윈도우 프로그래밍의 기본\02장 CWnd 클래스\CreateDemo

// CCreateDemoView 메시지 처리기

int CCreateDemoView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

//이 아래 코드는 작업해서 추가한 코드.
m_wndChild.Create(TEXT("STATIC"),TEXT("DEMO"), WS_CHILD | WS_VISIBLE | WS_BORDER, CRect(50,50,250,150), this, 1234);
 
//여기서 STATIC 을 edit이나 button등 다른 문구로 바꾸어 타입을 바꾸면 해당 사각형의 타입이 바뀌게 된다.
 
m_wndChild2.Create(TEXT("STATIC"),TEXT("DEMO"), WS_CHILD | WS_VISIBLE | WS_BORDER, CRect(450, 300, 550, 400),  this ,1234);
//두번째 코드를 넣어서 다른 네모를 삽입하려면 먼저 선언해야한다.
 
m_wndChild.SetParent(NULL);
 
//SetParent 를 사용하여 첫번째 네모그리기의 부모를 NULL(모니터 화면 전체) 로 바꾸어준다.


// TODO:  여기에 특수화된 작성 코드를 추가합니다.

return 0;
}


예제코드를 받아보았지만

비정상적인 윈도우의 관계 라는 예제 관련된 코드가 적혀있지 않아 적어두는 글. 

70페이지에 있는 글에는 setparent에 관한 언급이 있으나 실제 코드예제로는 적혀있지 않다.

보시다시피 setparent를 create 후에 입력하더라도 작동함을 알 수 있다.

또한 74페이지에 있는 다른 자식 윈도우(사각형의) 를 만들기 위해서는

CreateDemoView.cpp 뿐만 아니라 첫번째 윈도우를 선언 한 CreateDemoView.h 에 가서 아랫줄에 선언을 추가해주어야 한다.


예제 실행 코드 출력화면.

 
예제 파일 첨부.