Struktura WNDCLASS zawiera atrybuty klasy okna, które są zarejestrowane przez funkcję RegisterClass.
Ta struktura została zastąpiona struktury WNDCLASSEX używane z funkcją RegisterClassEx . Można nadal używać WNDCLASS i RegisterClass jeśli nie trzeba ustawić małe ikony skojarzonej z klasy okna.
element TypeDef struct _WNDCLASS {UINT stylu;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
Wystąpienie hInstance uchwyt;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS
Wartość | Działania |
---|---|
CS_BYTEALIGNCLIENT | Wyrównuje obszaru okna klienta na granicy bajtów (w kierunku x). Ten styl wpływa na szerokość okna i ich położenie względem poziomu na wyświetlaczu. |
CS_BYTEALIGNWINDOW | Wyrównuje okno na granicy bajtów (w kierunku x). Ten styl wpływa na szerokość okna i ich położenie względem poziomu na wyświetlaczu. |
CS_CLASSDC | Przydziela jeden kontekstu urządzenia do być współużytkowane przez wszystkich okien w klasie. Ponieważ okna klasy są proces, jest możliwe dla wielu wątków aplikacji do tworzenia okna tej samej klasy. Jest również możliwe wątków próbować używać kontekstu urządzenia równocześnie. W takiej sytuacji system umożliwia tylko jeden wątek, aby pomyślnie zakończyć jego operacji rysowania. Aby uzyskać więcej informacji, zobacz Kontekstów urządzeń. |
CS_DBLCLKS | Wysyła wiadomości do procedury okna kliknij dwukrotnie, gdy użytkownik kliknie dwukrotnie przycisk myszy, gdy kursor znajduje się w oknie należące do klasy. |
CS_GLOBALCLASS | Pozwala aplikacjom tworzyć okna klasy niezależnie od wartości parametru wystąpienie hInstance przekazany do funkcji CreateWindowEx funkcji lub właściwości CreateWindow . Jeśli nie określisz ten styl, parametr wystąpienie hInstance przekazany do funkcji CreateWindow (lub funkcji CreateWindowEx) musi być taka sama jak parametr wystąpienie hInstance przekazany do funkcji RegisterClass. |
Można utworzyć klasy globalnej, tworzenie klasy okna w bibliotece dołączanej (dynamicznie DLL) i nazwę biblioteki DLL w rejestrze w następujących kluczach: | |
HKEY_LOCAL_MACHINE\oprogramowania \Microsoft\Windows NT\ CurrentVersion\Windows\AppInit_DLLs |
|
Gdy rozpoczyna się proces, system ładuje określonej biblioteki dll w kontekście procesu nowo uruchomiona przed wywołaniem funkcji punktu wejścia w ten proces. Biblioteka DLL musi zarejestrować klasy podczas jego inicjowania i określić styl CS_GLOBALCLASS. | |
CS_HREDRAW | Odrysowania całe okno, jeżeli przemieszczanie lub dostosowania rozmiaru zmieni szerokość obszaru klienckiego. |
CS_NOCLOSE | Wyłącza Zamknij w menu okno. |
CS_OWNDC | Przydziela kontekstu urządzenia unikatowy dla każdego okna w klasie. |
CS_PARENTDC | Ustawia jest wycinany obszar okna podrzędnego do tego okna nadrzędnego, tak, aby dziecko można rysować w przypadku obiektu nadrzędnego. Okno z bitem styl CS_PARENTDC odbiera kontekstu urządzenia regularnych z pamięci podręcznej systemu urządzenia kontekstów. Nie dają dziecka, kontekstu urządzenia lub ustawienia kontekstu urządzenia nadrzędnego. Określanie CS_PARENTDC zwiększa wydajność aplikacji. Aby uzyskać więcej informacji, zobacz Kontekstów urządzeń. |
CS_SAVEBITS | Zapisuje jako bitmapa, fragment obrazu ekranu zasłonięte okna. System używa bitmapy zapisanej, aby odtworzyć obraz na ekranie, gdy okno jest usuwany. System wyświetla bitmapy w jego oryginalnej lokalizacji i nie wyśle komunikaty WM_PAINT Windows zasłonięte okna, jeśli nie została odrzucona pamięci używanej przez bitmapy i inne działania ekranu nie zostały unieważnione przechowywane obrazu. Ten styl jest użyteczna dla małych windows (na przykład menu i okien dialogowych), które są wyświetlane krótko i następnie usuwane przed innej działalności ekranu ma miejsce. Ten styl wydłuża czas wyświetlania okna, ponieważ system musi najpierw przydzielić pamięci do przechowywania bitmapy. |
CS_VREDRAW | Odrysowania całe okno, jeżeli przemieszczanie lub wielkość korekty zmienia wysokość obszaru klienckiego. |
COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT
System automatycznie usuwa klasy tła pędzle, gdy klasa jest zwalniane. Aplikacja nie powinien usuwać te pędzle, ponieważ klasa może być używany przez wiele wystąpień aplikacji.
Gdy ten element ma wartość NULL, aplikacja musi malowanie własne tło, zawsze, gdy jest wymagane aby malować na swoim obszarze klienta. Aby ustalić, czy tło muszą być pomalowane, aplikacji można albo przetwarza wiadomość WM_ERASEBKGND lub badanie fErase członkiem PAINTSTRUCT struktury wypełnione przez BeginPaint funkcji.
Jeśli lpszClassName jest ciągiem, określa nazwę klasy okno.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Unicode:Zdefiniowane jako struktur Unicode i ANSI.
Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT