Clipper On Line • Ver Tópico - HWGUI console

HWGUI console

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

HWGUI console

Mensagempor JoséQuintas » 07 Jun 2021 10:35

Preciso de ajuda numa coisa: definir um resize automático na HWGUI.
Talvez inicialmente pra aquela GTHWGUI, mas talvez dê pra expandir para todo modo GUI.

Na GTWVG é fácil, como foi direcionada pra linha/coluna, basta usar a escala de linha/coluna e fica resolvido, existem variáveis para isso.
Dá pra usar 1, 1, 100, 100 pra definir x/y 1,1 até 100,100
Ou -1. -1, -10, -10 pra definir linha/coluna 1,1 até 10,10, e esses valores são multiplicados pela altura/largura do fonte (incluindo espacejamento)
Qual a vantagem?
Num resize do formulário, os controles já são "repintados" nas novas posições, o que acaba sendo um redimensionamento automático.

Ok, GUI tem fontes de tamanho variável, mas pode ser usado algo parecido, talvez um "fonte imaginário", apenas um tipo de escala métrica.
O resultado seria poder desenvolver usando, por exemplo, escala 1920 x 1080, ou 3840 x 2160, e tudo se redimensionar automático no usuário.
O recurso seria opcional, a fim de preservar tudo que já existe.

Alguma idéia pra isso, ou alguma sugestão?

Nota: Mesmo pra desenhar textos são usadas janelas, então até mesmo os textos poderiam ser redimensionados pra caber dentro da janela deles.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

HWGUI console

Mensagempor JoséQuintas » 09 Jun 2021 01:41

Pra quem não olhou, a janela gthwgui é criada assim:

FUNCTION gthwg_CreateMainWindow( cTitle, oFont )

   LOCAL oWnd, oPane
   LOCAL nStyle, x := 0, y := 0, width := 400, height := 200
   LOCAL bSize

   oWnd := HMainWindow():New( 1,,, nStyle, x, y, width, height, ;
      Iif( Empty(cTitle),"gt_HwGUI",cTitle ),,, oFont,, {||gthwg_CloseWindow()}, ;
      ,,,,,,,,,, WS_THICKFRAME )

   gthwg_SetWindow( oWnd:handle, Iif( Empty(oFont), Nil, oFont:handle ) )

   RETURN oWnd


HMainWindow() é a Main Window da HWGUI, a mesma de sempre.
Como eu sempre disse por aqui, sobre a GTWVG, trata-se de uma janela Windows onde a imagem de fundo é a tela console.
Na HWGUI é a mesma coisa.

O que já deu pra perceber:

- Não funciona em multithread
- Não tem resize
- O sample tem apenas texto, não sei se funciona button, por exemplo.
Na GTWVG tem o hook pra ambiente GUI, não sei se deixaram essa possibilidade na GTHWG.
E como é a janela Main da HWGUI, pode ser mais limitada do que uma window ou dialog, igual ou pior que a GTWVG.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro