Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Вопрос по RichEdit и обработке сообщений от него


Автор: AndreySol 24.4.2004, 20:45
Вопрос по RichEdit и обработке сообщений от него (для Visual C++
и MFC).
Помогите начинающему в Visual C++ и MFC.
Есть диалоговое окно, а на нем размещен стандартный RichEdit.
Если я обрабатываю для RichEdit'а сообщение NM_RCLICK к примеру
для вавода всплывающего меню - ничего не происходит.
Как правильно это сделать ?. Я пробовал копать в сторону SetEventMask
и GetEventMask, однако ничего не получилось.
Заранее спасибо за ответы и подсказки (в MSDN просьба не отсылать - не имею
оного).

Автор: mr.DUDA 24.4.2004, 20:53
Для приёма извещений от мыши, приходящих из RichEdit-а нужно вызвать SetEventMask(ENM_MOUSEEVENTS). В обработчик вставить код типа:
Цитата
BOOL CSomeDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
   
NMHDR *pNMHDP = (NMHDR*) lParam;

   
if(wParam == ID_RICHEDIT_1
       
&& pNMHDP->code == EN_MSGFILTER)
    {
       
MSGFILTER *lpMsgFilter = (MSGFILTER *)lParam;
       
if(lpMsgFilter->msg == WM_RBUTTONDOWN)
        {
           
// ... вывод контекстного меню с поз. курсора мыши
       
}
    }

   
return TRUE;
}

Автор: AndreySol 24.4.2004, 21:01
Большое спасибо, проверю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)