我正在扩展 CTabCtrl 但无法插入任何选项卡
Posted
技术标签:
【中文标题】我正在扩展 CTabCtrl 但无法插入任何选项卡【英文标题】:I am extending CTabCtrl but but cant insert any tabs 【发布时间】:2016-04-09 07:46:14 【问题描述】:我正在扩展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】:CTabCtrl
类非常陈旧,功能很差;当用户通过您自己的手从一个选项卡切换到另一个选项卡时,您将不得不执行控件的所有显示/隐藏逻辑。我建议您改为从CMFCTabCtrl
扩展。
【讨论】:
以上是关于我正在扩展 CTabCtrl 但无法插入任何选项卡的主要内容,如果未能解决你的问题,请参考以下文章