0
我有我的MFC應用程序一個奇怪的問題,我與Visual Studio 2015年MFC應用程序不Visual Studio的
創建如果我運行通過本地Windows調試一切在Visual Studio中的應用程序工作按預期之外的顯示工具欄。
如果我在Visual Studio之外啓動生成的.exe文件,工具欄和狀態欄不會顯示在大型機中。我無法通過查看菜單激活它們。所以當我使用將文本寫入狀態欄的菜單點時,我的應用程序崩潰。
有人現在最新最新問題?
也許我不知道我應該在問題中顯示哪些代碼,請隨時在註釋中詢問特定的代碼部分。我將編輯問題並提供代碼。
這是創建工具欄和狀態欄的代碼。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
//TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_wndToolBar.LoadTCToolBar(16, IDB_TOOLICONS, IDB_TOOLICONS_HOT, IDB_TOOLICONS_DISABLED, RGB(255, 0, 255));
if (!m_wndStatusBar.Create(this))
{
//TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
return 0;
}
「我不知道我應該在問題中顯示哪些代碼」可複製錯誤並導致完整的可運行程序的最小可能代碼集。這通常被稱爲[mcve]或MCVE。 MCVE的美妙之處在於,一旦你創建了一個,這個bug在它可以隱藏的空間很小,並且經常允許你刪除或自己回答這個問題,因爲MCVE可以清楚地解決問題的原因。 – user4581301
您可以顯示代碼,在主框架中創建狀態和工具欄的位置? –
我已經創建了一個像問題一樣的新MFC程序。在新創建的MFC程序中,所描述的錯誤沒有發生。 – Kevin