[Delphi] Problemy z rozdzielczością w WinXP

0

Do zmieny rozdzielczości używam następujacego kawałka kodu :

[code]
var
Mode: TDeviceMode;
begin
with Mode do
begin
dmSize:=SizeOf(Mode);
dmPelsWidth:=800;
dmPelsHeight:=600;
dmFields:=DM_PELSWIDTH+DM_PELSHEIGHT;
ChangeDisplaySettings(Mode,0)
end;
end;
[/code]

Ten kawałek kodu jest wywoływany na początku pracy programu,
podczas, gdy pojawia się splash screen. W tym samym miejscu jest
zapamiętywanie starej rozdzielczości ekranu. Przy wychodzeniu z
aplikacji taki sam kawałek kodu zmienia rozdzielczość na starą. I tu
pojawia się problem. Przy tej zmianie zmienia się także częstotliwość
monitora, i resetują ustawienia, tak że na środku jest tylko mały
prostokąt z pulpitem. Byłbym bardzo wdzięczny, gdyby ktoś powiedział
mi, co czynić wypada.

0

A jak zapisujesz poprzednie ustawienia? Daj pelen kod zapisania i przywrocenia ustawien.

0

Poprzednie ustawienia zapisuje do zmiennych typu integer:

[code]
var
rozdzx, rozdzy : integer;
begin
rozdzx := dmpelswidth;
rozdzy := dmpelsheight;
end;
[/code]

0

Poprzednie ustawienia zapisuje do zmiennych typu integer:

To nie lepiej zapisac wszystko hurtem do zmiennej typu TDeviceMode? Wtedy nic nie powinno zginąć (tak zgaduję :))).

1 użytkowników online, w tym zalogowanych: 0, gości: 1