2013-07-27 76 views
1

我確信這很簡單,但我找不到任何文檔。在用於C++應用程序的MFC嚮導中,如果CButton是可單擊的,則命令欄選項會受到影響。如果我選擇'使用菜單欄和工具欄',然後將以下代碼粘貼到oncreate中,則該按鈕對用戶點擊作出反應。但是,如果我選擇「使用經典菜單」,該按鈕不再響應。在MFC嚮導中使用經典菜單導致CButton不可點擊

CButton* btn = new CButton(); 
btn->Create(L"HI", WS_VISIBLE, CRect(150,150,200,200), this, 1111); 

我想用經典的菜單,因爲我不希望/需要的菜單上點右鍵選項,也沒有工具欄做。經典的菜單風格就足夠了。有沒有什麼我做錯了或可以改變使用經典的菜單,而不會明顯失去控制功能?

+0

你從哪個類創建'btn'?你在哪裏處理按鈕點擊消息? –

+0

上傳你的代碼不工作 - 我沒有看到任何不使用命令欄的原因會影響應用程序主畫布上按鈕的工作方式。這是一個帶有CFormView派生視圖的SDI應用程序,並且您在調用您在該視圖的初始化過程中發佈的代碼? – Roel

+0

SDI應用程序導出CFrameWnd。我已經結束了使用命令欄選項,並刪除工具欄和停靠選項到菜單。我將來可能會重新考慮這一點,但現在我已經解決了這個問題。 – giraffee

回答

0

您必須做錯事,因爲按鈕與您使用的菜單類型無關。是否有可能您的1111按鈕ID是其他某個ID的副本?

+0

我不這麼認爲......除了經典vs菜單和工具欄之外,我甚至在嚮導中使用完全相同的設置創建了準系統項目。嘗試將ID更改爲其他幾個,結果相同。 – giraffee