【发布时间】:2010-07-02 16:56:22
【问题描述】:
我想在 Window 的标题栏中添加一个自定义按钮。这不需要在 XP 上工作 - 只是 Vista 和更高版本。在网上搜索会产生很多以 WM_NCPAINT 方式进行的结果(例如http://www.catch22.net/tuts/custom-titlebar)。有没有办法使用启用了 Aero 的 Vista/Windows7 来做到这一点?
感谢您的帮助, 丹。
【问题讨论】:
我想在 Window 的标题栏中添加一个自定义按钮。这不需要在 XP 上工作 - 只是 Vista 和更高版本。在网上搜索会产生很多以 WM_NCPAINT 方式进行的结果(例如http://www.catch22.net/tuts/custom-titlebar)。有没有办法使用启用了 Aero 的 Vista/Windows7 来做到这一点?
感谢您的帮助, 丹。
【问题讨论】:
没有简单的方法可以做到这一点,即使在 Vista/7 上也是如此。如果不想使用 WM_NC* 方法,可以创建不带 WS_CAPTION、WS_SYSMENU 等样式的窗口,使用 DwmExtendFrameIntoClientArea 将客户区的一部分做成窗口框架,然后自己绘制标题栏。但是,这并不比使用 MC_NC* 方法少,因为您需要自己实现所有标题栏功能(系统菜单、关闭框、最大化框等)。
【讨论】: