MFC调用窗口失败,很崩溃的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC调用窗口失败,很崩溃的问题相关的知识,希望对你有一定的参考价值。

MFC程序中名字为CButtonST_Demo程序,在调用到窗口的时候显示失败,很崩溃,调试的时候显示停在了class CCButton_STDemoApp下的
CCButton_STDemoDlg dlg;
m_pMainWnd = &dlg;
dlg.DoModal();

停在了dlg.DoModal();,所以应该是创建窗口的时候失败了,但是我窗口初始化的时候里面写的是
BOOL CCButton_STDemoDlg::OnInitDialog()


CDialog::OnInitDialog();
short shBtnColor = 30;
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
m_btnClose.SetIcon(IDI_NO3, (int)BTNST_AUTO_GRAY);
m_btnClose.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_btnClose.SetTooltipText(_T("Close the application"));

m_tabMyTabCtrl.InsertItem(0, _T("Basic features"));
m_tabMyTabCtrl.InsertItem(1, _T("Advanced features"));
m_tabMyTabCtrl.InsertItem(2, _T("Transparent effect"));
m_tabMyTabCtrl.InsertItem(3, _T("CShadeButtonST"));
m_tabMyTabCtrl.InsertItem(4, _T("About"));
m_tabMyTabCtrl.Init();
// TODO: Add extra initialization here

m_btnClose.SetIcon(IDI_NO3,(int)BTNST_AUTO_GRAY);
m_btnClose.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor);
m_btnClose.SetTooltipText(_T("Close the application"));

return TRUE; // return TRUE unless you set the focus to a control


有问题吗,我怎么看怎么没有问题啊,为什么会失败,望高手指点迷津..多谢..

你删控件了 参考技术A 不清楚,你是不是光有个dlg对像,还得需要dlg.create(..)根据对话框模板等生成一个窗口并将这个dlg对像和windows里面的dlg对话框联系起来,这样你以后可以通过对那个dlg对像进行操作而控制显示出来的对话框的动作

以上是关于MFC调用窗口失败,很崩溃的问题的主要内容,如果未能解决你的问题,请参考以下文章

MFC CDialog::Create 失败

混合 mfc 对话框和 mdi 项目的调试构建崩溃

在自定义控件中创建子按钮窗口后崩溃

如何在 mfc 的 OnCreate 方法中停止创建窗口

MFC如何知道光标在那个控件上 用哪个函数?谢谢

CView::OnFilePrint 崩溃 MFC 应用程序