SPRING :: NOTE
[MFC] SendMessage 사용법 본문
반응형
SendMessage와 PostMessage의 차이점은 다른 블로그에서 습득하길 바란다.
본 포스팅에서는 소스만 나열한다.
사용하고자 하는 함수를 생성한다.
LRESULT [DlgName]::OnUserFun(WPARAM wParam, LPARAM lParam)
{
// 사용자 함수 구현부 (SendMessage를 이용해 실행 할 함수)
return 0;
}
그다음의 Message ID를 정의한다.
#define M_MSG_MSG1 (WM_USER+1)
메세지맵에 사용하고자 하는 함수 및 메세지 아이디 정의
BEGIN_MESSAGE_MAP(CPDlg1553B, CXTPResizeDialog)
ON_WM_ERASEBKGND()
ON_BN_CLICKED(IDC_BUTTON1, &CPDlg1553B::OnBnClickedButton1)
ON_MESSAGE(M_MSG_MSG1, OnUserFun)
END_MESSAGE_MAP()
첫번째 방법
마지막으로 사용하고자 하는 부분에 SendMessage 출력
SendMessage(M_MSG_MSG1);
다른 블로그에서는 어렵게 설명되어있는데, 이 처럼 사용하면 된다.
나도 잘 모르겠다.
그냥 된다.
Dlg 포인터 받고 싶으면, 그냥 쓰던대로
pDlg->SendMessage();
하면 먹힌다.
두번째 방법
::SendMessage(pMainDlg->GetSafeHwnd(),WM_SEND_MSG, SMSG_DLG_INFO, 0); // (Send Message Handle, MSG define, param, 0)
// sendmessage
LRESULT CMainFrame::resultMsg(WPARAM wParam, LPARAM lParam)
{
switch (wParam)
{
case SMSG_DLG_INFO:
MessageBox("hello");
break;
default:
break;
}
return 0;
}
반응형
'Development Language > C · C++ · MFC' 카테고리의 다른 글
[C] 두 개의 숫자를 더하는 int add(int num1, int num2), 두개의 숫자를 빼는 int subtract(int num1, int num2), 두개의 숫자를 곱하는 int mul(int num1, int num2) (0) | 2016.10.26 |
---|---|
[C] 정수로 이루어진 배열과, 배열의 원소의 개수를 인수로 받아 합계를 구하는 int sum(int *array, int number) 함수 (0) | 2016.10.26 |
[C] 기초 실습 문제 모음 (2) | 2016.10.19 |
[MFC] 다이얼로그/Dialog 배경 색상 변경 (0) | 2016.10.12 |
[MFC] View, Doc 삭제(Delete) (0) | 2016.10.11 |
Comments