2013-09-27 32 views
0

我在基于对话框的应用程序中使用CMFCTabCtrl。 我需要将CPropertyPages添加到每个选项卡或将控件添加到每个选项卡页面。 我从微软样品知道我们可以动态地添加控制如下将属性页附加到CMFCTabCtrl

m_wnd1.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTabConfiguration, 1); 
m_wnd1.SetFont (&afxGlobalData.fontRegular); 
m_wnd1.SetWindowText (_T("Edit 1")); 

m_wnd2.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTabConfiguration, 2); 
m_wnd2.SetFont (&afxGlobalData.fontRegular); 
m_wnd2.SetWindowText (_T("Edit 2")); 


m_wndTabConfiguration.AddTab (&m_wnd1, _T("One"), 0, FALSE); 
m_wndTabConfiguration.AddTab (&m_wnd2, _T("Two"), 1, FALSE); 

这是工作的罚款。 但我想静态设计控件布局并显示在标签页中。

任何帮助,热忱欢迎...

回答

0

如果我明白你的问题正确,要对在CMFCTabCtrl不同的标签添加控件?如果是这样,我相信你可以通过以下方法静态创建控件:

(1)使用visual studio 2010附带的可视化编辑器,可视化编辑器将修改项目的.rc文件(可以在资源过滤)。

(2)您可以通过添加对话框内新的控制项直接编辑项目的.rc文件。

无论您选择哪种方法,您都必须将这些控件放在选项卡控件顶部的正确位置!然后映射与用户的选项卡更改有关的窗口消息(请查看MSDN以获取有关消息ID等的适当信息),并将其映射到对话框类中的函数(让OnTabChange指定),然后确定哪些控件可用于隐藏和显示哪个选项卡(control.ShowWindow(SW_HIDE)或control.ShowWindow(SW_SHOW))。映射完成类似于如何捕获按钮单击事件等。

+0

感谢您的回答,但它不会解决问题,因为我需要不同的页面,以及如何将这些页面添加到控件中是问题所在。 – Krishan