0

我正在扩展,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。这有什么问题?

4

1 回答 1

0

这个CTabCtrl类非常陈旧,功能很差;当用户通过您自己的手从一个选项卡切换到另一个选项卡时,您将不得不执行控件的所有显示/隐藏逻辑。我建议您改为从扩展CMFCTabCtrl

于 2016-04-18T17:44:56.260 回答