리치에디터의 생성 이후 마스크를 설정합니다.
LRESULT mask; mask = SendMessage(hRichEdit, EM_GETEVENTMASK, 0, 0); // 리치에디터의 마스크 값을 받아옵니다. SendMessage(hRichEdit, EM_SETEVENTMASK, 0, mask | ENM_MOUSEEVENTS ); // 기존의 마스크와 ENM_MOUSEEVENTS를 OR연산 시킵니다.
ENM_MOUSEEVENTS는 리치에디터에서 일어나는 마우스 이벤트를 받도록 해주는 마스크입니다.
마스크 설정이 끝났으면 WndProc로 돌아와 아래의 코드를 넣습니다.
메시지는 WM_NOTIFY에 전달되며 lParam에 있는 메시지 필터를 확인해야 상세한 메시지 내용을 알 수 있습니다.
MSGFILTER *mf; // 메시지 필터
// 생략
case WM_NOTIFY:
mf = (MSGFILTER*)lParam;
switch(mf->msg){
case WM_LBUTTONDOWN:
cout << "WM_LBUTTONDOWN" << endl;
break;
case WM_MOUSEMOVE:
cout << "WM_MOUSEMOVE"<< endl;
break;
}
break;
