在我的 CDialogEx 类中,我试图插入一个 CMFCRibbonBar,但我得到一个 NULL 指针异常(我的 try/catch 块没有捕获到):
BOOL CmfcRibbonTestDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
try
{
m_wndRibbonBar.Create(this);
m_wndRibbonBar.LoadFromResource(IDR_RIBBON1);
}
catch( std::exception& exc )
{
this->MessageBoxA(exc.what(), "Couldn't create ribbon");
}
return TRUE; // return TRUE unless you set the focus to a control
}
确切的异常说:“mfcRibbonTest.exe 中 0x00d191db 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000”并在 afxribbonbar.cpp:964 中中断。
我进行了多次搜索以查看 CMFCRibbonBar 是否可以放置在对话框中,但我的搜索没有结果。