URGENTE - Como faço para aterar a resolução
Bem é o seguinte, estou com um probleminha... quero fazer a minha aplicação alterar a resolução do monitor... MAS AUTOMATICAMENTE
estou usando esses código abaixo, ele me fornece as resoluções que a placas de video suporta e com isso eu tenho que escolher uma e depois clicar no botão, queria que a aplicação fizesse isso por mim..alguem saberia como :
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer;
DevMode : TDevMode;
begin
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 TForm1.Button1Click(Sender: TObject);
var
DevMode : TDevMode;
begin
EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
end;
OBS: e depois que fechar a aplicação teria que voltar a resolução anterior....
muito obrigado desde já....
estou usando esses código abaixo, ele me fornece as resoluções que a placas de video suporta e com isso eu tenho que escolher uma e depois clicar no botão, queria que a aplicação fizesse isso por mim..alguem saberia como :
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer;
DevMode : TDevMode;
begin
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 TForm1.Button1Click(Sender: TObject);
var
DevMode : TDevMode;
begin
EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
end;
OBS: e depois que fechar a aplicação teria que voltar a resolução anterior....
muito obrigado desde já....
Bysnaga
Curtidas 0
Respostas
Bampavao
08/10/2003
Vc poderia usar alguma coisa do tipo......
Implementation
const
ScreenWidth: LongInt = 800; {I designed my form in 800x600 mode.}
ScreenHeight: LongInt = 600;
{$R *.DFM}
procedure TForm1.FormCreate (Sender: Tobject);
begin
scaled := true;
if (screen.width <> ScreenWidth) then
begin
height := longint(height) * longint(screen.height) DIV ScreenHeight;
width := longint(width) * longint(screen.width) DIV ScreenWidth;
scaleBy(screen.width, ScreenWidth);
end;
end;
ou
if (GetSystemMetrics(SM_CXScreen)=800) and
(GetSystemMetrics(SM_CYScreen)=600) then
if (GetSystemMetrics(SM_CXScreen)=1024) and
(GetSystemMetrics(SM_CYScreen)=768) then
Espero que isso lhe dê uma idéia.
Implementation
const
ScreenWidth: LongInt = 800; {I designed my form in 800x600 mode.}
ScreenHeight: LongInt = 600;
{$R *.DFM}
procedure TForm1.FormCreate (Sender: Tobject);
begin
scaled := true;
if (screen.width <> ScreenWidth) then
begin
height := longint(height) * longint(screen.height) DIV ScreenHeight;
width := longint(width) * longint(screen.width) DIV ScreenWidth;
scaleBy(screen.width, ScreenWidth);
end;
end;
ou
if (GetSystemMetrics(SM_CXScreen)=800) and
(GetSystemMetrics(SM_CYScreen)=600) then
if (GetSystemMetrics(SM_CXScreen)=1024) and
(GetSystemMetrics(SM_CYScreen)=768) then
Espero que isso lhe dê uma idéia.
GOSTEI 0
Mmtoor
08/10/2003
Pegue um exemplo com fonte em http://www.cjs.com.br
só vai precisar adaptar para a sua real necessidade.
só vai precisar adaptar para a sua real necessidade.
GOSTEI 0
Bysnaga
08/10/2003
ai valeu as dicas vou ver se consigo fazer um logica legal....
GOSTEI 0