技术要点:
要实现带图标的菜单,需要从CMenu类派生一个子类,并在子类中改写DrawItem方法和MeasureItem方法。基本思路如下:
首先,定义一个记录菜单项信息的结构CMenuItemInfo,该结构包含了菜单项的文本、图像索引、ID等信息。
然后,从CMenu中派生一个子类CIconMenu。在该类中定义一个方法ChangeMenuItem,利用递归的方式修改所有的菜单项信息,使其具有自绘风格(MF_OWNERDRAW)。
接着,在CIconMenu类中定义绘制菜单项文本、绘制菜单项图标和绘制分隔条的方法。
最后,改写MeasureItem方法,设置菜单项的大小,改写DrawItem方法,根据菜单项的不同状态,绘制菜单项。
002带图标的程序菜单
时间: 2024-10-08 21:22:16