001在系统菜单中添加菜单项

技术要点:

为了操作系统菜单,先要获取系统菜单指针,可以通过GetSystemMenu函数实现,然后利用菜单指针添加一个菜单项,最后在对话框OnSysCommand方法中处理菜单项的命令。

GetSystemMenu方法用于获取一个系统菜单的指针,语法如下:

CMenu* GetSystemMenu(BOOL bRect);

bRect:FALSE时,该方法返回当前正在使用的系统菜单;TRUE时,该方法将重新设置系统菜单到默认状态,并且方法返回值不可用。

实现过程:

(1)新建一个基于对话框的应用程序

(2)在对话框类中定义一个菜单指针m_pMenu,用于指向系统菜单、

(3)主要程序代码。

在对话框初始化时,获取系统菜单指针,向系统菜单中添加菜单项,代码如下:

m_pMenu=GetSystemMenu(FALSE);

m_pMenu->AppendMenu(MF_STRING,IDI_PECULIARMENU,"系统菜单");

在对话框的OnSysCommand方法中添加消息处理代码:

else if(nID==IDI_PECULIARMENU)

{

  MessageBox("系统菜单","提示",MB_OK|MB_ICONINFORMATION);

}

执行结果:

注意:这里图标和背景都有所改变,因为还进行其他操作:

1、在构造函数中,装载了左上角的新图标。

m_hIcon = AfxGetApp()->LoadIcon(IDI_MAINMENU);

2、在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);
 m_dc->BitBlt(0,0,800,700,&m_memdc,0,0,SRCCOPY);
 m_bitmap.DeleteObject();

001在系统菜单中添加菜单项

时间: 2024-12-28 23:44:21

001在系统菜单中添加菜单项的相关文章

Delphi 在系统菜单中添加菜单项

1 unit Unit001; 2 3 interface 4 5 uses 6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs; 8 9 type 10 TForm1 = class(TForm) 11 procedure FormCreate(Sender:TObject

Delphi在系统菜单中添加菜单项

unit dy219; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure sysmenu(var msg: twmmenuselect);message wm_syscommand;

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中宏

centos 7 在应用菜单中添加菜单项

gnome桌面的所有菜单项都存储如下位置: /usr/share/applications/ 新建一个菜单项,直接在该目录下新建一个后缀名为.desktop的文件即可. $ vi /usr/share/applications/newitem.desktop 文件内容如下: [Desktop Entry]Version=1.0Name=My ProgramIcon=/some/pathExec=/home/danny/some/path/myprog/progTerminal=falseType

Delphi通过AppendMenu和DeleteMenu在系统菜单中添加删除菜单项

Delphi在系统菜单中添加删除系统菜单项 Delphi在系统菜单中添加删除系统菜单项,利用Windows提供的API函数GetSystemMenu可以得到窗口的系统菜单句柄,再通过AppendMenu和DeleteMenu就可以添加和删除菜单了. 工具/原料 Delphi7 Windows电脑 方法/步骤 打开Delphi7,创建新的工程,默认新窗体的Name属性为Form1   在Form1的Object Inspector中Events里双击OnCreate为Form1创建OnCreate

CentOS7 系统菜单中添加快捷方式

一,在桌面新建一个文件 文件名随意,但必须带有.desktop的后缀名, 以Eclipse为例 vi /usr/share/applications/eclipse.desktop 二,在文件中写入如下内容 [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE for C/C++ Exec=/home/workspace/eclipse/eclipse Icon=/home/workspace/eclipse/icon.x

如何在win10系统的开始菜单中添加“设备和打印机”

一些细心的用户会发现,win10和win7的"设备和打印机"的位置不一样.Win7的系统,在开始菜单中一般都会有"设备和打印机"这个选项,找到后直接打开就可以了,但是win10的这些快捷操作按钮却不见了.但是大家不要着急,小编这就教大家如何添加win10系统的"设备和打印机". 1.打开"控制面板",找到"硬件和声音",点击进去,然后再找到"设备和打印机": 2.在"设备和打印

[Firefox附加组件]0002.添加菜单项

Add-onSDK 还不能为火狐浏览器提供一个API添加新的菜单项.但它是可扩展的设计,所以任何人都可以建立和发布模块,使用插件开发者.大牛埃里克沃尔德写的MenuItems模块,能够使我们很方便的添加菜单项. 开发步骤 1.老规矩首先创建一个新的扩展程序.创建一个目录名称为"ItemTest"(自己随便取),并运行cfx init初始化 . mkdir ItemTest cd ItemTest cfx init 2.安装 menuitems [1].从https://github.c

Cocos2d-X中创建菜单项

Cocos2d-X中创建菜单的类: CCMenuItemFont:创建纯文本的菜单项 CCMenuItemAtlasFont:创建带有艺术字体的菜单项 CCMenuItemImage:用图片创建菜单项 CCMenuItemLabel:用标签创建菜单项 CCMenuItemSprite:用精灵创建菜单项 CCMenuItemToggle:创建可以来回切换的菜单项如ON/OFF 程序实例:创建一个纯文本菜单项 程序代码: #include "MenuItem.h" CCScene* Men