我的问题:一个基于Dialog的MFC程序,我自己又添加了一个Dialog,设计为当点击一个button时调用domodal来显示我自己添加的Dialog,
Cmydlg dlg;
dlg.DoModal();
通过调试可以确定DoModal已被调用,可对话框就是显示不出来,是何原因?你的答复:确认Cmydlg对话框中自定义控件已初始化,一般都是这个原因,如将richedit初始化 我加了一个custom control(画着人头的那个),就出现了上述情况。

解决方案 »

  1.   

    因为自定义控制需要被指定类名,以使对话框在显示时可以被显示出来。因此你需要指定这个控制的类名,可以是系统中已被注册的,也可以是你自己在程序中用RegisterClass注册的,反正得有个类名
    在自定义控制属性中的class中填写你要创建的自控制的类名
      

  2.   

    你可以试验一下,在class中填入BUTTON,看显示的是什么。这就是说,系统中已存在的窗口类,因窗口类中存在着创建一个窗口的详细信息,Dialog会按类名创建。
    如果这个自定义控制只是偶然加上去的,删除它就行了
      

  3.   

    我已经解决了,是自定义控件的属性框里Class name一栏写的不对,以前没用过,所以闹出这么个笑话。耽误各位宝贵的时间,小生赔礼了。