Yapmaya çalıştığım işlem uygulamaya ait bir formun actif olup olmama durumuna göre ekran çözünürlüğünü değiştirmek istiyorum. Fakat nerede hata yaptığımı bir türlü çözemedim yada konu hakkında bilgisi olan bir açıklama yapabilir mi.
Form Create;
Kod: Tümünü seç
ListBox1.items.Add(IntToStr(Screen.Width)+'x'+IntToStr(Screen.Height)+' 1 Colors');// Aktif olan ekran çözünürlüğü
EnumDisplaySettings(nil,0,Devmode);
with Devmode do
ListBox2.Items.Add(Format('%dx%d %d Colors',[dmPelsWidth,dmPelsHeight,1 shl dmBitsperPel])); // bu şekilde Max ekran çözünürşüğünü alıyorum.
ListBox1.ItemIndex:=0; ListBox2.ItemIndex:=0; // itemleri seçili hale getiriyorum.
Kod: Tümünü seç
procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
Caption :='Pencere Aktif!';
EnumDisplaySettings(nil, Listbox1.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
end;
procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
Caption :='Pencere Aktif Değil!';
EnumDisplaySettings(nil, Listbox2.ItemIndex,Devmode);
ChangeDisplaySettings(DevMode,0);
end;
İşletim sistemi Win10 Xp ve Win 7 de yaptığım testlerde de sonuç aynı
