'MFC'에 해당되는 글 1건

  1. 2008.09.08 비쥬얼 스튜디오 MFC 에러

마지막 학기 윈도우프로그래밍을 들으면서 MFC 를 공부한다...

언제나 그랬듯이 HelloMFC 프로그램을 먼저 작성했다.

그런데 에러가 나는 것이다. 라이브러리 참조가 안되는 듯 했다..

알고보니... 비쥬얼 스튜디오의 설정을 살짝 바꾸어 주어야 했다.

다음 화면에서 보는 것처럼 MFC 라이브러리를 사용하도록 설정해 주어야 하는 것이다.


0


다음은 HelloMFC.cpp 의 소스코드이다.

 #include <afxwin.h>

// 클래스 선언부
class CHelloApp : public CWinApp
{
public:
 virtual BOOL InitInstance();
};

class CMainFrame : public CFrameWnd
{
public:
 CMainFrame();

protected:
 afx_msg void OnPaint();
 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
 DECLARE_MESSAGE_MAP()
};

// 응용 프로그램 객체
CHelloApp theApp;

// 클래스 정의부
BOOL CHelloApp::InitInstance()
{
 m_pMainWnd = new CMainFrame;
 m_pMainWnd -> ShowWindow(m_nCmdShow);
 m_pMainWnd -> UpdateWindow();

 return TRUE;
}

CMainFrame::CMainFrame()
{
 Create(NULL, "HelloMFC Application");
}

void CMainFrame::OnPaint()
{
 char *msg = "Hello, MFC";
 CPaintDC dc(this);

 dc.TextOut(100, 100, msg, lstrlen(msg));
}

void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
 MessageBox("마우스 왼쪽 버튼을 클릭했습니다.", "마우스 메시지");
}
void CMainFrame::OnRButtonDown(UINT nFlags, CPoint point)
{
 MessageBox("마우스 오른쪽 버튼을 클릭했습니다.", "마우스 메시지");
}
void CMainFrame::OnLButtonDblClk(UINT nFlags, CPoint point)
{
 MessageBox("마우스 왼쪽 버튼을 더블클릭했습니다.", "마우스 메시지", MB_YESNOCANCEL | MB_ICONQUESTION);
}


// 메시지맵 ( MFC 의 핵심 )
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
 ON_WM_PAINT()     // OnPaint()
 //ON_WM_LBUTTONDOWN()    // OnLButtonDown()
 ON_WM_RBUTTONDOWN()    // OnRButtonDown
 ON_WM_LBUTTONDBLCLK()   // OnLButtonDblClk()
END_MESSAGE_MAP()

마우스 왼쪽, 오른쪽 버튼 클릭 이벤트와 더블클릭 이벤트를 테스트 해보았다.

메시지 박스의 세번째 인자에 의해 아이콘이나 버튼 종류를 결정하는 코드도 보인다.

MFC 세계 ㄱㄱ

Posted by 행복한 프로그래머 궁금쟁이박
TAG

댓글을 달아 주세요