Página 2 de 6
Iniciando com HWGUI
Enviado: 20 Set 2020 15:57
por JoséQuintas
Código: Selecionar todos
METHOD Activate( lNoModal, lMaximized, lMinimized, lCentered, bActivate ) CLASS HDialog
LOCAL oWnd, hParent
//LOCAL aCoors, aRect
IF bActivate != Nil
::bActivate := bActivate
ENDIF
hwg_CreateGetList( Self )
hParent := Iif( ::oParent != Nil .AND. ;
__ObjHasMsg( ::oParent, "HANDLE" ) .AND. !Empty( ::oParent:handle ), ;
::oParent:handle, Iif( ( oWnd := HWindow():GetMain() ) != Nil, ;
oWnd:handle, hwg_Getactivewindow() ) )
A Dialog fica presa a uma janela ativa.
Iniciando com HWGUI
Enviado: 20 Set 2020 16:02
por Itamar M. Lins Jr.
Ola!
Precisa do objeto pai. No caso uma window/dialog. Deve está como WVG... O objeto principal(GTWVG), por isso não aparece nada.
Saudações,
Itamar M. Lins Jr.
Iniciando com HWGUI
Enviado: 20 Set 2020 16:20
por JoséQuintas
Aqui ok, cada janela uma thread.
Tudo normal, só a sequência pra fechar que fica chato.
É começar assim mesmo.
Só mais um último teste, que lembrei de uma coisa...
Iniciando com HWGUI
Enviado: 20 Set 2020 16:36
por JoséQuintas
Testei com outras GTs: GTWGU e GTGUI.
Bom, sem problemas, o usuário vai poder abrir várias janelas.
Se abrir muitas vai se perder, mas por enquanto não tem nenhuma kkkkk
Até lá, talvez tenha outra Main()
Iniciando com HWGUI
Enviado: 20 Set 2020 17:25
por JoséQuintas
Código: Selecionar todos
#include "hwgui.ch"
STATIC nWindow := 0
FUNCTION pTeshwgui
LOCAL oTela, oFont, nRow, nCol
PREPARE FONT oFont NAME "Times New Roman" WIDTH 0 HEIGHT 20 WEIGHT 400
nWindow += 1
INIT WINDOW oTela TITLE "Shade Buttons " + Str( nWindow, 3 ) ;
AT 20,0 SIZE 640,480 SYSCOLOR COLOR_3DLIGHT+1
FOR nCol= 100 TO 400 STEP 100
FOR nRow = 40 TO 400 STEP 40
@ nRow, nCol SHADEBUTTON SIZE 100,36 TEXT Str( nRow, 3 ) + Str( nCol, 3 ) FONT oFont EFFECT SHS_METAL PALETTE PAL_METAL
NEXT
NEXT
ACTIVATE WINDOW oTela
RETURN Nil
Não tem jeito, só o desenvolvedor mesmo.
Agora com Window.
Ok, a primeira vez abre normalmente, depois nunca mais.
Acho que ninguém nunca usou hwgui sem existir uma janela Main().
Pergunta:
Qual a diferença entre Dialog e Window? precisa das duas?
A Dialog não faz tudo que a Window faz?
Iniciando com HWGUI
Enviado: 20 Set 2020 17:29
por JoséQuintas
Alterando pra dialog ok.
Iniciando com HWGUI
Enviado: 20 Set 2020 17:44
por asimoes
JoséQuintas escreveu:Alterando pra dialog ok.
Isso eu tentei, inclusive tem um post meu questionando isso, o problema é o tipo da janela que que é MAIN, com CHILD ou DIALOG pode abrir quantas vezes quiser a mesma janela na thread.
Iniciando com HWGUI
Enviado: 20 Set 2020 17:44
por Itamar M. Lins Jr.
Ola!
Com Window o povo usa/usava as "WINDOWS CHILD" que ficava dentro da outra(abaixo);
Eu prefiro as DIALOGS.
Acho que ninguém nunca usou hwgui sem existir uma janela Main().
Tenho vários exemplos com dialogs puros.
A MAIN sempre irá existir dentro do projeto, com MENUS, Background...
Por isso eu vejo como melhor opção a MAIN ser com a Hwgui e as outras sendo WVG/WVW...
Saudações,
Itamar M. Lins Jr.
Iniciando com HWGUI
Enviado: 20 Set 2020 17:52
por JoséQuintas
Amiguinhos do céu, nem te conto.....
Tudo bem que em GUI isso normalmente não se faz, deixar todas as janelas com o mesmo tamanho....
Código: Selecionar todos
FUNCTION DoPrg( cModule, cTitulo, p1, p2, p3 )
LOCAL mHrInic //, oStatusbar
PRIVATE m_Prog
m_Prog := cModule
hb_gtReload( "WVG" )
IF "HWGUI" $ cModule
AppInitSets( .F. )
DoHWGui( cModule, cTitulo, p1, p2, p3 )
ELSE
HB_GtInfo( HB_GTI_WINTITLE, cTitulo )
AppInitSets()
// oStatusbar := wvgStatusBar():New( wvgSetAppWindow(), , , { -2, -2 } , , .T. ):Create()
SetColor( SetColorNormal() )
CLS
SayTitulo( cTitulo )
@ MaxRow() - 2, 0 TO MaxRow() - 2, MaxCol() COLOR SetColorTraco()
mHrInic := Time()
Do( cModule, p1, p2, p3 )
LogDeUso( mHrInic, cModule )
// HB_SYMBOL_UNUSED( oStatusbar )
ENDIF
RETURN NIL
Como dá pra perceber acima, em GTWVG eu crio a janela e já coloco o título.
O próprio menu já faz tudo.
Dá pra fazer igual em HWGUI?
Yes
Código: Selecionar todos
#include "hwgui.ch"
MEMVAR m_Prog
FUNCTION DoHWGui( cModule, cTitulo )
LOCAL oTela
m_Prog := cModule
INIT DIALOG oTela TITLE cTitulo AT 20, 0 SIZE 640, 480
Do( cModule, oTela )
RETURN NIL
FUNCTION pTeshwgui( oTela )
PutButtons()
ACTIVATE DIALOG oTela
RETURN Nil
STATIC FUNCTION PutButtons()
LOCAL nRow, nCol, oFont
PREPARE FONT oFont NAME "Times New Roman" WIDTH 0 HEIGHT 20 WEIGHT 400
FOR nCol= 100 TO 400 STEP 100
FOR nRow = 40 TO 400 STEP 40
@ nCol, nRow SHADEBUTTON SIZE 90,36 TEXT Str( nRow, 3 ) + Str( nCol, 3 ) FONT oFont EFFECT SHS_METAL PALETTE PAL_METAL
NEXT
NEXT
RETURN Nil
Em GTWVG também tenho uma classe que monta as telas de cadastro, os botões, etc.
O fonte acima mostra que isso é possível.
Então.... teoricamente.... tá quase tudo pronto, falta só SAY e GET (e browse)
Iniciando com HWGUI
Enviado: 20 Set 2020 17:59
por Claudio Soto
En Windows un dialogo es una ventana temporaria que se utiliza para recibir la entrada de datos por parte del usuario, es una ventana que normalmente no tiene un boton para minimizar ni maximizar, y puede o no ser modal. En cambio un window es algo mas amplio con mas opciones, son las ventanas de la mayoria de las aplicaciones y son simpre no modal.
Son ej de dialogos, las cajas con mensaje ok,cancel,etc. Las cajas para abrir y gravar archivos, para seleccionar un color o una fuente de letra, etc.
Pero en la practica a veces si cumple con lo que el usuario necesita se usan en forma indistinta un dialog o un windows.
Iniciando com HWGUI
Enviado: 20 Set 2020 18:14
por MSDN
Dá pra fazer igual em HWGUI?
Yes
é sério que vc se espantou com isso ?
Iniciando com HWGUI
Enviado: 20 Set 2020 18:14
por JoséQuintas
Não encontrei exemplo pra button.
Queria fazer do jeito que a GTWVG não deixa, já comentei por aqui.
Prefiro button ao invés de toolbar.
Acaba ficando mais flexível até pra redimensionar.
Agora com a imagem certa.
Iniciando com HWGUI
Enviado: 20 Set 2020 18:25
por Itamar M. Lins Jr.
Ola!
Eu mesmo não uso toolbutton
Tem um exemplo no TUTOR que é o que uso. TOP PANEL com OnwnerButtons.
Vai criar uma faixa no top da window MAIN.
Código: Selecionar todos
INIT WINDOW oFormMain MAIN APPNAME "XYZ" FONT oFontMain ;
TITLE "SISTEMA XYZ S/A " ;
AT 0,0 SIZE PosX,PosY-30 ICON oIconEXE STYLE WS_POPUP + WS_CAPTION + WS_SYSMENU ;
MENUPOS 3 ; //Vai abrir na posição 3
BACKGROUND BITMAP oBmp
ADD TOP PANEL oPanelMain TO oFormMain HEIGHT 70
MENU OF oFormMain
MENU TITLE "&Arquivos"
MENUITEM "&Fornecedores" ID 110 ACTION {||Fornecedores()}
...
Aqui os botões da BARRA
Código: Selecionar todos
Function EscolhePerfil(cPerfil,oPanel,oTempoAviso)
...
oImgEstoque := hbitmap():AddResource( 'IMG_ESTOQUE' )
@ 000,1 OWNERBUTTON OF oPanel ON CLICK {||Estoque()} ;
SIZE 58,68 FLAT TEXT "Estoque" COORDINATES 0,53,50,50 FONT oFontBarra ;
BITMAP oImgEstoque FROM RESOURCE TRANSPARENT COORDINATES 0,0,58,58 TOOLTIP "Arquivo do Estoque"
Saudações,
Itamar M. Lins Jr.
Iniciando com HWGUI
Enviado: 20 Set 2020 18:28
por JoséQuintas
Aqui no button não vejo opção de ícone
Código: Selecionar todos
#xcommand @ <x>,<y> BUTTON [ <oBut> CAPTION ] <caption> ;
[ OF <oWnd> ] ;
[ ID <nId> ] ;
[ SIZE <width>, <height> ] ;
[ COLOR <color> ] ;
[ BACKCOLOR <bcolor> ] ;
[ ON INIT <bInit> ] ;
[ ON SIZE <bSize> ] ;
[ ON PAINT <bDraw> ] ;
[ ON CLICK <bClick> ] ;
[ STYLE <nStyle> ] ;
[ FONT <oFont> ] ;
[ TOOLTIP <ctoolt> ]
o ícone é uma opção, mas não tem caption
Código: Selecionar todos
#xcommand @ <x>,<y> ICON [ <oIco> SHOW ] <icon> ;
[<res: FROM RESOURCE>] ;
[ OF <oWnd> ] ;
[ ID <nId> ] ;
[ SIZE <width>, <height> ] ;
[ ON INIT <bInit> ] ;
[ ON SIZE <bSize> ] ;
[ ON CLICK <bClick> ] ;
[ ON DBLCLICK <bDblClick> ];
[ TOOLTIP <ctoolt> ]
Iniciando com HWGUI
Enviado: 20 Set 2020 18:36
por Itamar M. Lins Jr.
Ola!
A Hwgui tem BUTTON, BUTTONEX e OwnerButton. ButtonEX tem imagem, BUTTON não. OwnerButton tem imagem mas não recebe FOCO.
Saudações,
Itamar M. Lins Jr.