-2

我想知道是否可以通过更改组合框中的选项来添加文本框或标签。例如,我在 Combobox 中有 2 个选项。如果我选择 #1,它必须显示 2 个文本框,但如果我选择 #2,它必须显示 3 个文本框。我可以在 Visual Studio C++ 中做这样的事情吗?

4

2 回答 2

1

这可以通过两种方式完成:

  1. 使用CreateWindowExDestroyWindow动态创建和销毁编辑控件。
  2. 使用 3 个编辑控件静态创建您的 GUI,并根据使用ShowWindow的选择设置控件的可见性。
于 2016-05-15T21:28:52.453 回答
0
  • 拥有尽可能多的文本框。但是把它们藏起来
  • 句柄CBN_SELCHANGEON_CBN_SEL_CHANGE在 MFC 中)。
  • 在处理程序中,根据选择显示(或隐藏)文本框。

从 UI 的角度来看,显示/隐藏文本框并不好。您最好适当地启用/禁用它们。您可以在禁用它们时放置替代文本,并在必须启用它们时恢复原始更改。

在运行时创建文本框,然后删除它们不是一个好方法。您将需要跟踪 Win32 UI句柄和/或 MFC 对象。这种方法还需要更多的 UI 资源创建/删除、父子关系处理等。人。

于 2016-05-16T07:44:20.490 回答