如何在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); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值