URGENTE - Como faço para aterar a resolução

Delphi

08/10/2003

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á....


Bysnaga

Bysnaga

Curtidas 0

Respostas

Bampavao

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.


GOSTEI 0
Mmtoor

Mmtoor

08/10/2003

Pegue um exemplo com fonte em http://www.cjs.com.br
só vai precisar adaptar para a sua real necessidade.


GOSTEI 0
Bysnaga

Bysnaga

08/10/2003

ai valeu as dicas vou ver se consigo fazer um logica legal....


GOSTEI 0
POSTAR