Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI]Tryb pełnoekranowy a rozdzielczosc ekranu

Ostatnio zmodyfikowano 2012-04-19 20:57
Autor Wiadomość
Savail
Temat założony przez niniejszego użytkownika
[WinAPI]Tryb pełnoekranowy a rozdzielczosc ekranu
» 2012-04-19 17:27:07
Hej,
A więc chciałbym stworzyć program z oknem które wyświetlałoby się na cały ekran ale bez zmiany rozdzielczosci ekranu. Nie będzie to gra a więc pasek menu, przyciski (minimalizacji, zamknięcia itp) chcę zostawić. I tutaj nasuwa mi sie pytanie, jak powinno sie tworzyc aplikacje w trybie pelnoekranowym (bez zmiany rozdzielczosci)? Na kazdym komputerze jest inna rozdzielczosc, a wiec w jaki sposob wyswietlac zawartosc okna / ustawiac wspolrzedne elementow aby na kazdym komputerze wszystko sie zawsze miescilo i wygladalo tak samo?
Bede wdzieczny za pomoc!
P-54820
xevuel
» 2012-04-19 17:34:40
C/C++
DEVMODE tryb_ekranu;
ZeroMemory( & tryb_ekranu, sizeof( DEVMODE ) );
tryb_ekranu.dmSize = sizeof( tryb_ekranu );
tryb_ekranu.dmPelsWidth = Xokna;
tryb_ekranu.dmPelsHeight = Yokna;
tryb_ekranu.dmBitsPerPel = 32;
tryb_ekranu.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
if( ChangeDisplaySettings( & tryb_ekranu, CDS_FULLSCREEN ) == DISP_CHANGE_SUCCESSFUL )
{
    //tryb pełnoekranowy
}
else
{
    //tryb okienkowy
}

//...

ChangeDisplaySettings( NULL, 0 );
Gdzie Xokna i Yokna to wymiary twojego okna.

Rozdzielczość ekranu możesz pobrać chociażby wykorzystując funkcję [MSDN] GetWindowRect.
P-54821
Savail
Temat założony przez niniejszego użytkownika
» 2012-04-19 17:59:32
ogolnie wiem jak ustawic pelny ekran ale mam watpliwosci zwiazane z wyswietlaniem sie zawartosci okna pod innymi rozdzielczosciami. Np ja moge ustawic element na x = 1000, a jesli ktos bedzie mial rozdzielczosc ekranu na x = ok 800 to nie bedzie go widzial i utnie mu.
Myslalem ze moze zapisac swoja rozdzielczosc w jakisch zmiennych i np dlugosc i wysokosc kazdego obiektu ktory bede wyswietlal bede mnozyl przez stosunek aktualnej rozdzielczosci na rozdzielczosc na moim kompie? i tak samo z poyzcja obiektow...
P-54823
xevuel
» 2012-04-19 19:22:59
Myslalem ze moze zapisac swoja rozdzielczosc w jakisch zmiennych i np dlugosc i wysokosc kazdego obiektu ktory bede wyswietlal bede mnozyl przez stosunek aktualnej rozdzielczosci na rozdzielczosc na moim kompie? i tak samo z poyzcja obiektow...
Dokładnie.

Piszesz tą aplikację graficzną? Co prawda nie wiem jak jest w DX-ie, ale w OpenGL-u jest tak, że obiekty automatycznie skalują się do danej rozdzielczości.
P-54832
Savail
Temat założony przez niniejszego użytkownika
» 2012-04-19 20:50:07
dzieki wielkie za odpowiedz.
Nadal pisze ten swoj map editor i scrollbar juz zalatwiony ;). Rzeczywiscie ten http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Kontrolki/ScrollBar/338[/a] bardzo sie przydal a nie wiem czy szybko bym go znalazl tak gleboko w kursie.
w Dx samo sie nie skaluje. Przynajmniej tak wynika z moich prob.
P-54836
xevuel
» 2012-04-19 20:57:35
Chodziło mi raczej o to, że jak ustalę współrzędną x np. 0, to niezależnie od rozdzielczości wyświetli się na środku ekranu (przy domyślnych ustawieniach, oczywiście).
P-54839
« 1 »
  Strona 1 z 1