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 に答える