漂亮菜单的实现原理与技巧

漂亮菜单的实现原理与技巧 Elliot Liu (aisnote@gmail.com) https://aisnote.com http://bbs.aisnote.com 摘要:概述性的介绍了如何自画windows上的菜单以及相关的技巧。本文适合对象为有一定Windows编程基础的人。 1、引言 菜单是Windows标准控件之一,菜单几乎在每个应用软件中都存在。MS提供的默认菜单是比较难看的,但MS自己制作的程序比如Office等,用的菜单却很漂亮,而且一般不是默认的标准菜单(运用DrawMenuBar)。 从office97开始,用的是rebar里面嵌入一个CommandBar来模拟菜单。这个可以用spy++抓一下就知道了,这样做的好处是可以到处停靠(Dock),熟悉Windows的人都知道,停靠是标准控件Toolbar的一个普通属性,所以我们可以猜测到CommandBar应该就是一个toolbar。当然从WTL的源码里也可以找到。 如何字画菜单的文章网上有很多: http://www.vckbase.com/document/listdoc.asp?mclsid=3&sclsid=303 这个URL都是关于如何自画菜单的,但对于初学者来说或者不熟悉Windows的人来说,还是有一定的难度的。但大致都分为如下二个步骤: l 处理WM_DRAWITEM 消息:判断是不是来自菜单,然后根据一个item,一特item的信息进行绘制,前提是你得了解一些GDI的基本绘制函数。这个过程是比较简单的。 l 为了处理菜单的边框,需要安装一个HOOK,去抓菜单的窗口,MSDN提供的菜单的Class Name是“#32768”。这个过程需要一定的Windows编程基础,以及HOOK的使用方式。有点经验的人只需看看MSDN,或者GOOGLE个例子来,就行了,上面的URL也有类似的文章。...

aisnote-v23-集成简易密码管理器AiPassBox-v0.9-下载-非常好用

aisnote-v23-集成简易密码管理器AiPassBox-v0.9-下载-非常好用- AIPassBox 5年前的code,稍微改了一下,以前用的是 mysql embedded的,因为一直不稳定,现在改成 sqlite3. 主要功能: 1. 记录你的密码,比如论坛登录的账号密码,vpn之类的。 2. 导出到 excel,很方便。 3. 简单的UI,虽然比较丑 4. 很好用。 5. 简单的查找功能 6....

AisNote V2.3 中的桌面精灵。

AisNote V2.3 中的桌面精灵。看图:   1)新建即时贴–可以设置提醒方式和相关选项-》可以显示在桌面精灵上。同时会显示在日历上。在日历上可以选择并打开,还可以编辑。 Published by Wiz 0