Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Biblioteki C/C++

WNDCLASS

[struktura] Zawiera właściwości klasy okna rejestrowane przez funkcję » WinAPIRegisterClass.
Ta struktura została zastąpiona przez strukturę » WinAPIWNDCLASSEX. Możesz jednak nadal jej używać, jeśli nie potrzebujesz małej ikony na pasku tytułu.

Składnia

C/C++
#include <windows.h>

typedef struct tagWNDCLASS
{
    UINT style;
    WNDPROC lpfnWndProc;
    int cbClsExtra;
    int cbWndExtra;
    HINSTANCE hInstance;
    HICON hIcon;
    HCURSOR hCursor;
    HBRUSH hbrBackground;
    LPCTSTR lpszMenuName;
    LPCTSTR lpszClassName;
} WNDCLASS, * PWNDCLASS;

Pola struktury

ArgumentOpis
styleStyle klasy. Ten argument może zawierać dowolne kombinacje stylów klasy okien.
lpfnWndProcWskaźnik do procedury okna. Trzeba użyć funkcji CallWindowProc do wywołania procedury okna. Więcej informacji znajduje się w opisie funkcji WindowProc.
cbClsExtraLiczba dodatkowych bajtów pamięci do zaalokowania struktury klasy okna. System ustawia domyślnie tą wartość na 0.
cbWndExtraLiczba dodatkowych bajtów pamięci do zaalokowania instancji okna. System ustawia domyślnie tą wartość na 0. Jeśli program używa struktury WNDCLASS do rejestracji dialogu utworzonego przez użycie dyrektywy CLASS w pliku zasobów, wartość tej zmiennej musi być ustawiona na DLGWINDOWEXTRA.
hInstanceUchwyt do instancji zawierającej procedurę okna dla tej klasy.
hIconUchwyt do ikony klasy. Wartość tej zmiennej musi być uchwytem do zasobów ikony. Jeśli wartość tej zmiennej wynosi NULL, system zapewnia użycie domyślnej ikony.
hCursorUchwyt do klasy kursora. Wartość tej zmiennej musi być uchwytem do zasobów kursora. Jeśli wartość tej zmiennej wynosi NULL, program musi jawnie ustawić kształt kursora zawsze, gdy mysz znajdzie się wewnątrz okna programu.
hbrBackgroundUchwyt do klasy pędzla tła. Więcej informacji można znaleźć w Dodatkowych informacjach.[/run]
lpszMenuNameNazwa zasobu klasy menu, której nazwa występuje w pliku zasobów. Jeśli używasz liczby całkowitej do identyfikacji menu, użyj makra MAKEINTRESOURCE. Jeśli wartość tej zmiennej wynosi NULL, okna należące do tej klasy nie będą miały domyślnego menu.
lpszClassNameWskaźnik do łańcucha znaków zakonczonego znakiem zerowym lub wartość typu ATOM. Więcej informacji znajduje się w "Dodatkowych informacjach".

Dodatkowe informacje

Wartość zmiennej hbrBackground może być uchwytem do fizycznego pędzla używanego do rysowania tła lub może być wartością koloru. Wartość koloru musi być jedną z poniższych standardowych kolorów systemowych (wartość 1 musi być dodana do wybranego koloru). Jeśli wartość koloru jest podana, należy przekształcić ją do jednego z poniższych 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 pędzle tła klasy, kiedy klasa jest wyrejestrowana przez użycie funkcji UnregisterClass. Program nie powinien usuwać tych pędzli.
Gdy wartość tej zmiennej wynosi NULL, program musi zamalować okno własnym tłem zawsze, gdy jest to wymagane przez obszar klienta. Aby określić, kiedy tło musi być odmalowane, program może wysłać komunikat WM_ERASEBKGND do dowolnego procesu lub sprawdzić wartość składowej fErase struktury PAINTSTRUCT wypełnianej przez funkcję » WinAPIBeginPaint.
Jeśli wartość składowej lpszClassName jest typu ATOM, klasa typu ATOM musi być utworzona przed wywołaniem funkcji » WinAPIRegisterClass lub RegisterClassEx. Typ ATOM musi być w dolnym słowie lpszClassName (górne słowo musi być równe zero). Jeśli wartość zmiennej lpszClassName jest łańcuchem znaków, to określa nazwę klasy okna. Nazwa klasy może być dowolną nazwą zarejestrowaną przez funkcję » WinAPIRegisterClass lub RegisterClassEx oraz dowolną predefiniowaną nazwą klasy kontrolnej. Nazwa klasy nie może być dłuższa, niż 256 znaków. Jeśli jest dłuższa, funkcja » WinAPIRegisterClass zakończy się niepowodzeniem.[/run];

Wymagania

Minimalny system klientaWindows 2000 Professional (tylko aplikacje biurowe).
Minimalny system serweraWindows 2000 Server (tylko aplikacje biurowe).
NagłówekWinuser.h (dołącza Windows.h)
UNICODEWNDCLASSW
ANSIWNDCLASSA

Linki zewnętrzne