1. Turning off Tab trapping
- Posted by Mike <vulcan at win.co.nz> May 21, 2001
- 387 views
Can someone please tell me how to stop variuos win32lib controls(pushbuttons etc..) from trapping the TAB key? The answer may require editing win32lib itself. Thanks. vulcan at win.co.nz
2. Re: Turning off Tab trapping
- Posted by Derek Parnell <ddparnell at bigpond.com> May 22, 2001
- 392 views
----- Original Message ----- From: "Mike" <vulcan at win.co.nz> To: "EUforum" <EUforum at topica.com> Subject: Turning off Tab trapping Hi Mike, > > Can someone please tell me how to stop variuos win32lib > controls(pushbuttons etc..) from trapping the TAB key? The answer may > require editing win32lib itself. > here is a routine that can do want you want... ------------------------- -- Remove the default style and extended style flags from -- specified types of controls. procedure remStyleFlags(object wintype, object styleflag, object exflag) -- wintype ==> One or more control types. -- styleflag ==> One or more style flags to remove. -- exflag ==> One or more extended flags to remove. integer x sequence oldstyles -- convert atoms to sequences if atom(wintype) then wintype = {wintype} end if if atom(styleflag) then styleflag = {styleflag} end if if atom(exflag) then exflag = {exflag} end if -- Change each control type mentioned. for i = 1 to length(wintype) do -- Get the current flags. oldstyles = classDefaults(wintype[i], {}) -- Remove each style flag specified. for j = 1 to length(styleflag) do x = find(styleflag[j], oldstyles[1][2]) if x then oldstyles[1][2][x] = 0 end if end for -- Remove each extended style flag specified. for j = 1 to length(exflag) do x = find(exflag[j], oldstyles[2][2]) if x then oldstyles[2][2][x] = 0 end if end for -- set the new defaults for the control oldstyles = classDefaults(wintype[i], oldstyles) end for end procedure ------------------------- An example of its use... -- Remove tab stopping from buttons and edit boxes. remStyleFlags({PushButton, DefPushButton, EditText}, WS_TABSTOP, {}) -- Create flat looking edit boxes remStyleFlags(EditText, {}, WS_EX_CLIENTEDGE) If you use these before creating any controls of this type, it should work. ------ Derek Parnell Melbourne, Australia "To finish a job quickly, go slower."