TAB doesn't work for controls anymore

Rein Klazes rklazes at xs4all.nl
Sun May 18 13:46:11 CDT 2003


On Sun, 18 May 2003 11:54:36 -0600, you wrote:

> I am looking into it. It looks odd, but windows, at least Win2k, does return
> DLGC_HASSETSEL | DLGC_WANTCHARS | DLGC_WANTARROWS | DLGC_WANTMESSAGE
> always! 

Uhh, this is the output of spy++ under win2000, which corresponds to the
broken TAB response in Agent:


| <00201> 00030218 P WM_KEYDOWN nVirtKey:VK_TAB cRepeat:1 ScanCode:0F fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000009 lParam:000F0001 time:4:47:52.206]
| <00202> 00030218 S ..................WM_GETDLGCODE wParam:00000009 lParam:0012F434
| <00203> 00030218 R ..................WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_HASSETSEL | DLGC_WANTCHARS [lResult:00000089]

(00030218 is the hwnd of the editcontrol). In my previous email there
where two other examples where windows did not return the
DLGC_WANTMESSAGE flag. If I did not mention it then: that was with
Win2K. 

> But there is something more going on here. Windows checks for wParam,
> and if it's not null adds 0x4 to some window/class flag. If this flag is set,
> control does not react to [ENTER].
> 
> I'm trying to find out what this flag is and what wParam is, since it is
> "currently unused" according to MSDN.
> 
> Here is a part of code from windows:
> 
> if (wParam) wnd[0x62] |= 0x4;
> return DLGC_HASSETSEL | DLGC_WANTCHARS | DLGC_WANTARROWS | DLGC_WANTMESSAGE;

Nice for a parameter that is not supposed to be used ;-) 
Anyway I see that two of my cases have a non NULL wparam , but still
don't return DLGC_WANTMESSAGE.

Perhaps you can put a small example on the net that is giving you the
problems?

Rein. 
-- 
Rein Klazes
rklazes at xs4all.nl



More information about the wine-devel mailing list