Skocz do zawartości

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


Trust

Recommended Posts

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

Link do komentarza
Udostępnij na innych stronach

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);
Link do komentarza
Udostępnij na innych stronach

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 ;)

Link do komentarza
Udostępnij na innych stronach

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...