Okno POPUP z rodzicem czy bez?

0

Witam,
mam kolejne pytanie z zakresu WinApi, chociaż chyba jest dość ogólne (dot. innych bibliotek?).
Mam wątpliwość czy jeśli tworzę okno ze stylem WS_POPUP to czy ono:
a) powinno mieć rodzica? czy może
b) może ale nie musi mieć rodzica? czy może
c) nie powinno mieć ustawionego rodzica?

Wcześniej byłem przekonany, że powinno mieć rodzica - w końcu nie jest to okno główne... jednak zacząłem się nad tym zastanawiać po przeczytaniu opisu do funkcji SetParent() na MSDN, gdzie jest napisane:

if hWndNewParent is not NULL and the window was previously a child of the desktop, you should clear the WS_POPUP style and set the WS_CHILD style before calling SetParent.

Z góry dzięki za pomoc.

0

Dobra, doszedłem do tego, że styl WS_POPUP nie powinien mieć rodzica. Ale czym właściwie jest ten styl? Co on oznacza i co mi daje? Czym różni się okno, gdy zastosuję ten styl od okna bez tego stylu (okna głównego)?

1

Czym różni się okno, gdy zastosuję ten styl od okna bez tego stylu (okna głównego)?

A tak trudno sprawdzić? ;-)

Okno z WS_POPUP domyślnie nie ma ramki. Może ale nie musi mieć parenta. Jeżeli ma, może wystawać poza okno parenta, w przeciwieństwie do WS_CHILD.
WS_POPUP nie ma domyślnego rozmiaru ani pozycji na ekranie, więc nie można tam podawać CW_USEDEFAULT.

WS_POPUP służy też do tworzenia okien pełnoekranowych.

0

Dzięki @Azarien ;-).

Azarien napisał(a):

A tak trudno sprawdzić? ;-)

Aż taki leniwy to nie jestem i sprawdziłem to - ale źle to robiłem, bo dodawałem inne style, by porównać wygląd okna etc. z oknem głównym. Natomiast nie zwróciłem uwagi, że okno bez stylu WS_POPUP (okno główne) nie może nie mieć belki tytułowej... a POPUP może!

Jeszcze raz dzięki za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1