Arkadaşlar C++ ile ekran çözünürlüğünü nasıl değiştirebiliriz, bilgisi olan varmı?
Selam,
Hangi işletim sistemi için istiyorsun? Windows/Linux/Dos ? Hangi compiler'i kullanıyorsun? İşletim
sistemin nedir? İstediğin refresh rate nedir?
Analyzer.
Derleyicim Borland C++ Builder 6.0, winXP kullanıyorum, tahminim bu işlem API lere yazılarak yapılıyor. galiba onun
için işletim sistemini soruyorsun. 800*600 cözünürlüğü 1024*768 yapmak istiyorum win.98 ve XP de çalışabilmeli.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DEVMODE DevMode;
int rc,
xmode;
if (ListBox1->ItemIndex == -1) return;
// ---- Get Device Mode data
EnumDisplaySettings(NULL, ListBox1->ItemIndex,
&DevMode);
// ---- First Test resolution selected
rc = ChangeDisplaySettings(&DevMode, CDS_TEST);
switch (rc) {
case
DISP_CHANGE_SUCCESSFUL:
ChangeDisplaySettings(&DevMode, 0);
Caption = "The settings change was successful.";
break;
case
DISP_CHANGE_RESTART:
ChangeDisplaySettings(&DevMode, 0);
Caption = "The computer must be restarted in order for the graphics mode to work.";
break;
case DISP_CHANGE_BADFLAGS:
Caption = "An invalid set of flags was passed in.";
break;
case DISP_CHANGE_FAILED:
Caption = "The display driver failed the specified graphics mode.";
break;
case DISP_CHANGE_BADMODE:
Caption = "The graphics mode is not
supported.";
case DISP_CHANGE_NOTUPDATED:
Caption = "Windows NT only: Unable to write settings to the registry.";
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DEVMODE DevMode;
int rc,
xmode;
// ---- List display enmunerations until fault.
rc = 1;
xmode = 0;
do {
rc = EnumDisplaySettings(NULL, xmode, &DevMode);
if (rc != 0) {
ListBox1->Items->Add (IntToStr(DevMode.dmPelsWidth) + "X" +
IntToStr(DevMode.dmPelsHeight) + "X" +
IntToStr(DevMode.dmDisplayFrequency) + "Hz " +
IntToStr(DevMode.dmBitsPerPel) + "-Bit");
}
xmode++;
} while (rc
!= 0);
}
//---------------------------------------------------------------------------
95 98 me 2000 xp için Listbox ve buton koyman yeterli es es
Selam,
Ben şu componenti kullanıyorum, kullanımı kolay :
CPResolution v.1.0
http://www.torry.net/vcl/system/otherhardware/cpresolution.zip
Teşekkürler arkadaşlar, Thief'in verdiği notlar çok iyi çalışıyor... :P
yardımcı olabildiysek ne mutlu