alterar resolução de tela c/minigui (1024x768 / 800x600)
Moderador: Moderadores
-
luiz antonio da silva
- Usuário Nível 3

- Mensagens: 161
- Registrado em: 21 Nov 2006 22:12
- Localização: serrana-sp
alterar resolução de tela c/minigui (1024x768 / 800x600)
Olá pessoal !
Alguém sabe ou tem alguma fórmula, para qd alterar a resolução do monitor, a tela do programa e seus objetos, acompanhe a nova resolução ?
por exemplo:
Uma tela criada com toda a extensão da resolução 1024x768 com a minigui, qd alterada para 800x600, estoura a tela (fica objetos fora da visão).....criei via programa, uma maneira de contornar isso, mas gostaria de saber se tem como resolver de outra maneira.........tipo um manifest....
valeu.
Alguém sabe ou tem alguma fórmula, para qd alterar a resolução do monitor, a tela do programa e seus objetos, acompanhe a nova resolução ?
por exemplo:
Uma tela criada com toda a extensão da resolução 1024x768 com a minigui, qd alterada para 800x600, estoura a tela (fica objetos fora da visão).....criei via programa, uma maneira de contornar isso, mas gostaria de saber se tem como resolver de outra maneira.........tipo um manifest....
valeu.
HMG 3.4.4 - SQL SERVER - ORACLE
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Luiz, desculpa o pitaco, mas acho que isso não é uma boa idéia, imagine a seguinte situação, os usuarios com resolução em 1024 com varias janelas aberta, IE, MSN, EXCEL e outros, derepente o cara entra no seu sistema e a resolusão muda, isso vai dar bagunça ou talvez desconforto para alternar entre seu sistema e outros utilitarios.
Mesmo assim, se quiser se não me engano nos samples da minigui tem exemplo.
Mesmo assim, se quiser se não me engano nos samples da minigui tem exemplo.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
luiz antonio da silva
- Usuário Nível 3

- Mensagens: 161
- Registrado em: 21 Nov 2006 22:12
- Localização: serrana-sp
obrigado por responder sygecom, mas não é isso que quero.....vou tentar me explicar........quero montar uma tela que fique com os objetos praticamente inalterados em qualquer resolução, e não deixar fixado uma resolução padrão........como mensionado, criei via programa mesmo uma solução, mas gostaria de saber se tem outros meios......
obrigado.
obrigado.
HMG 3.4.4 - SQL SERVER - ORACLE
-
luiz antonio da silva
- Usuário Nível 3

- Mensagens: 161
- Registrado em: 21 Nov 2006 22:12
- Localização: serrana-sp
Explicando na prática...rsrs
Compile o fonte acima e execute em resolução 800x600, com certeza parte do TEXTBOX e o BOTÃO não poderão ser vistos.....agora
compile este exemplo, execute nas resoluções 1024x768 e 800x600....
parece complicado, mas montei tb um programinha que converte o arquivo XML criado pela HMGIDE em PRG já com os cálculos montados...rs
valeu
Código: Selecionar todos
#INCLUDE "MINIGUI.CH"
func main
Define Window form1;
at 0,0 ;
width 1017 ;
height 238 ;
title "TESTE";
main
@ 015,006 LABEL oLABEL01;
VALUE "TESTE";
WIDTH 064;
HEIGHT 022;
TRANSPARENT
@ 017,076 TEXTBOX oTEXT01;
VALUE "";
WIDTH 865;
HEIGHT 024
@ 013,950 BUTTONEX oBOTAO01;
CAPTION "&OK";
WIDTH 062;
HEIGHT 025;
ACTION FORM1.RELEASE
Endo Window
Center Window Form1
Activate Window Form1
Retu Código: Selecionar todos
#INCLUDE "MINIGUI.CH"
FUNC MAIN()
WD:=GetDesktopWidth()
HD:=GetDesktopHeight()
DEFINE WINDOW Form1;
AT 238,007;
WIDTH ((WD*99.32)/100);
HEIGHT ((HD*12.24)/100);
TITLE "Form1";
MAIN
@ ((HD* 1.69)/100),((WD*92.77)/100) BUTTON oBUT001 CAPTION "&OK" WIDTH ((WD* 6.05)/100) HEIGHT ((HD* 3.26)/100) ACTION NIL
@ ((HD* 1.82)/100),((WD* 7.42)/100) TEXTBOX oGET001 VALUE "" WIDTH ((WD*84.47)/100) HEIGHT ((HD* 3.13)/100)
@ ((HD* 1.95)/100),((WD* 0.59)/100) LABEL oLAB001 VALUE "TESTE" WIDTH ((WD* 6.25)/100) HEIGHT ((HD* 2.86)/100) TRANSPARENT
END WINDOW
CENTER WINDOW Form1
ACTIVATE WINDOW Form1
RETURNparece complicado, mas montei tb um programinha que converte o arquivo XML criado pela HMGIDE em PRG já com os cálculos montados...rs
valeu
HMG 3.4.4 - SQL SERVER - ORACLE
- software_facil
- Usuário Nível 3

