在VS2005中如何创建右键菜单

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:35:57
(1)请教哪位高手,在VS2005中如何创建右键菜单,详细介绍每个操作 (包括建立工程文件等),谢谢!!!
(2)vs2005中MessageBox()函数的参数是指针,如下:
str=_T("aaa");
MessageBox(str);
但是编译提示后面一句出错,代码该如何写?谢谢
现在只请教问题(1)创建右键菜单了,我问的是在vs2005中如何编码啊,千万别告诉我VB、C#等中方式编码!谢谢

CString str=_T("aaa");
MessageBox(str);

首先插入一个菜单资源,并添加命令响应

添加右键响应消息,响应函数里添加代码

CMenu menu;
menu.LoadMenu(菜单资源ID)
menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON |
TPM_RIGHTBUTTON, point.x, point.y, this);

1.使用ContextMenu
ContextMenu 类表示当用户在控件或窗体的特定区域上单击鼠标右键时会显示的快捷菜单。快捷菜单通常用于组合来自窗体的一个 MainMenu 的不同菜单项,便于用户在给定应用程序上下文中使用。例如,可以使用分配给 TextBox 控件的快捷菜单提供菜单项,以便更改文本字体,在控件中查找文本或实现复制和粘贴文本的剪贴版功能。还可以在快捷菜单中显示不位于 MainMenu 中的新的 MenuItem 对象,这些对象提供与特定情况有关而不适合在 MainMenu 中显示的命令。

当用户在控件或窗体本身上单击鼠标右键时,通常会显示快捷菜单。可视控件和 Form 有 ContextMenu 属性,该属性可将 ContextMenu 类绑定到显示快捷菜单的控件。多个控件可使用一个 ContextMenu。可使用 SourceControl 属性确定上次显示快捷菜单的控件,以执行特定于该控件的任务或修改该控件所显示的快捷菜单。

您可能希望知道何时显示快捷菜单,以便在向用户显示菜单之前设置选中标记、禁用项和执行其他菜单任务。可处理 Popup 事件来确定显示快捷菜单的时间。
下面的代码示例为 ContextMenu 的 Popup 事件创建事件处理程序。事件处理程序中的代码决定以下两个控件中哪一个是显示快捷菜单的控件:名为 pictureBox1 的 PictureBox 和名为 textBox1 的 TextBox。根据哪个控件导致 ContextMenu 显示其快捷菜单,控件向 Con