|
发表于 2022-3-26 18:52:46
|
显示全部楼层
用 ownerDraw技术可以实现,步骤如下:
1)用GetMenu获取窗体关联的菜单句柄,再用GetSubMenu获取相应的子菜单句柄
2)用SetMenuItemInfo函数传入一个MENUITEMINFO结构,指定其cbSize为结构体大小,fMask为MIIM_FTYPE(&H100),fType为MFT_OWNERDRAW(&H100),这时该菜单项的大小就不由系统指定,而是由所有者(Owner)窗体在接收到WM_MEASUREITEM消息时指定;同样,菜单项的绘制也是由所有者窗体在接收到WM_DRAWITEM消息时绘制
3)使用SetWindowLong Me.hwnd GWL_WNDPOC, addressof WndProc子类化窗体,在WndProc函数中处理上述两个消息
详细代码:
OwnerDrawMenu.rar
(20.96 KB, 下载次数: 93)
|
|