hur.cn - 华软网

 热门搜索

Debug Assertion Failed!急!!!!各位大侠帮帮忙啊!!!

  作者:未知    来源:网络    更新时间:2011/5/16
我在对话框资源上使用了3个Custom Control控件,关联了三个类,编译程序后就出错了,删了custom control控件程序又恢复正常。
具体的情况是:
   我在对话框上放置了个tab control控件,custom control放置在tab控件的一个子页面上,关联的类是引用的别人的类,注册窗口类函数在类自己的构造函数中。
   我调试了下,发现编译出错的点在应用程序初始化函数InitInstance()中,这个函数运行到INT_PTR nResponse = dlg.DoModal();便出错了。
本人菜鸟,望各位大侠指点迷津!!!!

---华软 网友回答---
Debug下看看dlg.DoModal();这个dlg对话框类的初始化函数的地方写了些什么,比如OnInitDialog函数中写了什么
---华软网友回复---
进对话框的OnInitDialog中看看,估计很大可能是控件初始化失败了.
---华软网友回复---
难道你的OnInitDialog里面没有调用CDialog::OnInitDialg();
---华软网友回复---
1)首先检查下你使用的控件是否注册
2)看下你的XXXWinApp::InitInstance是否调用了AfxEnableControlContainer();
---华软网友回复---
自定义控件 需要关联的类 一定要正确
---华软网友回复---
引用 1 楼 visualeleven 的回复:
Debug下看看dlg.DoModal();这个dlg对话框类的初始化函数的地方写了些什么,比如OnInitDialog函数中写了什么

问题应该出在onInitDialog函数中对tab control控件的初始化函数InitTab()上
C++">void Ctest_11Dlg::InitTab()
{
m_tabmain.InsertItem(0,L"系统信息预览");
m_tabmain.InsertItem(1,L"基本数据");
m_tabmain.InsertItem(2,L"时间资源");
m_tabmain.InsertItem(3,L"空间资源");
m_tabmain.InsertItem(4,L"加载模块");

//设置默认的选项卡
m_tabmain.SetCurSel(0);

// 创建子窗口及放置子窗口代码
m_systemDlg.Create( IDD_DIALOG_SYSTEM, GetDlgItem( IDC_TAB_MAIN ) );
m_basicInfoDlg.Create( IDD_DIALOG_BasicDlg,GetDlgItem( IDC_TAB_MAIN ) );
m_timeDlg.Create(IDD_DIALOG_TIMERESOURCES, GetDlgItem( IDC_TAB_MAIN ) );
m_spaceDlg.Create(IDD_DIALOG_SPACERESOURCE, GetDlgItem( IDC_TAB_MAIN ) );
m_moduleDlg.Create( IDD_DIALOG_MODULE, GetDlgItem( IDC_TAB_MAIN ) );


//获得IDC_MAIN客户区大小
CRect rs;
m_tabmain.GetClientRect(&rs);

//调整对话框在父窗口中的位置
rs.top += 22;
rs.bottom -= 10;
rs.left += 1;
rs.right += 2;

//设置子对话框尺寸并移动到指定位置
m_systemDlg.MoveWindow(&rs);
m_basicInfoDlg.MoveWindow(&rs);
m_timeDlg.MoveWindow(&rs);
m_spaceDlg.MoveWindow(&rs);
m_moduleDlg.MoveWindow(&rs);

//分别设置隐藏和显示
m_systemDlg.ShowWindow( TRUE );
m_basicInfoDlg.ShowWindow( FALSE );
m_timeDlg.ShowWindow( FALSE );
m_spaceDlg.ShowWindow( FALSE );
m_moduleDlg.ShowWindow( FALSE );



}

在m_systemDlg对话框上加上custom control控件就出问题了。不懂啊~~~~
---华软网友回复---
引用 2 楼 oyljerry 的回复:
进对话框的OnInitDialog中看看,估计很大可能是控件初始化失败了.

应该是custom control控件初始化的问题吧,但不知道哪里出错了。
---华软网友回复---
引用 3 楼 lostying 的回复:
难道你的OnInitDialog里面没有调用CDialog::OnInitDialg();

有的啊!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。