我正在寫一個Win32控件/對話框/窗口的相當簡單的包裝。Win32 ListBox WNDPROC從未調用
我遇到的問題是ListBox和ComboBox的行爲似乎有點不同。
在我繼承的基礎Widget類中,我重寫了控件的現有WNDPROC,然後在新的WNDPROC中處理消息,主要是提升它們以提升:: signal事件。
問題是,雖然ComboBox的WndProc收到CBN_SELCHANGE - 如預期的那樣 - ListBox的WndProc沒有收到LBN_SELCHANGE命令。
我意識到擁有控件的對話框/窗口很可能會收到這個,但我已經把這個兔子洞放下了,它感覺就像一個非常整齊的解決方案。需要我退出並讓控件的所有者處理WM_COMMAND消息(並從那裏將它提升爲控件本身的事件)。
這是一個學習練習,所以請不要提醒我關於MFC或評論這樣做的價值。
你打開了LBS_NOTIFY風格嗎?您不能忽略WM_COMMAND消息發送給父級。 –
是的,用LBS_NOTIFY通知擁有對話框ListBox WM_COMMANDs。但是,ComboBox自己的WNDPROC也會收到這些通知,所以我一直在想ListBox的WNDPROC會得到類似的通知,但顯然不是。 –