VC/MFC中的自訂談出菜單

來源:互聯網
上載者:User
 

VC MFC 的介面中,比較常用的是快顯功能表。

但是,在開發的時候,會遇到一些很棘手的問題,

下面,是我遇到的問題,以及解決方案:

1 快顯功能表無法彈出,顯示一個很小的東西。

    快顯功能表,彈出的,是子功能表 。 比如說,擬建立了一個菜單,叫做:編輯,他下面有幾項,分別是:複製,粘貼,清除... 那麼,如果,你的快顯功能表想顯示這些子內容,那麼,你應該,用:

  LoadMenu(ID);和GetSubMenu(n);

來載入相應的內容。

(你的菜單資源名叫做:IDR_MENU , 他有兩個功能表項目 (檔案,編輯),快顯功能表,只想顯示 編輯 的子功能表內容。那麼你的實現應該是這樣的:LoadMenu(IDR_MENU); GetSubMenu(1);)

2 快顯功能表訊息無法截獲(無法處理快顯功能表的點擊訊息):

  如果你上網去搜尋,別人一定會告訴你:在classwizard 添加 ON_COMMAND 訊息處理。 但是,你會發現,住菜單沒有問題,但是,快顯功能表,還是沒有響應。 

  這種情況的出現,是因為,快顯功能表的彈出事件,加錯了位置:應該放在 OnContextMenu(CWnd* pWnd, CPoint point)中。

  當在這裡面添加好了函數實現,那麼,你就會發現,點擊事件可以用了。

其實,就是這麼簡單,不過,耗費了我大概一周的時間,才找出結論,得不償失阿。

好在,這種咚咚,只要一次,就永不會忘記,Happying .

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.