Windows允许拥有既有帮助按钮又有最小化/最大化按钮的窗口吗?

3
我想在所有窗口上放置帮助按钮,就像这样:

enter image description here

但是当我添加帮助按钮时,最小化/最大化按钮消失了。Windows是否禁止在帮助按钮和最小化/最大化按钮同时显示?如果是这样的话,那将令人失望,因为这意味着我只能在对话框上放置帮助按钮而不能在框架上放置。如果Windows确实禁止这样做,那么看到一个官方的微软文档来解释这个策略将是很好的。
2个回答

2
无法通过设置窗口样式来实现。如果您真的想要,可以设置一些钩子,可能会让您做想要的事情,但我不建议这样做。您可以通过发送WM_HELP消息来模拟帮助按钮的功能。
根据MSDN,样式WS_MAXIMIZEBOXWS_MINIMIZEBOX不能与WS_EX_CONTEXTHELP组合使用。

1

虽然daalbert所说的是真的,但只要付出一些努力,就可以在窗口框架上正确地绘制几乎任何东西。当然,这种方法并不是“官方”的,daalbert提到的限制仍然存在。

您可以监听WM_NCPAINT,并使用DrawFrameControlDFC_BUTTON自己绘制按钮(这样可以确保它看起来像真的)。使用WM_NCHITTEST和相关函数(WM_NC*BUTTON*)来查找您绘制的按钮是否被点击。

因此,是的,从技术上讲,您可以实现您想要的效果,但通常不值得额外的努力。

只是想为完整性记录这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接