Fiz testes aqui separado com o seu exemplo, mas não obtive exito, o seu teste roda abre executa mas fazendo um menu e executando para chamar modulos em gtwvw executa a hwgui mas não abre nada da gtwvw, nem colocando em thread(), não obtive exito algum com as duas juntas.
Notei na sua imagem, que tem um browse em HWGUI atras da tela em GTWVW, isto que tentei fazer aqui com menu, mas não da certo.
Se puder me ajudar enviando como a tela principal em HWGUI chamar um módulo em gtwvw.
Meu exemplo que funciona a parte hwgui mas não funciona a GTWVW
#include "hwgui.ch"
#include "gtk.ch"
#include "hbthread.ch"
Function Main
Local oWndMain
Memvar oFont
oFont := HFont():Add( "Courier",0,-14 )
INIT WINDOW oWndMain MAIN TITLE "HWGUI PRINCIPAL" AT 200,100 SIZE 300,300
MENU OF oWndMain
MENU TITLE "&Arquivos"
MENUITEM ">WVW" ACTION JanelaGtwvw() //preciso aqui chamar modulos 100% gtwvw
SEPARATOR
MENUITEM "&SaÃda" ACTION oWndMain:Close()
ENDMENU
ENDMENU
ACTIVATE WINDOW oWndMain
Return Nil
Procedure JanelaGtwvw()
cRotina := "Teste()" //sua rotina em gtwvw
nThread := Hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, ;
HB_THREAD_INHERIT_PRIVATE, ;
HB_THREAD_INHERIT_MEMVARS, ;
HB_THREAD_MEMVARS_COPY ), ;
{ || &cRotina. } )
WaitThread( nThread )
Return Nil
FUNCTION WaitThread( nThread )
DO WHILE .T.
IF Hb_ThreadWait( nThread, 0.1, .T. ) == 1
EXIT
ENDIF
hwg_DoEvents()
ENDDO