Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
juniorsoftcb Aprendiz
Registrado: Domingo, 21 de Setembro de 2008 Mensagens: 107 Localização: Casa Branca-SP
|
Enviada: Qua Abr 21, 2010 3:08 pm Assunto: Resolução de Tela 1024 x 768 |
|
|
Olá amigos minha aplicação Delphi 7 foi desenvolvida com resolução 1024 x 768 mas em alguns clientes principalmente com o W7 a resolução esta bem maior que isso, tem como padronizar todos os forms para 1024 x 768 ?
Obrigado mais uma vez !
Júnior |
|
Voltar ao Topo |
|
|
Lehapan Experiente
Registrado: Quarta-Feira, 16 de Junho de 2004 Mensagens: 401 Localização: Caxias do Sul - RS
|
Enviada: Qui Abr 22, 2010 8:19 am Assunto: |
|
|
O que você quer dizer com "padronizar"? Não deixar alterar o tamanho, sempre entrar com este tamanho mas não pode ser alterado, explique um pouco melhor para poder-mos lhe ajudar corretamente. _________________ Wilson Lehapan Junior, vulgo Paulista...!!! |
|
Voltar ao Topo |
|
|
juniorsoftcb Aprendiz
Registrado: Domingo, 21 de Setembro de 2008 Mensagens: 107 Localização: Casa Branca-SP
|
Enviada: Qui Abr 22, 2010 9:04 am Assunto: |
|
|
Olá Lehapan,
Algo tipo que ajustace a resolução automaticamente, atualmente tenho 80 forms (Exemplo) e imagina eu ajustar os forms 1 a 1; Imginei um componente para que o aplicativo tipo trabalhe em 1024 x 768 e ao finaliza-lo ele volte a resolução anterior.
Compreendeu ?
Muito Obrigado ! |
|
Voltar ao Topo |
|
|
Lehapan Experiente
Registrado: Quarta-Feira, 16 de Junho de 2004 Mensagens: 401 Localização: Caxias do Sul - RS
|
Enviada: Qui Abr 22, 2010 9:08 am Assunto: |
|
|
Acho meio difícil ter, a não ser que você possua um procedimento padrão para abrir os seus forms, ou um formulário padrão que seja sempre herdado.
Desculpe não poder lhe ajudar muito. _________________ Wilson Lehapan Junior, vulgo Paulista...!!! |
|
Voltar ao Topo |
|
|
juniorsoftcb Aprendiz
Registrado: Domingo, 21 de Setembro de 2008 Mensagens: 107 Localização: Casa Branca-SP
|
Enviada: Qui Abr 22, 2010 10:09 pm Assunto: |
|
|
Ok, Lehapan
De qualquer forma lhe agradeço Muito !!!
Se eu conseguir algo,,,, posto aqui Ok
At+
junior |
|
Voltar ao Topo |
|
|
oneshotbr Colaborador
Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Sex Abr 23, 2010 1:34 am Assunto: |
|
|
Seus formulários são chamados como ?
São modal ? Tem propriedades no Delphi que você pode sempre deixar centralizado os forms ou sempre em tela cheia isso ajuda ? |
|
Voltar ao Topo |
|
|
usr2 Aprendiz
Registrado: Segunda-Feira, 14 de Setembro de 2009 Mensagens: 253
|
Enviada: Seg Abr 26, 2010 4:01 pm Assunto: |
|
|
Colega eu resolvi esta parada com uma procedure que achei na net ela muda a configuração de video do meu cliente enquanto minha aplicação estiver em uso depois devolve a resolução padrão do cliente
Ve se te ajuda ai vai o codigo fonte dela
Como tive muitos problemas em relação a configurações de vídeo resolvi criar este mini tutorial para que possam ajudar a quem estiver interessado .
Nota : Estas dicas que estão neste documento não são minhas apenas peguei na Internet e sites de programação e adaptei conforme minha necessidade sendo assim cheguei em um padrão que qualquer pode adaptar seguindo o modelo que fiz
Set Screen Resolution
No delphi por padrão não existe esta função você irá precisar dela mais tarde , declare na USES logo abaixo de {$R *.dfm}:
Não esqueça de usar a biblioteca do windows : Shellapi.
function SetScreenResolution(Width, Height: integer): Longint;
var
DeviceMode: TDeviceMode;
begin
with DeviceMode do begin
dmSize := SizeOf(TDeviceMode);
dmPelsWidth := Width;
dmPelsHeight := Height;
dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
end;
Result := ChangeDisplaySettings(DeviceMode, CDS_UPDATEREGISTRY);
end;
Declare as seguintes variáveis globais :
oldwidth:integer;
OldHeight :integer;
Auxwidth:integer;
Auxheight:integer ;
No evento On Create do Form principal ponha o seguinte código :
var Mens: String;
begin
EnableMenuItem(GetSystemMenu(handle, False), SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
begin
if (Screen.Width =1024) and (Screen.Height = 768) then
begin
Auxwidth :=1024;
Auxheight :=768;
end;
if (Screen.Width <> 1024) and (Screen.Height <> 768) then
begin
OldWidth := Screen.Width;
OldHeight := Screen.Height;
Auxwidth:=oldwidth;
Auxheight:=OldHeight;
Mens := 'O Programa "Seu programa -"irá ajustar sua resolução de vídeo para 1024 X 768'+#13;
Mens := Mens + 'automaticamente para uma melhor visualisação, mas não se preocupe pois ao termino de uso ,' + #13;
Mens := Mens + ' ele retornará sua resolução novamente. Muito obrigado...';
MessageBox(Self.Handle, PChar(Mens), 'Ajuste de Vídeo', MB_OK + MB_ICONWARNING);
SetScreenResolution(1024, 768);
end;
end;
end;
Explicando :
Desenvolvi este programa em uma resolução 1024X768 (tamanho do Forms) mas se por exemplo o usuário estiver com uma resolução diferente seja ele maior ou menor que 1024 ele seta para 1024 e quando ele encerra o programa ele volta para resolução anterior :
Detalhes:
Ao criar o form o código faz a seguinte verificação ,
As variaveis OldWidth e OldHeight recebem a resolução da tela atual depois testa as seguintes condições :
“Se for 1024 as variáveis auxiliares Auxwidth e Auxheight recebem as resolução 1024 X768 “(Isto será usado com base na hora de fechar o form logo abaixo ).
Agora “Se for diferente de 1024 as as variáveis auxiliares Auxwidth e Auxheight recebem agora o que as variáveis OldWidth e OldHeight ou seja a resolução de tela atual .
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Agora coloque um botão “sair “ ou no evento OnClose do seu form e ponha o seguinte código :
If (Screen.Width = 1024)and(Auxwidth=1024)and(Screen.Height = 768)and(Auxheight=768) then
begin
Application.Terminate;
end;
If (Screen.Width = 1024)and(Auxwidth<>1024)and(Screen.Height = 768)and(Auxheight<>768) then
if (Application.MessageBox('Voltando para sua resolução antiga...','Ajustes Automaticos',MB_OK +MB_ICONWARNING)=ID_OK )then
Begin
OldWidth := 800 ;
OldHeight := 600;
SetScreenResolution(Auxwidth, Auxheigth);
end;
Application.Terminate;
end;
Explicando :
Ao fechar o form o código verifica a resolução atual e verifica também as variáveis auxiliares – Auxwidth e AuxHeight
Detalhes
Após verificar a resolução de tela atual e as variáveis ele testa as seguintes condições :
“ Se a resolução e a variáveis auxiliares forem iguais ele termina a aplicação
“Se a resolução for 1024 X768 (que o próprio programa determinou) e as variáveis forem diferentes ele volta para a resolução antiga ou seja volta para a resolução que estava antes de abrir o programa . |
|
Voltar ao Topo |
|
|
juniorsoftcb Aprendiz
Registrado: Domingo, 21 de Setembro de 2008 Mensagens: 107 Localização: Casa Branca-SP
|
Enviada: Ter Jun 08, 2010 9:37 pm Assunto: |
|
|
Vou testar esta procedure !
Depois posto aqui os comentários !
Obrigado ! |
|
Voltar ao Topo |
|
|
natalia_ Novato
Registrado: Quarta-Feira, 11 de Fevereiro de 2009 Mensagens: 81 Localização: Recife-PE
|
|
Voltar ao Topo |
|
|
nacht21 Experiente
Registrado: Segunda-Feira, 5 de Julho de 2010 Mensagens: 481
|
Enviada: Ter Dez 14, 2010 10:31 am Assunto: |
|
|
kkkk...
É o mesmo tópico, owwww! |
|
Voltar ao Topo |
|
|
natalia_ Novato
Registrado: Quarta-Feira, 11 de Fevereiro de 2009 Mensagens: 81 Localização: Recife-PE
|
Enviada: Ter Dez 14, 2010 10:32 am Assunto: |
|
|
nem havia percebido. _________________ Nara =) |
|
Voltar ao Topo |
|
|
rvercesi Mestre
Registrado: Segunda-Feira, 29 de Novembro de 2010 Mensagens: 912 Localização: Curitiba / PR
|
Enviada: Ter Dez 14, 2010 10:40 am Assunto: |
|
|
Só não entendi qual o problema de ter um video com resolução maior e o programa na resolução menor!
As letras ficam muito pequenas? É por isso?
Você com isso pode ter alguns problemas!
Se o cara usa 800 x 600 e o vídeo dele não suportar 1024 x 768?
Vai dar problemas no vídeo! |
|
Voltar ao Topo |
|
|
|