Como ja relatei aqui, me utilizo ainda de CONSOLE e GUI, ou seja, conforme vou desenvolvendo a parte GUI, vou excluindo o CONSOLE, até ai beleza !!!
Aí para chamar as telas consoles, faço da seguinte forma:
Código: Selecionar todos
#include "wvtwin.ch"
#include "hbgtinfo.ch"
#include "hbgtwvg.ch"
#include "wvgparts.ch"
#Include 'minigui.ch'
#include 'inkey.ch'
REQUEST HB_GT_WVT
//--------------------------
FUNCTION CH_CONSOLE(b_Block)
//--------------------------
LOCAL zret
DEFINE WINDOW Trava;
AT 0,0 ;
WIDTH 100 HEIGHT 30;
TITLE '.Sagrio.';
MODAL;
NOSIZE;
NOSYSMENU;
ON GOTFOCUS FocarJanela('Sagrio');
ON INIT { || TravaSaida('Trava'), Jan_Console(b_Block,@zret) }
SetaTeclas('Trava')
ON KEY ALT+V OF Trava ACTION COLAR_ALT_V()
END WINDOW
CENTER WINDOW Trava
ACTIVATE WINDOW Trava
RETURN(zret)
//--------------------------
STATIC FUNCTION COLAR_ALT_V
//--------------------------
KEYBOARD( Hb_GtInfo( HB_GTI_CLIPBOARDDATA ) )
RETURN(NIL)
//---------------------------------------
STATIC FUNCTION Jan_Console(b_Block,_ret)
//---------------------------------------
LOCAL pGT, cFont
PRIVATE pNewGT
pNewGT := HB_GTCREATE("WVT")
pGT := HB_GTSELECT(pNewGT)
HB_GTINFO( HB_GTI_FONTSEL, "Lucida Console")
HB_GTINFO( HB_GTI_FONTWIDTH, 12 )
HB_GTINFO( HB_GTI_FONTSIZE, 28)
HB_GTINFO( HB_GTI_MAXIMIZED , .F. ) // Maximizar a tela
HB_GTINFO( HB_GTI_RESIZABLE , .F. ) // Não usar botões de redimensionamento
HB_GTINFO( HB_GTI_ALTENTER , .F. ) // Não usar ALT+Enter
//HB_GTINFO( HB_GTI_CLOSABLE , .F. ) // inibe o fechamento no X
HB_GTINFO( HB_GTI_CLOSEMODE, 2 ) // inibe o fechamento no X, alt+f4 e menu fechar
HB_GTINFO( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT ) /* aumenta o tamanho da letra proporcionalmente */
HB_GTINFO( HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
HB_GTINFO( HB_GTI_WINTITLE, "Sagrio" )
HB_GTINFO( HB_GTI_ICONRES, "AppIcon" )
HB_GTINFO( HB_GTI_ISFULLSCREEN, .F. ) // Deixar a tela cheia - estilo DOS
HB_GTINFO( HB_GTI_SELECTCOPY, "Selecionar e Copiar - Para COLAR ALT+V" ) // Coloca o texto no menu do windows
_ret := EVAL( b_Block )
pNewGT := NIL
HB_GTSELECT(pGT)
RELEASE WINDOW Trava
RETURN(NIL)
#DEFINE GW_OWNER 4
#DEFINE GW_HWNDFIRST 0
#DEFINE GW_HWNDNEXT 2
//----------------------------------
STATIC FUNCTION FocarJanela(zjanela)
//----------------------------------
LOCAL aTitulos, nPos
aTitulos := RetJanelas( GetForegroundWindow() )
nPos := aScan( aTitulos, {|x| x[1] == zjanela } )
IF nPos > 0
SetForeGroundWindow( aTitulos[nPos,2] )
END
RETURN(NIL)
//----------------------------------
STATIC FUNCTION RetJanelas(nJanelas)
//----------------------------------
LOCAL aBusca := {}
LOCAL cTitulo := ""
LOCAL nJan := GetWindow( nJanelas, GW_HWNDFIRST ) // Pega primeira janela
WHILE nJan <> 0
cTitulo := GetWindowText( nJan )
IF GetWindow( nJan, GW_OWNER ) = 0 .AND. ; // Se é uma janela owner
IsWindowVisible( nJan ) .AND. ; // Se é uma janela visivel
nJan != nJanelas .AND. ; // Se não é esta aplicação
!EMPTY( cTitulo ) // Janela sem título
// Adiciona na matriz de janelas ativas
AADD( aBusca, { cTitulo, nJan } )
END
nJan := GetWindow( nJan, GW_HWNDNEXT ) // Pega a proxima janela
END
RETURN(aBusca)
o que poderia ser ? alguém poderia me ajudar ?
Aguardo...


