如何将控件添加到 Tab 控件

Posted

技术标签:

【中文标题】如何将控件添加到 Tab 控件【英文标题】:How to add controls to a Tab control 【发布时间】:2011-01-15 20:32:15 【问题描述】:

我在我的 GUI 应用程序中使用选项卡控件,我知道如何从中添加和删除选项卡(TCM_INSERTITEM 等),但我不知道如何将其他控件添加到按钮等选项卡。如何您将控件添加到选项卡? (注意我不是 PropertySheet 控件,而是 Tab 控件。)

【问题讨论】:

【参考方案1】:

如果您正在谈论将控件添加到选项卡控件的主体:您没有。

您所做的是为每个选项卡创建一个子样式的对话框控件,该控件将包含该选项卡的控件。选择每个选项卡后,您将处理来自选项卡控件的通知以创建和显示适当的页面控件。页面对话框通常是选项卡控件的父级,而不是选项卡控件本身。

【讨论】:

【参考方案2】:

虽然您当然可以将选项卡控件指定为另一个控件的父级,但这对您没有帮助。选项卡控件将不知道其(新添加的)子控件,因此它无法自行安排以容纳它们。

所以简短的回答是:你不能。

长答案是你有两个选择:

1) 构建您自己的可以支持儿童的选项卡控件。

2) 将其他控件与选项卡控件一起排列,使它们组合在一起,但不要重叠。

【讨论】:

如果一个选项卡不能有子项,当它被选中时它会显示并在另一个选项卡被选中时隐藏,那么拥有它们有什么意义呢?有什么目的? @Sergei:哦,在阅读了您的评论和克里斯的回答之后,我现在看到了您的困惑。您不想将子项添加到选项卡控件,而是要将子项添加到选项卡页。克里斯有正确的答案。 @Sergei:在这里阅读“手册”:msdn.microsoft.com/en-us/library/bb760551.aspx

以上是关于如何将控件添加到 Tab 控件的主要内容,如果未能解决你的问题,请参考以下文章

VC++中如何用tab选中单选框控件?

VC TAB控件子对话框如何使用主对话框的成员函数.

如何在 FXML 中的 Tab 控件中添加图标?

CMFCTabCtrl 控件怎么更改已添加的TAB的标题标签

MFC如何调整窗体上控件的顺序?

MFC中TAB控件使用问题