RE: child windows not receiving focus events?

new topic     » goto parent     » topic index » view thread      » older message » newer message

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

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu