728x90
안녕하세요!
이번 글에서는 MFC 프로젝트에서 이벤트 함수를 추가하는 방법에 대해서 알아보겠습니다.
MFC는 메시지에 의해 동작을 하며, 이를 통해 사용자와 대화하는 형식의 프로그래밍이 가능해 집니다.
예를들어, 우리가 다이얼로그 위에서 마우스커서를 움직이면 1픽셀씩 움직이는 그 찰나의 시간에 내부적으로는WM_MOUSEMOVE라는 메시지가 계속 발생이 되고 따라서 그에 맞는 OnMouseMove이벤트 함수가 계속 호출이 됩니다.
1. [솔루션 탐색기]에 있는 [프로젝트] 에서 마우스 우클릭 후 [클래스 마법사]를 클릭해줍니다.
2. [클래스 이름] 란에 이벤트를 추가 할 다이얼로그 클래스가 맞는지 확인 후 [메시지]탭을 클릭하여 'LButton'을 검색하면 마우스 왼쪽버튼에 대한 메시지가 나오게 됩니다. [WM_LBUTTONDOWN] 메시지를 더블클릭 하여 OnLButtonDown함수를 추가해준 후 [적용], [확인] 버튼을 차례로 눌러줍니다.
3. 다이얼로그 코드파일로 이동하여 [WM_LBUTTONDOWN]메시지에 대한 이벤트 함수의 호출을 확인하기 위해 아래와 같이 코드를 작성하여 줍니다.
void CMFCTESTDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
//WM_LBUTTONDOWN메시지 호출에 의한 이벤트발생.
AfxMessageBox(_T("Mouse Down!!"));
CDialogEx::OnLButtonDown(nFlags, point);
}
- 이제 빌드 후 다이얼로그 위에서 마우스 좌클릭을 하면 'Mouse Down!!' 이라는 메시지박스가 뜨게 됩니다.
이번 글에서는 메시지에 대한 이벤트 함수를 추가하는 방법을 알아보았습니다.
콘솔 프로그램과는 다르게, MFC는 사용자의 키보드와 마우스 조작에 대응해야 하기 때문에 이벤트 함수를 잘 활용하여 프로그램을 제작해야 합니다.
감사합니다!
728x90
'[C++] > MFC 프로그래밍' 카테고리의 다른 글
[C++] MFC 프로그래밍 : ESC/Enter 종료 방지 (21) | 2023.06.19 |
---|---|
[C++] MFC 프로그래밍 : PreTranslateMessage (36) | 2023.06.18 |
[C++] MFC 프로그래밍 : CString 클래스 (31) | 2023.06.18 |
[C++] MFC 프로그래밍 : CRect 클래스 (30) | 2023.06.17 |
[C++] MFC 프로그래밍 : OnSize함수 (33) | 2023.06.15 |