Składnia
#include <windows.h>
HWND WINAPI CreateWindowEx(
DWORD dwExStyle,
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);
Argumenty
Zwracana wartość
Jeżeli wywołanie funkcji powiedzie się, zwróci ona uchwyt do nowo stworzonego okna. W przypadku błędu, zwróconą wartością będzie
NULL. Aby uzyskać szczegółowe informacje o błędzie, użyj
GetLastError.
Najczęstszymi przyczynami błędów są:
Opis szczegółowy
Funkcja
CreateWindowEx tworzy nowe okno uwzględniając rozszerzone style okien. W celu jego utworzenia wysyła komunikaty
WM_NCCREATE,
WM_NCCALCSIZE, i
WM_CREATE.
Jeżeli tworzone jest okno potomne, jego domyślną pozycją jest pierwsza od dołu w porządku Z. Jeśli tworzone jest okno zwykłe, znajduje się ono na samej górze w porządku Z, zaraz po oknach posiadających styl
WS_EX_TOPMOST, chyba że tworzone okno także jest w posiadaniu tego stylu.
Aby usunąć okno, należy użyć funkcji
DestroyWindow.
W argumencie
lpClassName mogą być użyte następujące predefiniowane klasy:
Użycie stylu
WS_EX_NOACTIVATE w argumencie
dwExStyle zapobiega aktywowaniu okna po jego utworzeniu. Aby zapobiec aktywowaniu okna po tym, jak zostało ono kliknięte przez użytkownika, należy odpowiednio obsłużyć komunikat
WM_MOUSEACTIVATE. Aby przenieść okno na pierwszy plan, lub je aktywować, użyj funkcji
SetForegroundWindow lub
SetActiveWindow. Zwrócenie
false
podczas obsługi komunikatu
WM_NCACTIVATE zapobiega utracie aktywności. Wartość zwrócona jest ignorowana podczas aktywacji.
Użycie stylu
WS_EX_COMPOSITED spowoduje, że wszystkie okna potomne będą rysowane z użyciem podwójnego buforowania. Rysowanie to pozwala uzyskać efekty przeźroczystości oraz przejrzystości (jeśli okno posiada styl
WS_EX_TRANSPARENT), a także zapobiega migotaniu.
Wymagania
Zagadnienia powiązane
CreateWindow | Tworzy nowe okno. (funkcja) |
---|
DestroyWindow | Niszczy wskazane okno. (funkcja) |
---|
EnableWindow | Włącza lub wyłącza otrzymywanie komunikatów od klawiatury i myszki dla danego okna. (funkcja) |
---|
RegisterClass | Rejestruje klasę okna. (funkcja) |
---|
SetActiveWindow | Aktywuje okno, które musi być powiązane z kolejką komunikatów wywołującego wątku. (funkcja) |
---|
SetForegroundWindow | Wysuwa podane okno na pierwszy plan. (funkcja) |
---|
SetWindowLong | Modyfikuje atrybuty okna (Windows 32 bitowy). (funkcja) |
---|
SetWindowPos | Zmienia rozmiar, pozycję lub kolejność wyświetlania okna. (funkcja) |
---|
ShowWindow | Ustawia określony stan widoczności okna. (funkcja) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.