加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

纯Win32 C中的自定义菜单边框(没有WTL,MFC等)

发布时间:2020-12-14 02:22:56 所属栏目:Windows 来源:网络整理
导读:仅使用Win32 C(没有WTL或MFC或任何其他第三方库),如何获得自定义菜单边框? 我能够拥有物品,但边界在非客户区域,我无法找到改变它们的方法. 有办法吗? 解决方法 无论你如何实现它,它都将是一个黑客攻击. 一种选择是忘记HMENU并使用自定义始终在顶部窗口构建
仅使用Win32 C(没有WTL或MFC或任何其他第三方库),如何获得自定义菜单边框?

我能够拥有物品,但边界在非客户区域,我无法找到改变它们的方法.

有办法吗?

解决方法

无论你如何实现它,它都将是一个黑客攻击.

一种选择是忘记HMENU并使用自定义始终在顶部窗口构建自己的菜单.这可能是太多的工作,你永远不会让一切都完美.在我的脑海中,您必须处理LTR与RTL,可访问性,可配置的设置,如阴影和菜单动画(滑动/淡入淡出). SetMenu可能会对HWND做一些你不能用这样的黑客进行复制但是你可以在implementing it in a rebar之前回避这个问题.

如果要继续使用HMENU,则必须使用SetWindowsHookEx查找菜单HWND.菜单类是#32768.然后,您可以在subclass窗口中覆盖WM_NC *和WM_PRINT *消息. This Codeproject article还有关于您需要处理的未记录消息(0x01e5)的信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读