Página 1 de 1

Centralizar janela n GtHwg e desativar "X"

Enviado: 25 Out 2021 14:42
por gilbertosilverio
Olá Amigos,

Creio que essa e para o Quintas...

Tem como centralizar a janela da GtHwg no desktop e desativar o "X" da janela?

Estou fazendo uns testes com essa nova versão da Hwgui(Changelog 3021)+HB34+mingw, e como uso a hwgui 2.17 + wvt + xHB, e achei bem interessante o uso da Hwgui+Gthwg, que funciona bem, pelo menos nos teste que fiz ate agora.

O Detalhe para mim foram esse, o usuário fechar a janela no X e também as janelas sempre iniciarem na campo superior esquerdo.

Grato.

Centralizar janela n GtHwg e desativar "X"

Enviado: 25 Out 2021 18:00
por JoséQuintas
Na verdade é pra quem já usa hwgui, mas parece que o pessoal tem medo de ajudar.

Centralizar janela n GtHwg e desativar "X"

Enviado: 25 Out 2021 20:59
por Fernando queiroz
manda ver pode perguntar
no caso da HWGUI eu uso assim

Código: Selecionar todos

	INIT DIALOG oDlg TITLE "VENDAS - versao nova" ;   
			ICON HIcon():Addresource('SGC_ICON')  ;
			AT 0, 0 SIZE 1366,690 CLIPPER [color=#FF0000]NOEXIT NOEXITESC NOCLOSABLE[/color] ; 
			ON INIT {|| ::PEDIDO_onDlgInit(  @oDlg ), hwg_WriteStatus( oDlg,1,"Vendedor: " + ::cNOMVEN) };
			ON GETFOCUS {|| hwg_SetFocus( oDlg:oCODPRO ) };
			BACKCOLOR 16777215

Centralizar janela n GtHwg e desativar "X"

Enviado: 25 Out 2021 21:14
por Fernando queiroz
e para centralizar a janela tenho as seguintes opções:

ACTIVATE DIALOG oDlg CENTER

ou para abrir na tela toda

ACTIVATE DIALOG oMenuPrinc MAXIMIZED

Centralizar janela n GtHwg e desativar "X"

Enviado: 25 Out 2021 21:57
por JoséQuintas
Pensei nisso, mas há um detalhe importante: quando é com a gt_hwg, o activate fica de fora.
E por ser hMainWindow(), também limita algumas coisas.

Talvez pegar tamanho do desktop e tamanho da janela, e mover centralizando.
E/ou pelos fontes, localizar a diferença quando usa CENTER e NOEXIT.

Centralizar janela n GtHwg e desativar "X"

Enviado: 26 Out 2021 06:23
por gilbertosilverio
Olá Fernando,

Isso já faço nas telas da HWGUI, e que tenho sistemas de 30 anos com wvt+hwgui, que o pessoal esta acostumado como o modo caractere, e prefere assim...

Esta nova lib que o Quintas incluiu, GT_Hwg, com os teste que fiz ficou bem pratico, o meu problema e que queria acompanhar, as mudanças e inovações, este sistema por exemplo, e compilado com Xhb(03/2008)+bcc55+hwgui217 e roda perfeitamente, as vezes da uns erros meu loco, o que e raro, creio que seja devido a incompatibilidade entre ao Frankenstein ( hwgui217 + wvt ), mais como o pessoal usa desde 2008, já se acostumou.

Se não tiver jeito, deixo como esta ate quando a veiarada for por céu, ai eu mudo somente pra HWGUI... (isso se eu não for antes... kkk)

Centralizar janela n GtHwg e desativar "X"

Enviado: 26 Out 2021 08:08
por JoséQuintas
gilbertosilverio escreveu:Esta nova lib que o Quintas incluiu, GT_Hwg,
Pera lá... confusão a vista...

Pode parecer a mesma coisa, pode ter servido como referência, mas GT_HWG é da própria HWGUI, criada pelo Kresin.

O que eu criei da outra vez, não é oficial, dá pra encontrar nos exemplos da hwgui, é o testhgt.prg.

Centralizar janela n GtHwg e desativar "X"

Enviado: 26 Out 2021 08:56
por JoséQuintas
Sabe uma coisa que ainda não testei:
Usar a GTHWG na GTWVG.

Centralizar janela n GtHwg e desativar "X"

Enviado: 26 Out 2021 12:20
por gilbertosilverio
Olá Quintas,

Me expressei mal então, baseado no tua ideia... seria isso?

Como vi teu nome lá no changelog, pensei que você tinha criado...

Centralizar janela n GtHwg e desativar "X"

Enviado: 26 Out 2021 13:48
por Itamar M. Lins Jr.
Olá!
A sintaxe correta da HWGUI está nos includes e nos fontes.

Código: Selecionar todos

/*
 * Window Styles
 */
#ifndef WVTWINLG_CH
   #define WS_OVERLAPPED       0
   #define WS_POPUP            2147483648 // 0x80000000L
   #define WS_CHILD            1073741824 // 0x40000000L
   #define WS_MINIMIZE         536870912  // 0x20000000L
   #define WS_VISIBLE          268435456  // 0x10000000L
   #define WS_DISABLED         134217728  // 0x08000000L
   #define WS_CLIPSIBLINGS     67108864   // 0x04000000L
   #define WS_CLIPCHILDREN     33554432
   #define WS_MAXIMIZE         16777216   // 0x01000000L
   #define WS_CAPTION          12582912   // 0x00C00000L
   #define WS_BORDER           8388608    // 0x00800000L
   #define WS_DLGFRAME         4194304    // 0x00400000L
   #define WS_EX_STATICEDGE    131072     // 0x00020000L
   #define WS_VSCROLL          2097152    // 0x00200000L
   #define WS_HSCROLL          1048576    // 0x00100000L
   #define WS_SYSMENU          524288     // 0x00080000L
   #define WS_THICKFRAME       262144     // 0x00040000L
   #define WS_GROUP            131072     // 0x00020000L
   #define WS_TABSTOP          65536      // 0x00010000L
   #define WS_MINIMIZEBOX      131072     // 0x00020000L
   #define WS_MAXIMIZEBOX      65536      // 0x00010000L
   #define WS_SIZEBOX          WS_THICKFRAME
   #define WS_OVERLAPPEDWINDOW WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX

   #define WS_EX_DLGMODALFRAME     1      // 0x00000001L
   #define WS_EX_NOPARENTNOTIFY    4      // 0x00000004L
   #define WS_EX_TOPMOST           8      // 0x00000008L
   #define WS_EX_ACCEPTFILES      16      // 0x00000010L
   #define WS_EX_TRANSPARENT      32      // 0x00000020L
   #define WS_EX_TOOLWINDOW      128

   #define RDW_INVALIDATE          1      // 0x0001
   #define RDW_INTERNALPAINT       2      // 0x0002
   #define RDW_ERASE               4      // 0x0004
   #define RDW_VALIDATE            8      // 0x0008
   #define RDW_NOINTERNALPAINT     16     // 0x0010
   #define RDW_NOERASE             32     // 0x0020
   #define RDW_NOCHILDREN          64     // 0x0040
   #define RDW_ALLCHILDREN         128    // 0x0080
   #define RDW_UPDATENOW           256    // 0x0100
   #define RDW_ERASENOW            512    // 0x0200
   #define RDW_FRAME              1024    // 0x0400
   #define RDW_NOFRAME            2048    // 0x0800
#endif
Essa por exemplo está no \include\windows.ch

Não sei/lembro, pq neste caso é uma windows MAIN e na DIALOG vou ver por aqui, estou no Linux agora.
Use:

Código: Selecionar todos

STYLE WS_DLGFRAME + WS_SYSMENU + DS_CENTER
E vai experimentando qual tira o X pode ser um conjunto desses.

Parece que é essa tal WS_SYSMENU.

Saudações,
Itamar M. Lins Jr.

Centralizar janela n GtHwg e desativar "X"

Enviado: 27 Out 2021 10:25
por JoséQuintas
Não sei se interessa.
Só um teste básico com HWGUI oficial, sem qualquer alteração.
Fiz igual GTHWG.
No meu programa principal:

Código: Selecionar todos

PROCEDURE HB_GTSYS

   REQUEST HB_GT_WVG_DEFAULT
   //REQUEST HB_GT_WGU
   //REQUEST HB_GT_WVT

   RETURN

FUNCTION HB_GT_GUI
   RETURN Nil

FUNCTION HB_GT_GUI_DEFAULT
   RETURN Nil

FUNCTION HB_GT_WIN
   RETURN Nil

FUNCTION HB_GT_WIN_DEFAULT
   RETURN Nil
E chamando um módulo em hwgui.
jpa.png

Centralizar janela n GtHwg e desativar "X"

Enviado: 27 Out 2021 10:53
por JoséQuintas
jpa.png
Por enquanto a vantagem do meu é que funciona.
Por enquanto a vantagem do hwgui seria pode usar tamanho de fonte diferente, mas falta funcionar ENTER/ESC.

Nada de especial, é um fonte comum hwgui.

Só não muito comum, porque está rodando em multithread, e usando minha classe ADO com MySQL.
É tudo o mesmo EXE, abri os dois pelo menu principal, que continua aberto em outra janela.