kategoria: Amiga E
[#1] Otwarcie okna w trybie invisible
Hej

otwierając okno trzeba zdefiniować rozmiar i położenie, i jest ono od razu widoczne po funkcji OpenWindow(). Potem dodajemy gadzety, które pojawiają się w otwartym oknie.

Jak najlepiej rozwiązać sytuacje, w której w sposób dynamiczny obliczamy położenie i rozmiar gadgetów, uwzględniając np rozmiar wybranego fontu, i potrzebny rozmiar okna jest znany już po dodaniu ostatniego gadzetu?

W tej chwili na koniec robię:
ChangeWindowBox( _ptrWindow, _iWinX, _iWinY, _iWinWidth, _iWinHeight)
co zmienia rozmiar i położenie okna n pożądane, ale na wolniejszych maszynach widać jak się rysuje pierwotne okno i za moment drugi raz w nowym rozmiarze.

Czy jest jakiś sposób żeby otworzyć okno (wskaźnik na okno jest potrzebym przy dodawaniu gadżetów, więc o okno otworzyć wczesniej trzeba), ale jako niewidoczne, a po zmianie rozmiaru zrobić je widoczne?

Nic nie znalazłem w dokumentacji, ale może jakiś sposób jest, ewentualnie jakaś sztuczka?
[#2] Re: Otwarcie okna w trybie invisible

@vojo, post #1

Generalnie nie ma takiej opcji, ale rozmiar elementów możesz łatwo obliczyć wcześniej. Ekranową czcionkę łatwo odczytasz.

W strukturze Screen masz rozmiary ramek okienek: WBorTop, WBorBottom itd., zaś czcionka z RastPort.Font.

Jeśli chcesz rzeczywiście niewidzialne okienko, to jest na to sposób pod AmigaOS 3: ustawiasz WA_BackFill na LAYERS_NOBACKFILL oraz WA_SimpleRefresh na TRUE. Ale tak jak pisałem, nie jest to konieczne.

Ostatnia aktualizacja: 27.10.2019 15:43:22 przez Hexmage960
[#3] Re: Otwarcie okna w trybie invisible

@Hexmage960, post #2

dzięki, miałem nadzieję ze da się to zrobić bez jakiegoś przerabiania kodu i założeń ;)
[#4] Re: Otwarcie okna w trybie invisible

@vojo, post #3

Ja u siebie licze i otwieram gadgety wlasnie przed otwarciem okna :)
Tylko pamietaj ze struktura Screen zawiera "uniwersalne" szerokosci ramek wiec bez gadgetow jakie Twoje okno w nie wsadzi (wiec zazwyczaj bedzie to wartosc 2).
Tu masz jak policzyc dokaldnie szerokosc przed otwarciem okna -musiz sprawdzic rozmiar obrazka systemowego (post 23, to co dodane w EDIT)
link
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem