[WinAPI]Tryb pełnoekranowy a rozdzielczosc ekranu
Ostatnio zmodyfikowano 2012-04-19 20:57
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! |
|
xevuel |
» 2012-04-19 17:34:40 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 ) { } else { }
ChangeDisplaySettings( NULL, 0 );
Gdzie Xokna i Yokna to wymiary twojego okna. Rozdzielczość ekranu możesz pobrać chociażby wykorzystując funkcję [MSDN] GetWindowRect. |
|
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... |
|
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. |
|
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. |
|
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). |
|
« 1 » |