Rozszerzone style okien
Poniżej przedstawiono rozszerzone style okien.
Przykład
virtual BOOL Create(HWND hWndParent, WCHAR* pwszClassName,
WCHAR* pwszWindowName, UINT uID, HICON hIcon,
DWORD dwStyle = WS_OVERLAPPEDWINDOW,
DWORD dwExStyle = WS_EX_APPWINDOW,
int x = CW_USEDEFAULT, int y = CW_USEDEFAULT,
int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT);
Ten kod został pobrany z przykładu w klasycznym repozytorium Windows repozytorium GitHub.
Stała/wartość | Opis |
---|---|
|
Okno akceptuje pliki przeciągania i upuszczania. |
|
Wymusza okno najwyższego poziomu na pasku zadań, gdy okno jest widoczne. |
|
Okno ma obramowanie ze zatopiętą krawędzią. |
|
Maluje wszystkie elementy potomne okna w kolejności malowania od dołu do góry przy użyciu podwójnego buforowania. Kolejność malowania od dołu do góry pozwala okno malejąco mieć efekty przezroczystości (alfa) i przezroczystości (color-key), ale tylko wtedy, gdy okno malejąco ma również zestaw WS_EX_TRANSPARENT bitów. Buforowanie podwójne umożliwia malowanie okna i jego malejących bez migotania. Nie można tego użyć, jeśli okno ma styl klasy CS_OWNDC, CS_CLASSDClub CS_PARENTDC. Windows 2000: Ten styl nie jest obsługiwany. |
|
Pasek tytułu okna zawiera znak zapytania. Gdy użytkownik kliknie znak zapytania, kursor zmieni się na znak zapytania ze wskaźnikiem. Jeśli użytkownik kliknie okno podrzędne, element podrzędny otrzyma komunikat WM_HELP. Okno podrzędne powinno przekazać komunikat do procedury okna nadrzędnego, która powinna wywołać funkcję WinHelp przy użyciu polecenia HELP_WM_HELP. Aplikacja Pomoc wyświetla okno podręczne, które zwykle zawiera pomoc dla okna podrzędnego. WS_EX_CONTEXTHELP nie można używać ze stylami WS_MAXIMIZEBOX ani WS_MINIMIZEBOX. |
|
Samo okno zawiera okna podrzędne, które powinny wziąć udział w nawigacji okna dialogowego. Jeśli ten styl zostanie określony, menedżer okna dialogowego powraca do elementów podrzędnych tego okna podczas wykonywania operacji nawigacji, takich jak obsługa TAB, strzałki lub mnemonic klawiatury. |
|
Okno ma podwójne obramowanie; okno można opcjonalnie utworzyć przy użyciu paska tytułu, określając styl WS_CAPTION w parametrze dwStyle. |
|
Okno to okno warstwowe. Nie można użyć tego stylu, jeśli okno ma styl klasy CS_OWNDC lub CS_CLASSDC. Windows 8: Styl WS_EX_LAYERED jest obsługiwany dla okien najwyższego poziomu i okien podrzędnych. Poprzednie wersje systemu Windows obsługują WS_EX_LAYERED tylko w przypadku okien najwyższego poziomu. |
|
Jeśli język powłoki to hebrajski, arabski lub inny język, który obsługuje wyrównanie kolejności odczytu, poziome źródło okna znajduje się na prawej krawędzi. Zwiększanie wartości poziomych przechodzi do lewej strony. |
|
Okno ma ogólne właściwości wyrównane do lewej. Jest to wartość domyślna. |
|
Jeśli język powłoki to hebrajski, arabski lub inny język, który obsługuje wyrównanie kolejności odczytu, pionowy pasek przewijania (jeśli istnieje) znajduje się po lewej stronie obszaru klienta. W przypadku innych języków styl jest ignorowany. |
|
Tekst okna jest wyświetlany przy użyciu właściwości kolejności odczytu od lewej do prawej. Jest to wartość domyślna. |
|
Okno jest oknem podrzędnym MDI. |
|
Okno najwyższego poziomu utworzone za pomocą tego stylu nie staje się oknem pierwszego planu po kliknięciu go przez użytkownika. System nie wprowadza tego okna na pierwszy plan, gdy użytkownik minimalizuje lub zamyka okno pierwszego planu. Okno nie powinno być aktywowane za pośrednictwem dostępu programowego lub nawigacji za pomocą klawiatury przez dostęp do technologii, takiej jak Narrator. Aby aktywować okno, użyj funkcji SetActiveWindow lub SetForegroundWindow. Okno nie jest domyślnie wyświetlane na pasku zadań. Aby wymusić wyświetlenie okna na pasku zadań, użyj stylu WS_EX_APPWINDOW. |
|
Okno nie przekazuje układu okna do okien podrzędnych. |
|
Okno podrzędne utworzone za pomocą tego stylu nie wysyła komunikatu WM_PARENTNOTIFY do okna nadrzędnego podczas jego tworzenia lub zniszczenia. |
|
Okno nie jest renderowane na powierzchni przekierowania. Dotyczy to okien, które nie mają widocznej zawartości lub używają mechanizmów innych niż powierzchnie w celu udostępnienia ich wizualizacji. |
|
Okno jest nakładanym oknem. |
|
Okno to okno palety, które jest bez moderowym oknem dialogowym, które przedstawia tablicę poleceń. |
|
Okno ma ogólne właściwości "wyrównane do prawej". Zależy to od klasy okna. Ten styl ma wpływ tylko wtedy, gdy język powłoki jest hebrajski, arabski lub inny język, który obsługuje wyrównanie kolejności czytania; w przeciwnym razie styl jest ignorowany. Użycie stylu WS_EX_RIGHT dla kontrolek statycznych lub edycji ma taki sam efekt jak użycie odpowiednio stylu SS_RIGHT lub ES_RIGHT. Użycie tego stylu z kontrolkami przycisków ma taki sam efekt jak używanie stylów BS_RIGHT i BS_RIGHTBUTTON. |
|
Pionowy pasek przewijania (jeśli istnieje) znajduje się po prawej stronie obszaru klienta. Jest to wartość domyślna. |
|
Jeśli język powłoki to hebrajski, arabski lub inny język, który obsługuje wyrównanie kolejności odczytu, tekst okna jest wyświetlany przy użyciu właściwości porządku odczytu od prawej do lewej. W przypadku innych języków styl jest ignorowany. |
|
Okno ma styl obramowania trójwymiarowego, który ma być używany dla elementów, które nie akceptują danych wejściowych użytkownika. |
|
Okno ma być używane jako przestawny pasek narzędzi. Okno narzędzia ma pasek tytułu krótszy niż normalny pasek tytułu, a tytuł okna jest rysowany przy użyciu mniejszej czcionki. Okno narzędzia nie jest wyświetlane na pasku zadań lub w oknie dialogowym wyświetlanym po naciśnięciu ALT+TAB przez użytkownika. Jeśli w oknie narzędzi znajduje się menu systemowe, jego ikona nie jest wyświetlana na pasku tytułu. Można jednak wyświetlić menu systemowe, klikając prawym przyciskiem myszy lub wpisując ALT+SPACJA. |
|
Okno powinno zostać umieszczone nad wszystkimi oknami nienależące do góry i powinny pozostać nad nimi, nawet jeśli okno jest dezaktywowane. Aby dodać lub usunąć ten styl, użyj funkcji SetWindowPos. |
|
Okno nie powinno być malowane, dopóki rodzeństwo pod oknem (utworzone przez ten sam wątek) zostało malowane. Okno wydaje się przezroczyste, ponieważ bity podstawowych okien równorzędnych zostały już malowane. Aby uzyskać przezroczystość bez tych ograniczeń, użyj funkcji SetWindowRgn. |
|
Okno ma obramowanie z podniesioną krawędzią. |
Wymagania
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
Nagłówek |
|