如何在Edit實現右鍵菜單

在Edit父窗口的PreTranslateMessage裏面去處理:
C/C++ code
BOOL C**Dlg::PreTranslateMessage(MSG* pMsg) { if( WM_RBUTTONDOWN == pMsg->message ) //截獲右鍵消息 { int iID; HWND hd=(HWND)::GetFocus(); //取得當前焦點窗口句柄 iID=::GetDlgCtrlID(hd); //得到當前焦點窗口的ID if( iID == IDC_EDIT1 ) //判斷當前窗口是不是要加菜單的Edit窗口 { CEdit * EditWnd = ( CEdit* ) GetDlgItem( iID ); //取得Edit的窗口指針 CMenu *pMenu; CPoint pt; GetCursorPos( &pt ); pMenu=new CMenu; pMenu->LoadMenu( IDR_MYEDITMENU ); //加載菜單資源 CMenu *pMenuPop=pMenu->GetSubMenu(0); //一般彈出菜單是資源菜單的第一項 pMenuPop->TrackPopupMenu( TPM_LEFTALIGN, pt.x, pt.y, this ); delete pMenu; } } return CDialog::PreTranslateMessage(pMsg); }
發佈了4 篇原創文章 · 獲贊 5 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章