CMenu *pMenu;
pMenu = new CMenu;
pMenu->AppendMenu
pMenu->TrackPopupMenu
放至四海而皆准,关键是当你点击CEDIT的时候调用这段代码而已。
(我这次没有理解错题目吧 :) )
pMenu = new CMenu;
pMenu->AppendMenu
pMenu->TrackPopupMenu
放至四海而皆准,关键是当你点击CEDIT的时候调用这段代码而已。
(我这次没有理解错题目吧 :) )
解决方案 »
- char 怎么释放?
- 如何放大屏幕上的操作区域?
- 如何发出嘟的那一声警告?
- 《windows核心编程》代码运行出错,请帮忙指点
- 转贴,搞笑
- 字符串中全角半角的字符混杂,如何一个一个的取出来?!在线等待,立给分
- 如何在窗口中显示位图(jpg,bmp,gif)
- 哪里有《COM原理与应用 》下载,不甚感激!!!
- 在Atl中使用 CAsyncSocket 类
- CDaoRecordset只是一个静态的记录集类,可假如我要基于它其中的几个字段来就行统计求和,必然对求和所得字段进行重新命名,我的问题是:如何求得这些新命名的字段的值?请看-->>
- 一个分辨率适应性的问题?(分数大派送)
- 我是菜鸟,有什么是我不敢问的?
如果是第一种,那么用VCBEAR大哥说的就不错了,如果是第二种,就继承CMenu类
如果是对话框上的Edit控件,它本身已自动实现了右键菜单,不必再费心。
我做过一个程序是做RichEdit的右键菜单,代码如下,你可参考一下:
在PreTranslateMessage()函数中进行如下处理:
if(pMsg->message==WM_RBUTTONUP)
{
CPoint point;
::GetCursorPos(&point);
CRect rect;
m_ContentEdit.GetWindowRect(&rect);
if(rect.PtInRect(point))
{
//ShowCursor(TRUE);
CMenu menu;
// 装入菜单
menu.LoadMenu(IDR_TEXT_POPUP);
// 显示菜单
(ID_EDIT_UNDO,MF_GRAYED);
menu.GetSubMenu(0)->TrackPopupMenu(
TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,
point.x, point.y,this);
}
}