002带图标的程序菜单

技术要点:

要实现带图标的菜单,需要从CMenu类派生一个子类,并在子类中改写DrawItem方法和MeasureItem方法。基本思路如下:

首先,定义一个记录菜单项信息的结构CMenuItemInfo,该结构包含了菜单项的文本、图像索引、ID等信息。

然后,从CMenu中派生一个子类CIconMenu。在该类中定义一个方法ChangeMenuItem,利用递归的方式修改所有的菜单项信息,使其具有自绘风格(MF_OWNERDRAW)。

接着,在CIconMenu类中定义绘制菜单项文本、绘制菜单项图标和绘制分隔条的方法。

最后,改写MeasureItem方法,设置菜单项的大小,改写DrawItem方法,根据菜单项的不同状态,绘制菜单项。

002带图标的程序菜单

时间: 2024-10-08 21:22:16

002带图标的程序菜单的相关文章

自绘制菜单带图标

## 个性定制菜单带图标 ## 今天把程序托到xp虚拟机,打算看下在xp的表现,发现菜单的小图标16*16的显示3/4左右,很丑,便有了此篇文章 ## 实现方法 ## 有点像Listview的item重绘(自绘)实现.3点 1. 设置菜单为MF_OWNERDRAW风格,(自绘风格) 2. 处理WM_MEASUREITEM消息来设置菜单ITEM的高度 3. 处理WM_DRAWITEM消息来绘制图表文字.. 是不是和listview item重绘如出一辙呀!(有空分享下listview的重绘) ##

添加右键菜单命令 在此处打开命令窗口(W)(带图标)

@color 0A @title 添加右键菜单命令 在此处打开命令窗口(W)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Background\shell\在此处打开命令窗口(W) /v Icon /t reg_expand_sz /d %ComSpec% /f reg add HKCR\Directory\Background\shell\在此处打开命令窗口(W)\command /ve /t reg_sz /d "%ComSpec%

给Notepad++ 加右键菜单带图标

从网上下载下来的Notepad++ http://download.tuxfamily.org/notepadplus/6.3.3/npp.6.3.3.bin.zip 解压之后,可以直接使用, 但是右键菜单中没有它,非常不方便, 本文使用三种方式给Notepad++注册右键菜单功能,他们只有稍微的区别: 方式一: 如下建立一个reg文件,拷贝如下内容并替换相关路径,  保存,双击运行加入注册表就好了. Windows Registry Editor Version 5.00 [HKEY_CLAS

【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】

[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. 2.qt程序打包. 3.将打包后的qt程序做成单个文件. [正文] 1.给qt程序添加一个图标: 首先确定程序可以正常编译,运行. 然后在项目代码目录下放一个xxx.ico文件,图片不要太大32*32刚好. 再然后打开项目的.pro文件,在里面加入RC_ICONS = xxx.ico. 最后编译程

DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版

关于 DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版---------------------------------------------------------基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DLL制作而成.安装之后,直接就可以用了.省心省事.不必再单独的打一次补丁包了.本安装包和补丁包一样都删除了官方自

DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版原创发布-带官方示例程序版

关于 DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版--------------------------------------------------------- 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DLL制作而成. 安装之后,直接就可以用了. 省心省事.不必再单独的打一次补丁包了. 本安装包和补丁包一样都删除了

[转]Android有趣的全透明效果--Activity及Dialog的全透明(附android系统自带图标大全

原文:http://blog.csdn.net/sodino/article/details/5822147 1.Activity全透明 同学zzm给了这个有趣的代码,现在公布出来. 先在res/values下建colors.xml文件,写入: <? xml   version = "1.0"   encoding = "UTF-8" ?>    < resources >        < color   name = "t

DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版原创发布-带官方示例程序版

关于 DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版---------------------------------------------------------基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DLL制作而成.安装之后,直接就可以用了.省心省事.不必再单独的打一次补丁包了.本安装包和补丁包一样都删除了官方自带

Android实现“是否退出”对话框和“带图标的列表”对话框

今天我们学习的内容是实现两种对话框(Dialog),第一种是询问是否退出对话框,另外一种是带图标的列表对话框,程序的执行效果是,我们点击button1的时候,弹出第一种对话框,我们点击button2的时候,弹出另外一种对话框. (1)  首先是布局方面,有三个xml文件,一个是Activity的布局文件,一个是Dialog的布局文件,一个是ListView的布局文件,内容分别例如以下: activity_main.xml <LinearLayout xmlns:android="http: