2010-11-21 46 views
2

我想在对话框的标题栏上添加一些控件。一个可能的解决方案是,我只需从对话框中删除标题栏并绘制我自己的标题栏。在MFC中使用标题栏绘图

但是,如果我绘制自己的标题栏,标题栏的外观不会根据窗口的主题而改变。而且我也不得不努力缩短,最小化和最大化btns。

所以我想问是否可以在标题栏上绘制控件,该控件可以是自定义按钮或任何其他窗口,而无需绘制整个标题栏。

在此先感谢..

回答

2

毫无疑问,你可以做到这一点,但它几乎肯定是一个非常糟糕的主意办所以。如果UI可预测且一致,则UI运行良好。你将如何处理不同的操作系统版本,这些操作系统的主题/未加标点,未来版本可能与他们绘制非客户区域的方式有很大不同。自己做事情的程序通常很烦人,比如iTunes,Safari,QuickTime for Windows,这些程序试图让你相信你在Mac上运行,或者使用它的bizarro菜单的Firefox 4。我的建议是让系统根据自然意图绘制非客户区域,并将您的用户界面置于客户区域。

+0

换句话说,你可以添加一个工具栏到你的对话框,它有你想要的所有控件,而不是搞乱标题栏。 – AJG85 2011-03-30 18:27:03

+0

我理解这个答案的观点,但请看看Office 2016和Chrome,它们符合操作系统的外观和感觉,但使用不同的工具栏或着色它的方式不同,它看起来不像操作系统 – MyDeveloperDay 2017-03-16 08:10:02

+0

右直到下一个版本的操作系统使用完全不同的主题。像选项卡式浏览器的东西别无选择,只能去定制,因为系统不提供内置UI来完成这项工作。 – 2017-03-16 08:15:11