Colegas, saudações!
Meu aplicativo (feito em FW 2.4) possui uma interface que vai muito bem até a resolução de 800x600, porém, em resoluções maiores...
- Há como definir uma resolução de vídeo em que gostaria que seu aplicativo opere (por exemplo, sempre em 640x480), e mantê-la alheia ao do OS?
- Há alguma função que retorne a resolução de vídeo do usuário?
Grato.
Resolução de tela: como definir/contextualizar do seu soft?
Moderador: Moderadores
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Resolução de tela: como definir/contextualizar do seu soft?
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
- Vander
- Usuário Nível 3

- Mensagens: 214
- Registrado em: 23 Jul 2004 01:43
- Localização: João Monlevade - MG
Re: Resolução de tela: como definir/contextualizar do seu soft?
Olá;
nResHoriz := oWnd:nHorzRes() // retorna a resolucao horizontal
nResVert := oWnd:nVertRes() // retorna a resolucao vertical
Vander
nResHoriz := oWnd:nHorzRes() // retorna a resolucao horizontal
nResVert := oWnd:nVertRes() // retorna a resolucao vertical
Vander
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Resolução de tela: como definir/contextualizar do seu soft?
Amiguinho,
Em meu sistema faço assim:
Após esta verificação, caso queira recuperar a ultima posição salva, use:
Para abrir a janela principal, acrescente:
Para que tudo funcione de forma adequada, acrescente as funções:
Em meu sistema faço assim:
Código: Selecionar todos
...
ResLargura := GetSysMetrics(0)
ResAltura := GetSysMetrics(1)
Resolucao := alltrim(str(ResLargura))+'x'+alltrim(str(ResAltura))
do case
case Resolucao = "640x480"
? "Resolucao Impropria para trabalho"
quit
case Resolucao = "800x600"
ResLargura := 800
ResAltura := 600
case Resolucao = "1024x768"
ResLargura := 1024 // 800
ResAltura := 768 // 600
case Resolucao = "1280x1024"
ResLargura := 1280 // 1024
ResAltura := 1024 // 768
endcase
...
Código: Selecionar todos
...
TelaMTopo := Val(VerifyINI( "PROGRAMA" , "COORDT", "000" , cPath+"seu.ini" ))
TelaMEsque := Val(VerifyINI( "PROGRAMA" , "COORDL", "000" , cPath+"seu.ini" ))
ResAltura := Val(VerifyINI( "PROGRAMA" , "COORDH", str(ResAltura) , cPath+"seu.ini" ))
ResLargura := Val(VerifyINI( "PROGRAMA" , "COORDW", str(ResLargura) , cPath+"seu.ini" ))
ResAltura := ResAltura - TelaMTopo
ResLargura := ResLargura - TelaMEsque
...
Código: Selecionar todos
...
ACTIVATE WINDOW oWnd MAXIMIZED VALID SalvaCoordenadas(oWnd) ; // Salva ultima coordenada antes de sair
oWnd:Move( TelaMTopo,TelaMEsque,ResLargura,ResAltura, .t. ) ; // Aqui a tela é reajustada
ON RESIZE SalvaCoordenadas(oWnd) // Salva coordenadas após alterar posições da janela
...
Código: Selecionar todos
...
function SalvaCoordenadas(oWnd)
VerifyINI( "PROGRAMA", "COORDT", GetWndRect(oWnd:hWnd)[1], cPath+"seu.ini", .t. )
VerifyINI( "PROGRAMA", "COORDL", GetWndRect(oWnd:hWnd)[2], cPath+"seu.ini", .t. )
VerifyINI( "PROGRAMA", "COORDH", GetWndRect(oWnd:hWnd)[3], cPath+"seu.ini", .t. )
VerifyINI( "PROGRAMA", "COORDW", GetWndRect(oWnd:hWnd)[4], cPath+"seu.ini", .t. )
return nil
function VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )
oIni := TIni():New( _inifile_ )
if _grava_ = .t.
oIni:Set( _section_, _entry_, _var_ )
endif
return oIni:Get( _section_, _entry_, _var_, _var_ )
...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Dr.Microso
- Usuário Nível 3

- Mensagens: 173
- Registrado em: 12 Jan 2009 21:26
- Localização: Belo Horizonte, MG
Re: Resolução de tela: como definir/contextualizar do seu soft?
Colegas, salve!
Legal Vander, não conhecia ainda este recurso.
Muito interessante o código Rochinha, bem funcional.
(bakana este seu novo avatar) .
Grato pela ajuda.
Legal Vander, não conhecia ainda este recurso.
Muito interessante o código Rochinha, bem funcional.
(bakana este seu novo avatar) .
Grato pela ajuda.
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com