使用CTabctrl::InsertItem 报Debug Assertion Failed
查找原因,原来是控件的资源ID和这个Tab控件没有关联起来。
用DDX_Control函数解决问题
void AFXAPI DDX_Control(
CDataExchange* pDX,
int nIDC,
CWnd& rControl
);
参数: pDX 指向CDataExchange对象的指针。框架提供了这个对象以建立数据交换的环境, 包括其方向。
nIDC 与控件属性相关的被子类化的控件的资源ID。
rControl 对对话框、表格视或控件视的成员变量的引用,将与该变量发生数据交换。
说明:
DDX_Control函数管理着在对话框、表格视或控件视中被子类化的控件与对话框、表格视或控件视的CWnd数据成员之间的数据交换。
总结:其实就是用于将nIDC与rControl相关联。在一个资源中,比如文本框,组合框等等。可以添加控件变量和数据变量,DDX_TEXT为关联数据控件,DDX_Control为关联控件变量。