De WNDCLASSEX structuur bevat venster klasse informatie. Het wordt gebruikt met de RegisterClassEx en GetClassInfoEx functies.
De WNDCLASSEX structuur is vergelijkbaar met de WNDCLASS structuur. Er zijn twee verschillen. WNDCLASSEX bevat de cbSize lid, dat de grootte van de structuur geeft, en het hIconSm lid, die een ingang voor een klein pictogram bevat gekoppeld is aan de klasse venster.
typedef struct _WNDCLASSEX {UINT cbSize;
UINT stijl;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDVAT hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX
| Waarde | Actie |
|---|---|
| CS_BYTEALIGNCLIENT | Hiermee lijnt u het clientgebied van het venster op de grens van de byte (in de x-richting). Deze stijl is van invloed op de breedte van het venster en de horizontale positie op het display. |
| CS_BYTEALIGNWINDOW | Hiermee lijnt u een venster op de grens van een byte (in de x-richting). Deze stijl is van invloed op de breedte van het venster en de horizontale positie op het display. |
| CS_CLASSDC | Wijst één device-context moeten worden gedeeld door alle vensters in de klasse toe. Omdat venster klassen specifieke proces zijn, is het mogelijk voor meerdere threads van een aanvraag tot het maken van een venster van dezelfde klasse. Het is ook mogelijk voor de threads om tegelijkertijd te gebruiken de device-context. Wanneer dit gebeurt, kan het systeem slechts één draad om haar tekening bewerking met succes te voltooien. Voor meer informatie, Zie Apparaat contexten. |
| CS_DBLCLKS | Verzendt berichten naar de venster procedure Dubbelklik op wanneer de gebruiker dubbelklikt op de muis terwijl de cursor zich binnen een venster die behoren tot de klasse. |
| CS_GLOBALCLASS | Kan een toepassing maken een venster van de klasse ongeacht de waarde van de parameter hInstance doorgegeven aan de functie CreateWindowEx . Als u deze stijl niet opgeeft, moet de hInstance parameter doorgegeven aan de functie CreateWindow (of CreateWindowEx) hetzelfde zijn als de hInstance parameter doorgegeven aan de functie RegisterClassEx. |
| U kunt een algemene klasse maken door het venster klasse maken in een dynamic-link library (DLL) en vermelding van de naam van het dll-bestand in het register onder de volgende sleutels: | |
| HKEY_LOCAL_MACHINE\Software \Microsoft\Windows NT\ CurrentVersion\Windows\AppInit_DLLs |
|
| Telkens als een proces wordt gestart, laadt het systeem de opgegeven DLL's in het kader van de onlangs gestarte proces voor het aanroepen van de functie ingangspunt in dat proces. De DLL moet registreren de klasse tijdens de initialisatieprocedure en moet de CS_GLOBALCLASS stijl opgeven. | |
| CS_HREDRAW | Het hele venster opnieuw wordt getekend als een beweging of grootte aanpassing de breedte van het clientgebied wijzigt. |
| CS_NOCLOSE | Hiermee schakelt u sluiten in het menu venster. |
| CS_OWNDC | Wijst een unieke apparaatcontext voor elk venster in de klasse. Voor meer informatie, Zie Apparaat contexten. |
| CS_PARENTDC | Stelt de regio knippen van het onderliggende venster met die van het bovenliggende venster zodat het kind op de bovenliggende kunt tekenen. Een venster met de CS_PARENTDC stijl beetje ontvangt een regelmatige device-context uit de cache van het systeem met apparaat contexten. Het geeft niet het kind van de ouders device-context of context Apparaatinstellingen. CS_PARENTDC opgeven verbetert de prestaties van een toepassing. Voor meer informatie, Zie Apparaat contexten. |
| CS_SAVEBITS | Wordt opgeslagen, als een bitmap, het gedeelte van het beeld door een venster verborgen. Het systeem gebruikt de opgeslagen bitmap opnieuw maken beeld op het scherm wanneer het venster is verwijderd. Het systeem wordt de bitmap weergegeven op de oorspronkelijke locatie en verzendt geen WM_PAINT -berichten naar windows verduisterd door het venster als het geheugen gebruikt door de bitmap heeft niet verworpen en als andere scherm-acties hebben de opgeslagen afbeelding niet ontkracht. Deze stijl is handig voor kleine vensters (bijvoorbeeld, menu's of dialoogvensters) die zijn kort weergegeven en vervolgens verwijderd voordat andere scherm activiteit plaatsvindt. Deze stijl verhoogt de tijd die nodig is om het venster weer te geven omdat het systeem moet eerst geheugen voor het opslaan van de bitmap toewijzen. |
| CS_VREDRAW | Het hele venster opnieuw wordt getekend als een beweging of grootte aanpassing de hoogte van het clientgebied wijzigt. |
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
Klasse achtergrond borstels verwijderd het systeem automatisch wanneer de klasse is bevrijd. Een toepassing moet deze borstels, niet verwijderen, omdat een klasse kan worden gebruikt door meerdere exemplaren van een toepassing.
Wanneer dit lid NULL is, moet een toepassing een eigen achtergrond verf wanneer het wordt gevraagd om te schilderen in de clientgebied. Om te bepalen of de achtergrond moet worden geschilderd, een toepassing kan verwerken de WM_ERASEBKGND bericht of testen van het lid fErase van de PAINTSTRUCT structuur gevuld door de BeginPaint -functie.
Als lpszClassName een tekenreeks is, geeft het naam van de klasse van het venster.
nbsp; Windows &NT: versie 3.5 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Header:Verklaard in winuser.h.
Unicode:Gedefinieerd als Unicode en ANSI structuren.
Overzicht van venster klassen, venster klasse structuren, GetClassInfoEx, RegisterClassEx