Skocz do zawartości

Jak zmienić rozdzielczość ekranu w winapi ??!! HELP!!!!!!!!!


Recommended Posts

Napisano

ale w delphi:

var Mode:TDeviceMode;
    S:String;
begin
 with Mode do
 begin
  dmSize:=SizeOf(Mode);
  dmBitsPerPel:=16;
  dmPelsWidth:=800;
  dmPelsHeight:=600;
  dmFields:=DM_PELSWIDTH+DM_PELSHEIGHT;
 end;
 case ChangeDisplaySettings(Mode,0)of
  DISP_CHANGE_SUCCESSFUL:S:='Operacja przebiegła pomyślnie';
  DISP_CHANGE_RESTART:S:='Aby zmiany odniosły skutek należy zrestartować systi';
  DISP_CHANGE_BADFLAGS:S:='Błędne pole dmFields';
  DISP_CHANGE_FAILED:S:='Błąd podczas ustawiania trybu';
  DISP_CHANGE_BADMODE:S:='Ten tryb nie jest obsługiwany';
  DISP_CHANGE_NOTUPDATED:S:='Rejestr nie został zaktualizowany';
  else S:='Nieznany kod wyniku';
 end;

czyli funkcja ChangeDisplaySettings

Napisano

Tu nawet nie chodzi o różnice języków - WinAPI jest takie same w Delphi jak w C/C++. Twardy dał pełną odpowiedź na pytanie RUFK4 ;-) na końcu swojego postu:

Twardy napisał:
czyli funkcja ChangeDisplaySettings

Wystarczyło tylko poszukać informacji jej temat w Googlach lub MSDNie.

Napisano

Aby zmienić rozdzielczość:

    DEVMODE dm;
    memset (&dm, 0, sizeof (dm));
    dm.dmSize = sizeof (dm);
    dm.dmPelsWidth = width;
    dm.dmPelsHeight = height;
    dm.dmBitsPerPel = bits;
    dm.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
    
    ChangeDisplaySettings (&dm, CDS_FULLSCREEN);

Gdzie 'width i height' to rozdzielczość
'bits' to ilość kolorów np. wartość 24 to: 24bity a nie 24 kolory

Aby przywrócić oryginalne ustawienia:

ChangeDisplaySettings (NULL, 0);
Napisano

wiecie wielkie dzięki za pomoc ale mi i tak wywala błąd!!:

In function `LRESULT Petla_Komunikatow(HWND__ *, unsigned int, unsigned int, long int)':
`CDS_FULLSCREEN' undeclared (first use this function)
 (Each undeclared identifier is reported only once
for each function it appears in.)

prosze was bardzo niech mi ktos caly progs napisze ale tak by kompilowal sie w dev-c++ :$ prosze was bardzo musze to jakos zrobic i sie nauczyc a tu najlatwiej z wami ;)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...