Re: [問題] 視窗程式處理 WM_APPCOMMAND 訊息時的問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章