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

[SFML] Pobieranie aktualnej wielkości okna

Ostatnio zmodyfikowano 2019-03-23 18:04
Autor Wiadomość
Bartex321
Temat założony przez niniejszego użytkownika
[SFML] Pobieranie aktualnej wielkości okna
» 2019-03-18 17:58:47
C/C++
RenderWindow OknoAplikacji( sf::VideoMode( 1200, 800, 32 ), "Kolko I Krzyzyk" );
//rozciągnięcie aplikacji przez użytkownika
OknoAplikacji.getSize().x; //1200
OknoAplikacji.getSize().y; //800
Jak w powyższym przykładzie: chcę pobrać aktualną wielkość okna, lecz dostaję tą, z którą okno zostało utworzone.
Moje pytanie brzmi w jaki sposób można sprawdzić AKTUALNĄ wielkość okienka, czyli po zabiegach użytkownika, a jeżeli się nie da tego zrobić, to jak mogę zablokować okno, aby użytkownik nie mógł zmienić jego rozmiaru
P-174211
jankowalski25
» 2019-03-18 18:37:14
Dodaj reakcję na zdarzenie
sf::Event::Resized
 i tam odczytuj nowy rozmiar okna. Możesz również przy tworzeniu okna użyć
sf::Style
 bez
sf::Style::Resize
 (czyli
sf::Style::None
,
sf::Style::Titlebar
 lub
sf::Style::Close
). Oczywiście jest jeszcze
sf::Style::Fullscreen
, ale wtedy najpierw należałoby sprawdzić, jakie rozdzielczości są dopuszczalne (przez
sf::VideoMode::getFullscreenModes()
).
P-174212
pekfos
» 2019-03-18 19:37:33
Moje pytanie brzmi w jaki sposób można sprawdzić AKTUALNĄ wielkość okienka, czyli po zabiegach użytkownika
Metodą getSize() okna. Zapewne robisz coś źle.
P-174213
Bartex321
Temat założony przez niniejszego użytkownika
» 2019-03-19 15:39:57
dałem do okna styl close i problem rozwiązany wielkie dzięki za podpowiedź, myślałem, że jest tylko Fullscreen.
Co do robienia coś źle to nie bardzo można coś zepsuć, tym bardziej, że CB sam podpowiada
P-174214
DejaVu
» 2019-03-19 20:09:37
Pewnie viewport size trzeba odczytać po zmianie rozmiaru okna.

C/C++
auto windowSize = sf::Vector2f( window().getSize() ); // Rozmiar okna
auto viewSize = window().getView().getSize(); // Rozmiar widoku (nie ulega zmianie przy zmianie rozmiaru okna - trzeba samodzielnie aktualizować).
P-174216
Bartex321
Temat założony przez niniejszego użytkownika
» 2019-03-23 17:39:06
P-174236
DejaVu
» 2019-03-23 18:04:43
Jeden temat = jeden problem. Zamykam.
P-174237
« 1 »
  Strona 1 z 1