리치에디터의 생성 이후 마스크를 설정합니다.
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;