我正在扩展CTabCtrl,但不能插入任何选项卡

时间:2016-04-09 07:46:15

标签: c++ mfc ctabctrl

我正在扩展CTabCtrl但是当我在扩展对象上调用InsertItem时,无法插入任何选项卡。谁知道为什么会这样。我做错了什么?

class MyTabControl : public CTabCtrl
{
public:
    MyListControl       m_listCtrl;
    void                switchInterface(IDataProvider *provider);
public:
    MyTabControl();
    ~MyTabControl();
    afx_msg void OnGetDispInfo(NMHDR *pNMHDR, LRESULT *pResult);
protected:
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    DECLARE_MESSAGE_MAP()
};

如果我从消息映射中删除ON_WM_CREATE()宏,那么我可以添加选项卡。 OnCreate函数的实现包含m_listCtrl.Create()函数调用,如果成功创建列表控件则返回0。这有什么问题?

1 个答案:

答案 0 :(得分:0)

CTabCtrl课程非常陈旧且功能不佳;当用户自己从一个选项卡切换到另一个选项卡时,您将必须执行控件的所有显示/隐藏逻辑。我建议你改为CMFCTabCtrl