向妖哥问个问题 - C++ Builder / Windows SDK/API
就是怎么把软件里相关的菜单都自己重绘包括边框,我用的是个钩子,VCL的全部调用的我自己的重绘,但是系统菜单和webbrowser 只是重绘了边框,里边那部分没画到,
请问妖哥有没什么办法没, 我另外钩了TrackPopupMenu这个API来区分webbrowser 的菜单和系统菜单
我测了用VCLSKIN, webbrowser 和系统菜单都只是重绘了边框
[解决办法]
D版大牛跑C++版来问问题啊。
你想要的效果是使系统中所有菜单都经过自绘吧,这个有点类似WindowsBlind的功能了。你hook了哪些钩子?
[解决办法]
标准菜单要设置为MFT_OWNERDRAW才能收到WM_DRAWITEM自画消息
你试试先用SetMenuItemInfo把系统菜单所有菜单项都设置为MFT_OWNERDRAW类型,再处理它们的WM_DRAWITEM消息。