01-16-2008, 10:04 AM
Tab works for me. Maybe you need to upgrade QM. Navigation in web browser control did not work before QM 2.2.0 probably.
------
Tab does not work in nonmodal dialogs when you try to navigate between controls that are not in web browser control. To enable keyboard navigation in nonmodal dialogs, MessageLoop must call IsDialogMessage. Here is updated MessageLoop version:
------
More about nonmodal dialogs and MessageLoop:
When you close the dialog, MessageLoop does not return. You still can see the main function in Threads dialog. To tell MessageLoop to return when you close the dialog, on WM_DESTROY call PostQuitMessage or post message 2000.
------
Tab does not work in nonmodal dialogs when you try to navigate between controls that are not in web browser control. To enable keyboard navigation in nonmodal dialogs, MessageLoop must call IsDialogMessage. Here is updated MessageLoop version:
;/
function# [notmain]
;Standard message loop.
;Returns when the thread receives WM_QUIT message (when destroying main window, call PostQuitMessage(0)), or message 2000.
;notmain must be nonzero if the message loop is not the main message loop of the thread.
;Thread with message loop should not use "wait" or "wait for" commands with long wait time, unless opt waitmsg 1 is set.
MSG m
rep
,if(GetMessage(&m 0 0 0)<1 or m.message=2000)
,,if(notmain and m.message=WM_QUIT) PostQuitMessage(m.wParam)
,,ret m.wParam
,if(IsDialogMessage(GetActiveWindow &m)) continue
,TranslateMessage &m
,DispatchMessage &m------
More about nonmodal dialogs and MessageLoop:
When you close the dialog, MessageLoop does not return. You still can see the main function in Threads dialog. To tell MessageLoop to return when you close the dialog, on WM_DESTROY call PostQuitMessage or post message 2000.
,case WM_DESTROY
,;use one of the following to end MessageLoop when you close the dialog
,;PostQuitMessage 0 ;;use this if you will not need to continue the thread after MessageLoop returns
,PostThreadMessage GetCurrentThreadId 2000 0 0 ;;use this if you will need to continue the thread
