此动态链接库是专门用于美化程序的菜单的。实现方法是在原有菜单的基础上直接调用,非常方便。库经过长时间的修改,已经很完善了。现在将其发布出来,供大家使用。
【发行文件】
DLL文件:cutemenu.dll
LIB文件:cutemenu.lib
VC++头文件:cutemenu.h
VB声明模块:cutemenu.bas
PB包含文件:cutemenu.pbi
帮助文件:help.chm
【特点】
1、内部实现完全依赖已经建立好的菜单,没有另行建立任何结构数组用来保存自绘菜单信息。
2、用户可以自己设置自绘风格(30多项)。支持渐变填充、Alpha混合、32位透明位图菜单项,界面美观。
3、使用方便,仅在适当的时候调用3个函数即可。
4、库文件体积小巧。
【编译器】
PureBasic 4.20
【使用说明】
文件夹“Demo Code”中有 Visual C++ 6.0、Visual Basic 6.0、PureBasic 三种 IDE 环境下的演示代码,用户可根据具体情况选择参考。
使用的具体思路是对已存在的菜单调用 AssignOwnerDraw(HMENU hMenu, UINT fSubIncluded) 函数,该函数会为该菜单的每项设置 MFT_OWNERDRAW 标志。如果 fSubIncluded 不为0,函数会遍历该菜单下挂的所有子菜单的各菜单项。这个函数可以在加载菜单后就调用,也可以在 WM_INITMENU/WM_INITMENUPOPUP 消息中即时调用。之后,在消息循环中的 WM_MEASUREITEM 和 WM_DRAWITEM 消息分别调用 MeasureItem(LPMEASUREITEMSTRUCT lpmis) 和 DrawItem(LPDRAWITEMSTRUCT lpdis) 实现自绘。
链接库刚运行时的菜单风格是当前系统默认的,用户可以凭借库里提供的另两个功能强大的函数 GetMenuStyle(LPMENUSTYLE lpms) 和 SetMenuStyle(LPMENUSTYLE lpms) 实现项目颇为丰富(30多项)的菜单风格设置。恰当地设置各参数,可以逼真地模仿别的软件的菜单风格,也可以随心所欲地实现自己独特的风格。
各函数的调用和其它一些技术问题请参阅目录下的帮助文档。
1