mfc 小程序---在系统菜单中添加菜单项
1建立一个对话框工程;在dlg类里定义一个菜单指针m_pMenu,在对话框OnInitDialog函数里添加代码:
m_pMenu=GetSystemMenu(FALSE);//获取系统菜单的指针
m_pMenu->AppendMenu(MF_SEPARATOR);//添加分割线
m_pMenu->AppendMenu(MF_STRING,IDI_PECULIARMENU,"系统菜单");
补充:IDI_PECULIARMENU 为一个常数,需要在Resourece.h中宏定义:
#define IDI_PECULIARMENU 1201
2在 OnSysCommand 函数中增加代码:
else if(nID==IDI_PECULIARMENU)
{
MessageBox("系统菜单","提示",MB_OK|MB_ICONINFORMATION);
}
扩展:在系统菜单里添加背景图片,为标题添加图标
1 :加载bitmap 图片IDB_MAIN
在onPaint函数中添加如下代码:
CDC*m_dc=this->GetDC();
CDC m_memdc;
m_memdc.CreateCompatibleDC(m_dc);
CBitmap m_bitmap;
m_bitmap.LoadBitmap(IDB_MAIN);
m_memdc.SelectObject(&m_bitmap);
CRect m_rect;
m_dc->BitBlt(0,0,800,700,&m_memdc,0,0,SRCCOPY);
m_bitmap.DeleteObject();
2:加载icon 图片作为标题栏图标:IDI_MAINMENU
之后直接更改m_hIcon的值即可:
m_hIcon = AfxGetApp()->LoadIcon(IDI_MAINMENU);
补充:如果是外部应用程序首先FindWindow()找到窗口
向窗口发送 WM_SECTION消息。
HICON hIcon=AfxGetApp()-> LoadIcon(IDI_YOUR_ICON)
AfxGetMainWnd()-> SendMessage(WM_SECTION,TRUE,(LPARAM)hIcon)
最后这个现在还没试过……
mfc 小程序---在系统菜单中添加菜单项的更多相关文章
- Delphi在系统菜单中添加菜单项
unit dy219; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- python实现应用程序在右键菜单中添加打开方式
最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写 1.需求拆解: 如何实现手动添加右键菜单的打开方式: Step1:打开注册表编辑器,Win+R-> ...
- 微信小程序大型系统架构中应用Redis缓存要点
在大型分布式系统架构中,必须选择适合的缓存技术以应对高并发,实现系统相应的高性能,酷客多小程序经过慎重选型,选择了采用基于腾讯云服务的Redis弹性缓存技术,结合Redis官方推荐的.NET驱动类库S ...
- CentOS7 系统菜单中添加快捷方式
一,在桌面新建一个文件 文件名随意,但必须带有.desktop的后缀名, 以Eclipse为例 vi /usr/share/applications/eclipse.desktop 二,在文件中写入如 ...
- 为Windows资源管理器右键菜单添加菜单项
为Windows资源管理器右键菜单添加菜单项 在Windows下命令行用的比较多,经常在资源管理器里翻到某个目录,若想要在此目录下跑命令,只能是打开cmd.exe,然后一路cd才能到达此目录. 每次都 ...
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文: http://blog.csdn.net/supermanking/article/detail ...
- Ribbon1: 在Office菜单中添加项目
Office菜单就是应用程序窗口左上角的一个小的应用程序按钮,这个按钮被称作Office按钮,包含一些通用的操作或命令,例如打印.保存和发布.定制Office菜单时,其下的命令将影响整个文档,而不是文 ...
- Node+GitLab实现小程序CI系统
为什么要实现自动部署 小程序开发迭代里,有以下几个个头痛的问题, 如何准确并快速的的把小程序上传去后台,并让测试人员进行测试? 测试同事找开发要二维码,效率较低 本地生成的二维码会出现携带本地代码.未 ...
- 微信小程序商城系统怎样搭建?
微信是一种非常便捷的生活方式,微信小程序一直深受企业和商家的青睐,如美团.京东.拼多多.唯品会.小红书等知名公司都推出了自己的小程序.对于网上商城小程序的开发似乎是一件非常难的事情,用什么开发?如何开 ...
随机推荐
- Wildcard Matching - LeetCode
Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...
- Linked List Cycle - LeetCode
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...
- su su- sudo
su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码. linux su 命令 建议大家切换用户的时候 使用 su - root 这样,否则可能发现某些命令执行不了 关于su .s ...
- Using Blocks in iOS 4: Designing with Blocks
In the first part of this series, we learned how to declare and call basic Objective-C blocks. The m ...
- wpa破解学习
TENDA 159031106A iPhone 192.168.0.11 90:27:E4:53:49:D6 18:58:52 PC-201211262044 192.168.0.12 00:F1: ...
- SilverLight.3-Validation:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary
ylbtech-SilverLight.3-DataControls_BetterDataFroms:二.银光验证.TheLabel.TheDescriptionViewer和TheValidatio ...
- libev和libuv的区别
libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Library 都写了一些东西,下面就来说一说我本人对两者共同与不同点的主观表述. 高性能网络编程这个话题已经 ...
- antialiasing
Aliasing发生的原因在于,采样频率过低, 这样就无法重建更接近原来texture的图像, Temporal aliasing在时域上 采的texture 次数太少 不能重建真实 是帧与帧之间,s ...
- SVN merge 三种方式
1.Merge a range of revisions 2.Reintegrate a branch 3.Merge two different trees ———————————————————— ...
- 使用eclipse搭建maven多module项目(构建父子项目)
创建空maven项目 File–>new–>project… 2.next 3.next 4.finish 5.配置pom.xml <project xmlns="http ...