Tabs 使用选项卡控件重新创建MFC对话框

Tabs 使用选项卡控件重新创建MFC对话框,tabs,mfc,Tabs,Mfc,我有一个MFC应用程序,但现在我需要使用tab控件添加新功能(所以我的主程序对话框变成“tab 1”)。但我看到了一个问题——在使用选项卡时,必须创建新的应用程序,然后将选项卡添加为对话框。这意味着我需要重写我在项目中使用的按钮和所有变量的所有事件处理程序。有没有一种方法可以迁移到tabcontrol应用程序而不必再次执行大量工作?我认为您不需要重写事件处理程序。我使用了这个类,所有的事件处理程序仍然在原来的表单中 它非常实用,因为与旧的CTabCtrl不同,在切换选项卡时不需要编写代码来隐藏/

我有一个MFC应用程序,但现在我需要使用tab控件添加新功能(所以我的主程序对话框变成“tab 1”)。但我看到了一个问题——在使用选项卡时,必须创建新的应用程序,然后将选项卡添加为对话框。这意味着我需要重写我在项目中使用的按钮和所有变量的所有事件处理程序。有没有一种方法可以迁移到tabcontrol应用程序而不必再次执行大量工作?

我认为您不需要重写事件处理程序。我使用了这个类,所有的事件处理程序仍然在原来的表单中


它非常实用,因为与旧的CTabCtrl不同,在切换选项卡时不需要编写代码来隐藏/显示元素。在执行AddTab()时,只需传递一个CWnd*类型的变量,该变量可以是。。。您的表单。

是否必须使用选项卡控件?您可以使用CPropertySheet,它将包含CPropertyPage,因此每个CPropertyPage都将是您的对话框,您甚至可以使用页面上对话框的模板,处理程序也不需要更改,但您必须用CPropertyPage替换CDialog类看起来很好,但不是我想要的。这是一个有用的注释,但我仍然必须使用选项卡。您可以使用相同的对话框,但可以将其创建为子对话框,然后将其放入
CPropertyPage
中。或者将子对话框放在主对话框中,并使用选项卡控件显示/隐藏它。我想这基本上就是Robson所说的,重点是你不必从头开始。我想CPropertyPage并不是我真正需要的东西,因为我需要为对话框上的所有选项卡提供一些通用元素和处理程序。谢谢你的回答,但我已经重新构建了我的应用程序。:)不客气。如果使用旧的CTabCtrl,那么将其迁移到CMFCTabCtrl是值得的。