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 ...
随机推荐
- 如何修改因Informatica 8.6服务器IP而造资料库无法访问的问题
原因分析解决及如何避免(PowerCenter 8.6.1) 前几天同事安装了个PowerCenter8.6.1做测试,出去了几天回来后Administration Console无法登入了.同事用的 ...
- android.view.ViewRootImpl$CalledFromWrongThreadException错误处理
一般情况下,我们在编写android代码的时候,我们会将一些耗时的操作,比如网络访问.磁盘访问放到一个子线程中来执行.而这类操作往往伴随着UI的更新操作.比如说,访问网络加载一张图片 new Thre ...
- Asp.net 将DataTable 或者DataSet 转换为Json 格式
Web 开发中,将从数据库中取到的数据直接转换为 Json 格式的数据,在前台通过Ajax 无刷新显示在界面上,下面提供将DataTable 或者DataSet 转换为Json 的方法 /// < ...
- android 布局居中
android:layout_alignParentLeft="true" 位于父容器左上角 android:layout_alignParentBottom, android:l ...
- Linux--使用expect进行自动交互
在linux下进行一些操作时,有时需要与机器进行一些交互操作,比如切换账号时输入账号密码,传输文件时输入账号密码登陆远程机器等,但有时候这些动作需要在shell脚本中进行,这个时候就可以使用expec ...
- mysql_connect v/s mysql_pconnect
原文:mysql_connect v/s mysql_pconnect 译文:mysql_connect v/s mysql_pconnect 译者:dwqs 当需要使用PHP连接MySQL数据库的时 ...
- bzoj 3439 Kpm的MC密码(Trie+dfs序+主席树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3439 [题意] 给定若干串,问一个串的作为其后缀的给定串集合中的第k小. [思路] 如 ...
- Android自定义TTF字体
前言: 在Android Design中一个设计手册.在设计手册中有常用的UI图标,图标大小规范等. 其中,有一个TTF字体,以前感觉没什么用.但是我在学习时,常看到有许多开发者使用Google 提供 ...
- Hadoop中FileSystem的append方法
今天在使用Hadoop 1.1.2版本进行FileSystem的append操作时报以下异常: org.apache.hadoop.ipc.RemoteException: java.io.IOExc ...
- Java 从单核到多核的多线程(并发)
JAVA 并发编程 最初计算机是单任务的,然后发展到多任务,接着出现多线程并行,同时计算机也从单cpu进入到多cpu.如下图: 多任务:其实就是利用操作系统时间片轮转使用的原理.操作系统通 ...
