Skocz do zawartości
Zecke

Windowstate: Maximized (builder C++ 6)

Rekomendowane odpowiedzi

No właśnie. Pracuje w rozdzielczości 1280x1024. Stworzyłem sobie alikacje o wymiarach 700x400 px. Gdy uruchamiam ją normalnie, pojawia mi się na środku ekranu tak jak sobie to ustaliłem (poDesktopCenter). I teraz moje pytanie, gdy zaznaczam zeby aplikacja uruchamiała się jako okno zmakymalisowane, to moja aplikacja ląduje w lewym, górnym rogu, a ja chce ją wycentorować, zeby była dokładnie po środku. Jak to zrobić? Z góry dziękuje za pomoc i pozdrawiam forumowiczów.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

form1-> top , left? masz atryybuty wskazujące połzenie...

 

wystarczy odczytać rozdzielczosc ekranu Screen.width() - tak było w delphi czy w builderze jest to nie chce mi sie właczać :)

 

wtedy dzielicsz tą rozdziałkę ekranu na 2, i odejmujesz form1->widthh /2 ..zeby przesunąc okno o polowe od środka ekranu...

 

nie rozumiem dokłądnie .. jeśli maxymalizujesz okno to zajmuje ono cały ekran... ood punktu 0.0 do 1280.1024-pasek_dolny

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Moja aplikacja nie zajmuje całego ekranu! Jest wielkości 700x400 px i po maksymalizacji jest w górnym, lewym rogu, a resztę zajmuje czarne tło. Ja chce wycentorawać tą moją aplikacje, tak żeby to czarne tło jakby oblewało moją formę o podanych wyżej rozmiarach z każdej strony.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. Kwestia tego, czym jest twoja aplikacja (o tych wymiarach), skoro forma jest zmaksymalizowana?

2. Cokowiek to jest, to rozmiar tego można zmieniać dynamicznie. W Builderze są 2 zdarzenia (a przynajmniej jedno z nich - nie pamiętam teraz): OnResize oraz OnMaximize. Klikasz na jedno z nich i piszesz skrypt wg tego, co powiedział jeden z przdmówców:

cos.Left = (screen.Width-cos.Width)/2 //odstęp od lewejcos.Top = (screen.Height-cos.Height)/2 //odstęp od góry
Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Sprawdziłe w delphi(bo nie mam c++ na dysku) i jest jeszcze jedna rzecz na ktora należy zwrócic uwagę.

 

Niemozna wpisac tego wycentrowania bezposrednio w obsługe wyswietlenia/utworzenai formy bo nie zadziała. Musi zostac wykonane dopiero po wyswietleniu formy po tym jak się zmaksymalizuje.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki chłopaki. Poradziłem sobie. Jest tylko jedna kwestia, bo chce mieć tzw "fullscreen" i udaje mi sie to połowicznie, gdyż użwaym opcji allign - alclient i nie znika mi dolny pasek zadań, górny moge usunąć opcją borderstyle - "bsnone", a dolny zostaje. Jak zlikwidować dolny? Jeszcze raz dzięki i pozdrawiam ciepło

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie do końca rozumiem, o jaki pasek Ci chodzi. Zakładam, iż o tzw. "status bar" - np taki jak w przeglądarce jest. Jeśli nie ma parametru "Visible" w jego właściwościach, to jedyny sposób na pozbycie się go, to wywalnie z formy. Możnaby go chyba dynamicznie ładować i usuwać, ale to wyższa szkoła jazdy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...