WNDCLASS

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 

 

Członkowie

styl
Określa style(s) klasy. Style można łączyć przy użyciu logiczną lub operatora (|). Ten element może być dowolną kombinacją następujących wartości:
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.

lpfnWndProc
Wskaźnik procedurę okna. Aby wywołać procedurę okna, należy użyć funkcji CallWindowProc . Aby uzyskać więcej informacji zobacz temat procedury WindowProc.
cbClsExtra
Określa liczbę nadmiarowych bajtów przydzielić po struktury klasy okna. System inicjuje bajtów do zera.
cbWndExtra
Określa liczbę nadmiarowych bajtów przydzielić po wystąpieniu okna. System inicjuje bajtów do zera. Jeśli aplikacja używa WNDCLASS , aby zarejestrować okno dialogowe utworzone za pomocą dyrektywy klasy w pliku zasobu, należy ustawić tego członka do DLGWINDOWEXTRA.
wystąpienie hInstance
Dojście do instancji, która mieści się procedurę okna tej klasy.
hIcon
Uchwyt na ikonę klasy. Ten element musi być uchwyt zasób ikony. Jeśli ten element ma wartość NULL, aplikacja powinna nakreślić ikona zawsze, gdy użytkownik minimalizuje okno aplikacji.
hCursor
Dojście do kursora klasy. Ten element musi być dojścia zasobu kursora. Jeśli ten element ma wartość NULL, aplikacja jawnie należy ustawić kształt kursora, w każdym przypadku, gdy wskaźnik myszy przesuwa się do okna aplikacji.
hbrBackground
Dojście do klasy pędzla tła. Członek ten może być dojścia do fizycznej pędzla stosowaną do malowania tła, lub może być wartość koloru. Wartość koloru musi być jednym z następujących kolorów system standardowy (wartość 1 musi zostać dodana do wybranego koloru). Jeśli podana jest wartość koloru, należy ją przekonwertować do jednego z następujących typów HBRUSH:

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.

lpszMenuName
Wskaźnik ciąg znaków zakończony zerem, określający nazwę zasobu menu klasy jako nazwa pojawi się w pliku zasobów. Jeśli używasz integer zidentyfikować menu, należy użyć makra MAKEINTRESOURCE . Jeśli ten element ma wartość NULL, windows należące do tej klasy mają nie domyślne menu.
lpszClassName
Wskaźnik na ciąg zakończony znakiem null lub jest atomu. Jeśli ten parametr jest atom, musi być globalne atomu utworzone przez poprzednie wywołanie funkcji GlobalAddAtom . Atom, wartość 16-bitowa musi być słowo bity lpszClassName; program word wysokich numerach musi być równe zero.

Jeśli lpszClassName jest ciągiem, określa nazwę klasy okno.

Skrócone informacje

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.

Zobacz też

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

Index