读书人

VS2010用Tab Control如何一直是白色

发布时间: 2012-04-21 14:34:44 作者: rapoo

VS2010用Tab Control怎么一直是白色,不能出现选项页啊

C/C++ code
//Login.hpublic:    // TAB主窗口,在其中添加子TAB:用户登录和管理员登录    CTabCtrl m_MainTab;    virtual BOOL OnInitDialog();        CLogAdminTab AdminPage;    CLogCustTab CustPage;    afx_msg void OnBnClickedLogoutbtn();    afx_msg void OnTcnSelchangeLogmaintab(NMHDR *pNMHDR, LRESULT *pResult);};


C/C++ code
//Login.cppIMPLEMENT_DYNAMIC(CLogin, CDialogEx)……void CLogin::DoDataExchange(CDataExchange* pDX){    CDialogEx::DoDataExchange(pDX);    DDX_Control(pDX, IDC_LogMainTab, m_MainTab);}BEGIN_MESSAGE_MAP(CLogin, CDialogEx)    ON_BN_CLICKED(IDC_LogOutBtn, &CLogin::OnBnClickedLogoutbtn)    ON_NOTIFY(TCN_SELCHANGE, IDC_LogMainTab, &CLogin::OnTcnSelchangeLogmaintab)END_MESSAGE_MAP()// CLogin 消息处理程序BOOL CLogin::OnInitDialog(){    CDialog::OnInitDialog();    // TODO:  在此添加额外的初始化    m_MainTab.InsertItem(0, _T("普通用户"));    m_MainTab.InsertItem(1, _T("管理员"));    CustPage.Create(IDD_LogCustTab, &m_MainTab);    AdminPage.Create(IDD_LogAdminTab, &m_MainTab);    //设定在Tab内显示的范围    CRect rc;    m_MainTab.GetClientRect(&rc);    rc.top += 20;    //rc.bottom -= 60;    //rc.left += 10;    //rc.right -= 28;    CustPage.MoveWindow(&rc);    AdminPage.MoveWindow(&rc);    //把对话框对象指针保存起来    CustPage.ShowWindow(true);    AdminPage.ShowWindow(false);    m_MainTab.SetCurSel(0);    return TRUE;  // return TRUE unless you set the focus to a control    // 异常: OCX 属性页应返回 FALSE}void CLogin::OnTcnSelchangeLogmaintab(NMHDR *pNMHDR, LRESULT *pResult){    // TODO: 在此添加控件通知处理程序代码     int CurSel = m_MainTab.GetCurSel();     switch(CurSel)     {         case 0:            CustPage.ShowWindow(true);            AdminPage.ShowWindow(false);            break;         case 1:            CustPage.ShowWindow(false);            AdminPage.ShowWindow(true);            break;         default: ;     }    *pResult = 0;}void CLogin::OnBnClickedLogoutbtn(){    // TODO: 在此添加控件通知处理程序代码    CDialog::OnCancel();}

这是按照http://blog.csdn.net/farcall/archive/2011/04/03/6299567.aspx
http://blog.csdn.net/a32132100/archive/2011/05/08/6402778.aspx
这两个教程写的,除了命名改了,其他几乎没做改动,
可是在运行生成后,只出现白色的一块,没有选项卡,更别说对话框里的东西的
这是怎么回事啊?

[解决办法]
菜单是独立的资源
你在不同对话框中加载相同的资源菜单即可
不过不同对话框的消息映射还得分别设置
只是都映射到同样的函数上

读书人网 >VC/MFC

热点推荐