Re: [問題] 視窗程式處理 WM_APPCOMMAND 訊息時的問題

看板C_and_CPP (C/C++)作者 (星空下的鮪魚)時間16年前 (2009/08/06 07:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《ytli1204 (YT)》之銘言: : 現在有一個 MFC 寫的視窗程式 : 裡面有處理 WM_APPCOMMAND 這種訊息 : 當收到這個訊息時會呼叫一段處理函式 A() : A 大概是長這樣 : : A() : { : . : . : OnSetCursor(0, 0, WM_MOUSEMOVE); (自己覆寫過的) : . : . : } : 問題發生在呼叫 OnSetCursor 的時候 : OnSetCursor 裡面的最後一行會呼叫預設的 OnSetCursor : 呼叫預設的 OnSetCursor 時卻發生 windows 內部自己又 : 呼叫了 SendMessage 對象是自己 : 參數跟一開始的 WM_APPCOMMAND 一模一樣 : 導致程式產生無窮迴圈 : 請問有人有遇過類似的問題嗎? OnSetCursor() http://msdn.microsoft.com/en-us/library/7ykcbyxt(VS.80).aspx 他的回傳值是BOOL,然後, 如果自己己經處理掉這訊息,要回傳TRUE, 如果是自己不想處理的訊息,要使用Default的行為, 再交給預設的OnSetCursor,如CDialog::OnSetCursor()或CWnd::OnSetCursor()之類的。 我猜會有無限迴圈,應該是一直回傳FALSE,所以按照文件的說明, 就繼續continue,直到這個msg被正確的處理掉吧。 -- 上士聞道,勤而行之 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.247.120
文章代碼(AID): #1AUXLyZG (C_and_CPP)
文章代碼(AID): #1AUXLyZG (C_and_CPP)