- Mensagens: 211
- Registrado em: 23 Fev 2005 12:19
- Localização: Curitiba/PR
- Contato:
Prezado,
Sempre que quiser construir um aplicativo, que se adeque a qualquer resolução de tela, basta fazê-lo baseado em 800x600, pois ninguém hoje em dia utiliza resolução menor que esta.
O que não dá certo, é vc se basear em uma resolução maior para construir o aplicativo, e querer encolher depois, não dá certo mesmo.
Quanto a sua dúvida de como programar para que tudo se encaixe perfeitamente, basta vc usar, como disse antes, 800x600 como base, e utilizar getdesktopwidth() e getdesktopheight() para montar as telas que necessitam usar toda a extensão de tela, por exemplo a tela principal, e ancorar os botões, janelas, e outros elementos, a partir das bordas das janelas para dentro.
Abraços
Sempre que quiser construir um aplicativo, que se adeque a qualquer resolução de tela, basta fazê-lo baseado em 800x600, pois ninguém hoje em dia utiliza resolução menor que esta.
O que não dá certo, é vc se basear em uma resolução maior para construir o aplicativo, e querer encolher depois, não dá certo mesmo.
Quanto a sua dúvida de como programar para que tudo se encaixe perfeitamente, basta vc usar, como disse antes, 800x600 como base, e utilizar getdesktopwidth() e getdesktopheight() para montar as telas que necessitam usar toda a extensão de tela, por exemplo a tela principal, e ancorar os botões, janelas, e outros elementos, a partir das bordas das janelas para dentro.
Abraços
messenger : software_facil@hotmail.com
-
luiz antonio da silva
- Usuário Nível 3

- Mensagens: 161
- Registrado em: 21 Nov 2006 22:12
- Localização: serrana-sp
O exemplo acima (o que tá com o include fora de lugar..rs) funciona belezinha.software_facil escreveu:Prezado,
Sempre que quiser construir um aplicativo, que se adeque a qualquer resolução de tela, basta fazê-lo baseado em 800x600, pois ninguém hoje em dia utiliza resolução menor que esta.
O que não dá certo, é vc se basear em uma resolução maior para construir o aplicativo, e querer encolher depois, não dá certo mesmo.
Quanto a sua dúvida de como programar para que tudo se encaixe perfeitamente, basta vc usar, como disse antes, 800x600 como base, e utilizar getdesktopwidth() e getdesktopheight() para montar as telas que necessitam usar toda a extensão de tela, por exemplo a tela principal, e ancorar os botões, janelas, e outros elementos, a partir das bordas das janelas para dentro.
Abraços
Obrigado pela dica.
HMG 3.4.4 - SQL SERVER - ORACLE
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Olha, eu acho que entendi o que vc ta querendo...
Eu ja usei este recurso, basta você criar uma função que redimensiona todos os objetos e colocar nos eventos oninit, onpaint, onmaximize... enfim, todos executados quando a tela é redesenhada.
Mas olha, se tiver muitos controles, fica muito ruim.
Falou...
Eu ja usei este recurso, basta você criar uma função que redimensiona todos os objetos e colocar nos eventos oninit, onpaint, onmaximize... enfim, todos executados quando a tela é redesenhada.
Mas olha, se tiver muitos controles, fica muito ruim.
Falou...
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.