gpt4 book ai didi

c++ - 将对话框控件移动到选项卡中?

转载 作者:可可西里 更新时间:2023-11-01 14:23:34 26 4
gpt4 key购买 nike

我有一个包含多个控件的对话框。接下来,我添加了一个非常笨重的第 3 方网格控件。看起来不错,但屏幕空间不够。一个理想的选择是拥有 2 个选项卡,一个带有现有控件,另一个用于容纳网格。

看起来这种“选项卡”方法需要完全重写代码。有没有更好的方法来做到这一点?当您想将 GUI 控件移动到您知道的选项卡中时,是否有任何具体问题?

最佳答案

如果您要使用选项卡式对话框,请选中此 http://hallofshame.gp.co.at/index.php?file=tabs.htm&mode=original避免最琐碎的陷阱:

  • 您应该避免将对话框控件(例如确定和取消)按钮放在选项卡上,因为它们适用于整个对话框而不是选定的选项卡

  • 在对话框中使用选项卡被认为是一个坏主意,因为用户在单击“确定”时无法看到她的所有输入。例如,用户更改了 tab1 上的某些内容,单击 tab2 并单击 OK - 现在用户的印象是她没有更改任何内容(在 tab2 上),但按下 OK 仍然应用他的更改。当然,有时选项卡是不可避免的,但如果您可以避免在模态对话框中使用它们,请避免使用。一个不好的例子是 http://hallofshame.gp.co.at/find95.htm在多个视觉上不相关的选项卡上输入所有搜索参数。

  • 选项卡隐喻用于多个文档,而不是用于多个输入。 https://en.wikipedia.org/wiki/Tab_(GUI)

我不想在这里使用标签。你可以让对话框变大,你可以让网格变小,你可以使用布局来让用户把整个对话框变大,从网格中看到更多,你可以有拆分器让用户自定义 GUI。

(我多次发现使用 GUI 设计器(例如 winforms 设计器)是一个坏主意。最初对布局控件有很大帮助。但是从其他角度来看它确实是一个障碍,例如隔离代码(和将其放入另一个选项卡),并继承和扩展 gui 片段。简而言之,您将放弃 OOP 的所有灵 active 和强大功能,而只是支持以更快的方式将小部件放入您的表单。

如果您在代码中有现有的表单,您可以从中创建一个类,并为网格内容创建另一个类。然后重构您的表单以拥有一个标签表,并将您的第一个类的实例放在第一个标签上,在第二张表上放置您的网格内容的实例。

从代码编写 GUI 不一定很难,只要您可以使用一些 OOP 隐藏实际 GUI 框架的复杂性。如果您想查看示例,请告诉我。)

关于c++ - 将对话框控件移动到选项卡中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35400779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com