ATL创建复合控件时,TABCONTROL控件的选项页要如何添加?因为ATL里貌似无法把控件和变量关联,GetDlgItem返回的也是一个cwindow指针。所以不知道要怎么办了,在线等大牛。

解决方案 »

  1.   

    你可以使用WTL的CTabCtrl类。声明一个CTabCtrl变量,直接Attach GetDlgItem返回的窗口指针就可以了。
      

  2.   

    如果使用ATL的话,有没有什么解决的办法?能不能建立一个基于SYStabcontrol32的控件?那个建立了以后要怎么用?貌似只生成了一个容器窗口的变量。我要如何建立选项页?
      

  3.   

    WTL只是在ATL的基础上做的扩充,两个结合的非常好的。即便你不用WTL,你已经有了容器窗口了,你可以通过用这个窗口创建子窗口的方式来创建SysTabControl32控件的啊。
      

  4.   

    LRESULT CCTab2::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    m_tab.Attach(GetDlgItem(IDC_TAB1));
    m_tab.InsertItem(0, "22企业版4");
    m_tab.InsertItem(0, "22企业版3");
    return TRUE;
    }