用户界面:切换 MDI 框架的置顶状态的最佳方式?

发布于 2024-07-13 20:14:45 字数 728 浏览 8 评论 0原文

我维护一个 MFC (VC6) MDI 应用程序,该应用程序使用框架窗口作为文档的视图。 一次只有一个文档,但有多个 MDI 框架,每个框架都有不同的文档数据视图。

最近出现了一个请求,要求能够将其中一个框架窗口保持在其他框架窗口之上,同时能够与背景窗口交互。

  • 一个想法是在框架的标题栏中添加一个“固定按钮”。 在我的研究过程中,我发现每个实现都使用位图而不是 CButton 对象。 一旦使用默认灰色以外的窗口颜色,情况就会变得丑陋,更不用说 UI 主题了。

  • 框架窗口菜单中的选项(左键单击标题栏中的窗口图标时出现的选项)是可能的,但我正在寻找对用户来说更明显的东西。

还有哪些其他可能性来设置此框架窗口的置顶状态?

更新

我决定采用 解决方案Uli 建议,因为它可以很好地适应 XP 主题。 不幸的是,这直接引出了我的下一个问题:如何我真的可以让框架窗口保持在顶部吗?

I maintain an MFC (VC6) MDI application that uses Frame Windows as views for a document. There is only one document at a time but there are several MDI-Frames each with a different view of the document data.

Recently a request came up to be able to keep one of those frame windows on top of the others while being able to interact with the background windows.

  • One idea was to add a "pin-button" to the frame's title bar. During my research I found out that every implementation uses bitmaps instead of for example CButton objects. This starts to get ugly as soon as one uses window colors other than the default-grey let alone UI-Themes.

  • An option in the menu of the frame window (the thing that appears when left-clicking the window icon in the title bar) would be possible but I'm searching for something that is more obvious to the user.

What other possibilities to set this frame window's on-top state are there?

Update

I have decided to go for the solution suggested by Uli as that one works fine with the XP themes.
Unfortunately this directly lead me to my next question: How can I actually make the frame window stay on top?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南笙 2024-07-20 20:14:45

也许这个有帮助。

乌里

Maybe this or this helps.

Uli

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文