C++ AppendMenu
|
主题 |
|
1. 系统菜单下面添加自定义菜单 2. 3. 4. 5. |
|
AppendMenu |
|
The AppendMenu function appends a new item to the end of the
specified menu bar, drop-down menu, submenu, or shortcut menu. You can use this function to specify the content, appearance, and behavior of the menu item. Note The AppendMenu function has been superseded by the
InsertMenuItem function. You can still use AppendMenu, however, if you do not need any of the extended features of InsertMenuItem. BOOL AppendMenu(
HMENU hMenu,
// handle to menu UINT uFlags,
// menu-item options UINT_PTR uIDNewItem, // identifier, menu, or submenu
LPCTSTR lpNewItem // menu-item content
);
|
|
ID |
Value |
Description |
|
1. |
MF_BITMAP |
位图 |
|
2. |
MF_DISABLED |
不可用 |
|
3. |
MF_ENABLED |
可用 |
|
4. |
MF_GRAYED |
灰色 |
|
5. |
MF_MENUBARBREAK |
|
|
6. |
MF_MENUBREAK |
|
|
7. |
MF_OWNERDRAW |
|
|
8. |
MF_POPUP |
|
|
9. |
MF_SEPARATOR |
分隔符号 |
|
10. |
MF_STRING |
字符串 |
|
11. |
MF_CHECKED |
勾上 |
|
12. |
MF_UNCHECKED |
取消勾上 |
|
代码::系统菜单下面添加自定义菜单 |
|
1.在Resource.h里面 #define ID_MENU1 0x1500
2.在::OnInitDialog() 下面添加代码
// TODO: Add extra initialization here
CMenu* pMenu = GetSystemMenu(FALSE);
CString menu1="新菜单";
pMenu->AppendMenu(MF_SEPARATOR);
pMenu->AppendMenu(MF_STRING, ID_MENU1, menu1);
3.在::OnSysCommand(UINT nID, LPARAM lParam) 下面添加响应单击 这个菜单的代码
void CProject02Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) ==
IDM_ABOUTBOX) {
CAboutDlg dlgAbout; dlgAbout.DoModal(); }
else if
(nID==ID_MENU1) {
MessageBox("YES"); }
else
{
CDialog::OnSysCommand(nID, lParam); }
} 效果图:
|
|
ID |
nID |
备注:OnSysCommand |
|
1. |
SC_CLOSE |
Close |
|
2. |
SC_MAXIMIZE |
(or |
|
3. |
SC_MINIMIZE |
(or |
|
4. |
SC_MOVE |
Move |
|
5. |
SC_RESTORE |
Restore |
|
6. |
SC_SIZE |
Size |
|
7. |
SC_NEXTWINDOW |
Move |
|
8. |
SC_PREVWINDOW |
Move |
|
9. |
SC_KEYMENU |
Retrieve |
|
10. |
SC_MOUSEMENU |
Retrieve |
|
11. |
SC_HOTKEY |
Activate |
|
12. |
The |
|
|
13. |
SC_SCREENSAVE |
Executes |
|
14. |
SC_TASKLIST |
Execute |
|
15. |
SC_VSCROLL |
Scroll |
|
16. |
SC_HSCROLL |
Scroll |

C++ AppendMenu的更多相关文章
- AppendMenu函数添加菜单
这个函数添加新项目到指定菜单的末尾.你可以使用appendmenu指定内容,外观,和菜单项行为. BOOL AppendMenu( HMENU hMenu, UINT uFlags, UINT uID ...
- C++ 最小化到托盘
#define WM_SHOWTASK (WM_USER + 1) void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID &a ...
- Windows API 函数列表 附帮助手册
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...
- windows消息机制详解(转载)
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键都会使Windows发送一个消息给应用程序.消息本身是作为一个记录传递给应用程序的 ...
- WIN 下的超动态菜单(三)代码
WIN 下的超动态菜单(一)简介 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/ 超动态 ...
- 【Windows编程】系列第十一篇:多文档界面框架
前面我们所举的例子中都是单文档界面框架,也就是说这个窗口里面的客户区就是一个文档界面,可以编写程序在里面输入或者绘制文本和图形输出,但是不能有出现多个文档的情况.比如下面的UltraEdit就是一个典 ...
- 【Windows编程】系列第七篇:Menubar的创建和使用
上一篇我们学习了利用windows API创建工具栏和菜单栏,与上一篇紧密联系的就是菜单栏,菜单栏是一个大多数复杂一些的Windows应用程序不可或缺的部分.比如下图就是Windows自带的记事本的菜 ...
- Microsoft Win32 to Microsoft .NET Framework API Map
Microsoft Win32 to Microsoft .NET Framework API Map .NET Development (General) Technical Articles ...
- C#封装好的Win32API
Kernel.cs using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = Syst ...
随机推荐
- CodeSmith模板生成
转:http://blog.csdn.net/jason_ldh/article/details/9887073 一. 工具设置 CodeSmith默认是不支持中文的,那么我们必 ...
- 关于KOBE 退役
今天在网上看到一行话,写在KOBE 退役之际 关于职业,最值得问的是自己我有没有像科比那样始终表现出对团队的忠诚和对职业的热爱?从不被别人的误解和攻击打倒?在团队最困难的时候站出来做能做的一切?用职业 ...
- git pull冲突解决
场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动 ...
- delphi7在win7系统如何安装spcomm控件
1.先准备好串口控件SPCOMM,例如把它放在F盘的工具安装文件夹下,等一下加载时需要用到. 2.打开delphi7软件. 3.按下上面的Component>Install Component ...
- C#复习反射
反射中常用方法: //获取对象类型 One one = new One(); Type t = one.GetType(); //动态加载 Assembly a = Assembly.LoadFile ...
- 用Vmware安装centos5
Vmware安装过程就不详述了,这里从创建虚拟机开始记录. 选择创建虚拟机 下一步 选择稍后安装 选择安装的操作系统版本,需要说明的是,CentOs 5 就是RHEL 5 设置虚拟机名称及虚拟机位置 ...
- Hive1.3 JDBC连接-代码片段
package com.hive.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Re ...
- 静态文件服务器(The static file servers)
大部分的网站都会提供一些在通常操作下不会发生改变的资源给浏览器.显示网站外观的图片和CSS文件,在浏览器中运行的JavaScript代码,没有动态组件的HTML文件就是这种资源中的代表,统称为静态文件 ...
- Hadoop 2.6.0 POM.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 一个通用的Makefile (转)
据http://bbs.chinaunix.net/thread-2300778-1-1.html的讨论,发现还是有很多人在问通用Makefile的问题,这里做一个总结.也作为以后的参考. ...
