Popup menu VS2005中使用

程序中 ,我们经常会使用到快捷菜单。快捷菜单的实现在vc6.0中是要加载一个组件(Popup menu)。但是我们在vs2005 中,创建一个快捷菜单的方式有点不同。我们先创建一个菜单资源,在类中加载消息WM_CONTEXTMENU。在我们的头文件会有一个消息响应函数 声明。

afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint Point);

在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP中加入 ON_WM_CONTEXTMENU()。在cpp文件中实现void OnContextMenu(CWnd* /*pWnd*/, CPoint Point);

void CPopUpmenuDlg::OnContextMenu(CWnd*,CPoint Point)

{

if(Point.x==-1 && Point.y ==-1)

{

CRect rect;

GetClientRect(rect);

ClientToScreen(rect);

Point =rect.TopLeft();

Point.Offset(5,5);

}

CMenu menu;

VERIFY(menu.LoadMenuW(IDR_MENU2));//IDR_MENU2是你创建Menu控件的资源ID

CMenu*  pPopup=menu.GetSubMenu(0);

CWnd *  pWndPopupOwner=this;

while ( pWndPopupOwner->GetStyle() & WS_CHILD)

pWndPopupOwner=pWndPopupOwner->GetParent();

pPopup->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON,Point.x,

Point.y,pWndPopupOwner);

}

Popup menu VS2005中使用,布布扣,bubuko.com

时间: 2024-10-09 09:55:30

Popup menu VS2005中使用的相关文章

Android -- Options Menu,Context Menu,Popup Menu

Options Menu                                                                           创建选项菜单的步骤: 1.覆盖Activity 的onCreateOptionMenu(Menu menu)方法,当菜单第一次被打开时调用 2.调用Menu 的add( )方法添加菜单项(MenuItem),同时可以调用MenuItem 的setIcon( )方法来为菜单项设置图标 3.当菜单项(MenuItem)被选择时,

C# WPF抽屉效果实现(C# WPF Material Design UI: Navigation Drawer & PopUp Menu)

原文:C# WPF抽屉效果实现(C# WPF Material Design UI: Navigation Drawer & PopUp Menu) 时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.WPF.ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt Widgets等,只分享自己熟悉的.自己会的. 一.先看效果: 二.本文

vs2005中microsoft ado data control 6.0控件问题

在vs2005中是没有这个控件的,需要注册,步骤如下: 1. 先到C:\WINDOWS\system32目录下看看你的系统里是否已经有了MSADODC.ocx和MSDATGRD.ocx这两个文件(多半是没有的),没有就去下载: 2.在VS 2005中注册MSADODC.ocx和MSDATGRD.ocx这两个控件.在VS 2005中点击"Tools" --> "Visual Studio 2005 Command Prompt",输入如下命令即可: regsvr

vs2005中删除最近打开的项目和文件的记录

vs2005中总是保留最近打开的项目和文件的记录,甚至是以删除的它也不删,-_-!下面介绍几种删除的方法: 第一种:建立一个bat文件,以后双击即可清除,内置代码如下: @echo off@REG Delete HKCU/Software/Microsoft/VisualStudio/8.0/FileMRUList /va /f@REG Delete HKCU/Software/Microsoft/VisualStudio/8.0/ProjectMRUList /va /f 第二种:手动在注册表

C# IDE VS2005中的Hosting Process (vshost.exe)作用介绍

写在前面 最近在群里,有朋友问起这个vshost.exe进程到底是什么?当时确实不知道是个什么东东,给人的感觉是,经常看到它,就是在启动一个项目的时候,经常看到它,就是没细研究它是啥玩意儿.既然遇到了,就不能放过,就要研究个一二. vshost.exe 通过名字Hosting Process我们可以翻译为:宿主进程. The hosting process is a feature in Visual Studio 2005 that improves debugging performance

在VS2005中设置WPF中自定义按钮的事件

原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/1740781.aspx),本篇继续下一步骤,如何自定义按钮的事件. (1)首先,在VS2005中打开上篇所建的项目(File - Open Project),找到LinearGradientButton.csproj(这是我这里的项目名称),打开之后,双击LinearGradientDemo.xaml.cs

VS2005中乱码问题

VS2005打开某些文件(如.inc, js)的时候出现乱码: 解决方法: 工具 --> 选项 --> 文本编辑器 --> 将“自动检测不带签名的 UTF-8编码”选中保存即可. VS中无乱码,浏览器中浏览出现乱码: <system.web><globalization requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" /

VS2005中配置 ScriptManager,UpdatePanel等AJAX控件 .

1. 在VS2005的Bin文件中添加对System.Web.Extensions.dll的引用,web.config 中<assemblies></assemblies>之间自动添加对<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>的引用: for: <assemblies

vs2005中无法修改控件ID

方法一:撤换到源代码模式下,通过代码更改id 方法二: 1.关闭VS2005: 2.删除目录 C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\WebsiteCache\ 3.重新打开VS2005 方法三: 1.关闭vs2005; 2.删除以下路径中的内容 系统盘符:\Documents and Settings\当前用户\Application Data \Microsoft \