Witam.
Pacnij na forme buttona, 2 Edity i zadeklaruj 2 zmienne globalne X i Y typu Integer a teraz procedurki:
procedure TForm1.FormCreate(Sender: TObject);
begin
X := GetSystemMetrics(SM_CXSCREEN); // pobranie rozdzielczosci
Y := GetSystemMetrics(SM_CYSCREEN);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Mode: TDeviceMode;
begin
X1 := GetSystemMetrics(SM_CXSCREEN);
Y1 := GetSystemMetrics(SM_CYSCREEN);
if (X X1) or (Y Y1) then
begin
with Mode do
begin
dmSize:=SizeOf(Mode);
dmPelsWidth:=X;
dmPelsHeight:=Y;
dmFields:=DM_PELSWIDTH+DM_PELSHEIGHT;
ChangeDisplaySettings(Mode,0);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
X := StrToInt(Edit1.Text);
Y := StrToInt(Edit2.Text);
end;
W Edit1 wpisujesz nowa rozdzielczosc X a w 2 rozdz. Y.
UWAGA! wpisane rozdzielczosci musza byc standardami, np. 600x480, 800x600, 1024x768 itp. Nie probowalem co sie stanie jak sie wpisze inne ale pewnie beda jakies bledy, albo program zwisnie, albo sie procek spali;). zmieniajac inteval timera zmnirejszasz czestotliwosc sprawdzania czy rozdzielczosc sie zmienila, ale za to masz mniejsze obciazenie procesorka:). To chyba tyle z racji wylasnienia.
BTW. Ciekawi mnie po co Ci ten program. Jakbys mogl to odpisz w tym temacie albo napisz mi na gg 3137343.