基于对话框的MFC程序->转到对话框->拖入TreeControl控件->右键树控件添加类(我以为这样的类是继承自CTreeCtrl的)->对应类的头文件查看
过程如下:
跟我的预期并不相符,基类中没有我想要的CTreeCtrl类,后面我发现在对话框的任意位置右键添加类都是这样的情况,所以我下结论:在对话框中右键添加类其基类都是和对话框相关的类(如CDialogEx之类).
后面经过请教,找到了正确添加MFC类的方法:右键项目名->类向导->添加类右边的下拉框选择MFC类->此时查看基类就可以看到所有的MFC类,添加的新类也就继承自想要继承的类.
归根结底还是对MFC和VS的用法不熟悉.
这个报错,说明LoadFrame失败,窗口未能成功创建。
报错信息发生在:
BOOL CWnd::ShowWindow(int nCmdShow){
ASSERT(::IsWindow(m_hWnd))/////////////
至于具体原因就不好说了,因为很多可能造成框架窗口类创建失败,你可以根据返值和单步调试获取具体信息。
不过,你这个程序很奇怪啊,自定义MFC工程么?如果不是为了按照书上学习MFC的深入了解,没必要这样写代码,创建一个MFC工程更省事儿。
从“插入”(Insert)菜单中选择“新建类”(New Class),在d出的对话框中选择基类(Base class),在Name中输入新类的名字(一般都以C开头)即可。如果想要建立一个没有基类的自定义类,则在New Class对话框中把Class type设置为generic,再输入类名即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)