On Sun, 11 May 2003 20:20:55 -0600, you wrote:
It looks like Windows has an old BUG in Edit control when handling WM_GetDlgCode message. It always returns 0x8D no mater what the style and and properties of a window is. Interesting enough, Delphi relays on this behavior.
Vitaliy Margolen
changelog:
- controls/edit.c fix problem with capturing [return] keys in multi-line edits
Vitaliy,
This is not right. A edit-listboxcombo, used in Newsbin to enter filter expressions, gives this result in spy++:
| <00706> 0002022C P WM_KEYDOWN nVirtKey:VK_RETURN cRepeat:1 ScanCode:1C fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:0000000D lParam:001C0001 time:14:25:17.823] | <00707> 0002022C S WM_GETDLGCODE wParam:0000000D lParam:0012FD88 | <00708> 00020230 S .CB_GETDROPPEDSTATE wParam:00000000 lParam:00000000 | <00709> 00020230 R .CB_GETDROPPEDSTATE fDropped:False [lResult:00000000] | <00710> 0002022C R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_HASSETSEL | DLGC_WANTCHARS [lResult:00000089] | <00711> 0002022C S WM_GETDLGCODE wParam:00000000 lParam:00000000 | <00712> 0002022C R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_HASSETSEL | DLGC_WANTCHARS [lResult:00000089]
Needless to say this stopped working properly when updating with CVS:((
It is not the CB_GETDROPPEDMESSAGE but the return value that matters here.
Attached I revert your patch for this special case. I hope that it still solves your problem and that you got the other cases right.
Changelog: controls/ : edit.c Revert the previous patch for capturing keys in an edit-listbox combo.
Rein.