2008-10-02 13 views
0

我正在編寫一個例程,爲我的Windows Mobile 5應用程序(C++/MFC)中的任何菜單項提供用戶可定義的鍵盤快捷鍵。爲此,我得到所有可用的菜單命令ID,並使用CWnd :: PostMessage(WM_COMMAND,MyMenuID)將其發佈到應用程序。我使用這種技術可以很好地影響線程間通信的其他地方,但不能使用菜單命令ID。任何想法,爲什麼這是行不通的。該應用程序是文檔視圖,並且我嘗試發佈到CMainFrame和CView派生的窗口。我可以寫一篇神可怕的開關語句,但我覺得張貼消息應該工作。在Windows Mobile中使用PostMessage模擬一個菜單選擇

編輯:好的,我已經嘗試了很多東西,包括this post的建議,都無濟於事。現在是一個大丑陋的開關語句,如果我找到更好的東西,我會再次更新。

回答

1

我能想到的唯一原因是消息會進入錯誤的窗口。不要忘記,並非所有的菜單命令總是由特定的窗口處理。一些類似Cut的菜單命令通常由視圖窗口處理。其他的由框架窗口處理,有些可能由應用程序對象處理。

希望這會有所幫助。

相關問題