본문 바로가기

개발관련/MFC

using CRichEditCtrl event


// CRichEditDlg.h
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);

CRichEditCtrl m_Rich;

// CRichEditDlg.cpp

CRichEditDlg::CRichEditDlg(CWnd* pParent)
{
    AfxInitRichEdit();     // use for CRichEditCtrl
} 

BOOL CRichEditDlg::OnInitDialog()
{
    ...
    m_Rich.SetEventMask( m_Rich.GetEventMask() | ENM_KEYEVENTS | ENM_MOUSEEVENTS );
    ...
} 

BOOL CRichEditDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
    // use for filter - msg ( mouse & key )
    MSGFILTER *lpMsgFilter = (MSGFILTER *)lParam;

    if ( lpMsgFilter->msg == WM_LBUTTONDOWN )
        ;
    if ( lpMsgFilter->msg == WM_KEYDOWN)
        ;

    // et cetera..

    return CDialog::OnNotify(wParam, lParam, pResult);
}