auto ajuste de 800x600 para 124x768
olá colegas, mais uma vez estou precisando de ajuda...
gostária q vcs m ajuda com o seguinte problema:
gostária q meu programa se ajustasse com a resolução do windows
ex: criei um sistema na resolução de 1024x768, mais o cliente pra quem eu vendi o sistema usa a resulução de 800x600, e os formularios do programa fica gigante tem como ele se adequar de acordo com a resolução?
me ajudem...
gostária q vcs m ajuda com o seguinte problema:
gostária q meu programa se ajustasse com a resolução do windows
ex: criei um sistema na resolução de 1024x768, mais o cliente pra quem eu vendi o sistema usa a resulução de 800x600, e os formularios do programa fica gigante tem como ele se adequar de acordo com a resolução?
me ajudem...
Nandobacker
Curtidas 0
Respostas
Catunda
16/01/2007
Caro colega,
uma solução de definição de resolução automática ainda não tenho, já vi uma única mas não me agradou, era muito trabalhosa e nem sempre resolvia.
Passei então a incluir um utilitário nos sistemas, no qual é possível alterar a resolução do monitor de acordo com as possibilidades existentes no windows do usuário.
Com essa rotina é bem possivel que vc consiga criar uma função que faça isso automaticamente. Possivel é, só não o fiz ainda por falta de tempo.
Boa sorte...e espero ter ajudado.
Crie um formulário contendo um listbox e dois speedbutton.
Estou enviando abaixo, os codigos a serem incluidos nos eventos.
FormResolMonitor é o nome do meu formulário.
SpeedButton1 é o botão que efetua a alteração da resolução selecionada no listbox e fecha o formulário.
SpeedButton4 é o botão pra fechar o formulário sem alterar a resolução.
procedure TFormResolMonitor.FormCreate(Sender: TObject);
var
i : Integer;
DevMode : TDevMode;
begin
{carrega no listbox todas as configurações possiveis de monitor existentes no windows da máquina}
i := 0;
while EnumDisplaySettings(nil,i,Devmode) do begin
with Devmode do
ListBox1.Items.Add(Format(´¬dx¬d ¬d Colors´,
[dmPelsWidth,dmPelsHeight, 1 shl dmBitsperPel]));
Inc(i);
end;
end;
procedure TFormResolMonitor.SpeedButton1Click(Sender: TObject);
var
DevMode : TDevMode;
begin
{clicando neste botão efetua-se a alteração da resolução}
EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
FormResolMonitor.Close;
end;
procedure TFormResolMonitor.SpeedButton4Click(Sender: TObject);
begin
FormResolMonitor.Close;
end;
uma solução de definição de resolução automática ainda não tenho, já vi uma única mas não me agradou, era muito trabalhosa e nem sempre resolvia.
Passei então a incluir um utilitário nos sistemas, no qual é possível alterar a resolução do monitor de acordo com as possibilidades existentes no windows do usuário.
Com essa rotina é bem possivel que vc consiga criar uma função que faça isso automaticamente. Possivel é, só não o fiz ainda por falta de tempo.
Boa sorte...e espero ter ajudado.
Crie um formulário contendo um listbox e dois speedbutton.
Estou enviando abaixo, os codigos a serem incluidos nos eventos.
FormResolMonitor é o nome do meu formulário.
SpeedButton1 é o botão que efetua a alteração da resolução selecionada no listbox e fecha o formulário.
SpeedButton4 é o botão pra fechar o formulário sem alterar a resolução.
procedure TFormResolMonitor.FormCreate(Sender: TObject);
var
i : Integer;
DevMode : TDevMode;
begin
{carrega no listbox todas as configurações possiveis de monitor existentes no windows da máquina}
i := 0;
while EnumDisplaySettings(nil,i,Devmode) do begin
with Devmode do
ListBox1.Items.Add(Format(´¬dx¬d ¬d Colors´,
[dmPelsWidth,dmPelsHeight, 1 shl dmBitsperPel]));
Inc(i);
end;
end;
procedure TFormResolMonitor.SpeedButton1Click(Sender: TObject);
var
DevMode : TDevMode;
begin
{clicando neste botão efetua-se a alteração da resolução}
EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
FormResolMonitor.Close;
end;
procedure TFormResolMonitor.SpeedButton4Click(Sender: TObject);
begin
FormResolMonitor.Close;
end;
GOSTEI 0