RE: child windows not receiving focus events?
Try these two patches in the win32lib to see if it helps..
--- Patch #1 ---
Find the routine "tab_direction()" and replace the lines ...
if window_family[id] = WINDOW or find(window_type[id],{ TabItem}) then
-- parent is self
parent = id
with ...
if find(window_type[id],{ TabItem}) then
-- parent is self
parent = id
elsif window_family[id] = WINDOW and window_owner[id] = 0 then
-- parent is self
parent = id
--- Patch #2 ---
In the routine createWindow(), replace the lines ...
if owner != 0 and and_bits(WS_VISIBLE, lFlags) then
call_proc(r_openWindow, {id, Normal})
end if
with ...
if owner != 0 then
if and_bits(WS_VISIBLE, lFlags) then
call_proc(r_openWindow, {id, Normal})
end if
if and_bits( WS_TABSTOP, lFlags ) then
-- add to the owner's focus_order list
window_focus_order[owner] &= id
end if
end if
Then all you have to do is create your child window with the
WS_TABSTOP flag included.
--
Derek Parnell
Melbourne, Australia
|
Not Categorized, Please Help
|
|