WNDCLASS

WNDCLASS -strukturen inneholder vinduet klassen attributtene som er registrert av RegisterClass -funksjonen.

Denne strukturen er erstattet med WNDCLASSEX -strukturen som brukes sammen med funksjonen for RegisterClassEx . Du kan fortsatt bruke WNDCLASS og RegisterClass Hvis du ikke trenger å angi lite ikon knyttet til Vindusklassen.

typeDef struct _WNDCLASS {UINT stil; 
    WNDPROC lpfnWndProc; 
    Int cbClsExtra; 
    Int cbWndExtra; 
    HÅNDTERE hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS 

 

Medlemmer

stil
Angir klassen-style(s). Stiler kan kombineres ved hjelp av eller bitvis operatør (|). Dette medlemmet kan være en kombinasjon av følgende verdier:
Verdi Handling
CS_BYTEALIGNCLIENT Justerer vinduets klientområdet over grenselinjen for byte (i x-retningen). Denne stilen påvirker bredden på vinduet og vannrett posisjon på skjermen.
CS_BYTEALIGNWINDOW Justerer et vindu på en byte-grense (i x-retningen). Denne stilen påvirker bredden på vinduet og vannrett posisjon på skjermen.
CS_CLASSDC Tildeler en enhetskontekst skal deles av alle vinduer i klassen. Fordi vindusklasser er spesifikke prosessen, er det mulig for flere tråder i et program til å opprette et vindu på samme klasse. Det er også mulig for tråder å prøve å bruke enheten sammenheng samtidig. Når dette skjer, kan systemet bare én tråd til slutt klarer sin tegneoperasjon. Hvis du vil ha mer informasjon, se Enheten sammenhenger.
CS_DBLCLKS Sender Dobbeltklikk meldinger i vinduet prosedyren når brukeren dobbeltklikker musen mens markøren er i et vindu som tilhører klassen.
CS_GLOBALCLASS Kan et program opprette et vindu av klassen uavhengig av verdien for parameteren hInstance som ble sendt til CreateWindow eller CreateWindowEx -funksjonen. Hvis du ikke angir denne stilen, må hInstance -parameteren som ble sendt til funksjonen CreateWindow (eller CreateWindowEx) være det samme som hInstance -parameter sendt til RegisterClass -funksjonen.
Du kan opprette en global klasse ved å opprette Vindusklassen i et bibliotek for dynamiske koblinger (DLL) og viser navnet på DLL-filen i registret under følgende nøkler:
HKEY_LOCAL_MACHINE\programvare
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Hver gang det starter en prosess, laster systemet spesifiserte DLLer i sammenheng med nylig startet prosessen før du kaller funksjonen inngangspunkt i denne prosessen. DLL-filen må registrere klassen under sin initialiseringsprosedyren, og må angi CS_GLOBALCLASS-stil.
CS_HREDRAW Tegner over hele vinduet hvis en bevegelse eller størrelse justeringen endrer bredden på klientområdet.
CS_NOCLOSE Deaktiverer Lukkvindu -menyen.
CS_OWNDC Tildeler en enhetskontekst som er unike for hvert vindu i klassen.
CS_PARENTDC Angir klipping regionen av det underordnede vinduet som i det overordnede vinduet slik at barnet kan trekke på overordnet. Et vindu med CS_PARENTDC stil bit mottar en vanlig enhetskontekst fra systemets hurtigbuffer enheten sammenhenger. Det gir ikke barnet overordnet enheten sammenheng eller kontekst Enhetsinnstillinger. Angir CS_PARENTDC forbedrer en programmets ytelse. Hvis du vil ha mer informasjon, se Enheten sammenhenger.
CS_SAVEBITS Lagrer delen av skjermbildet skjules av et vindu, som et punktgrafikkbilde. Systemet bruker lagrede punktgrafikkbildet vil opprette skjermbildet når vinduet er fjernet. Systemet viser punktgrafikken på sitt opprinnelige sted, og sender ikke WM_PAINT -meldinger til windows skjules av vinduet hvis minnet anvendt av bitmap ikke er forkastet og hvis andre skjermen handlinger ikke har ugyldiggjort lagrede bildet. Denne stilen er nyttig for små vinduer (for eksempel menyer eller dialogbokser) som vises en kort stund og deretter fjernet før andre skjermaktivitet finner sted. Denne stilen øker tiden det tar å vise vinduet, fordi systemet først må tildele minne til å lagre punktgrafikken.
CS_VREDRAW Tegner over hele vinduet hvis en bevegelse eller justering av størrelsen endres høyden på klientområdet.

lpfnWndProc
Pekeren i vinduet prosedyren. For å kalle prosedyren vindu, må du bruke funksjonen CallWindowProc . Hvis du vil ha mer informasjon, se WindowProc.
cbClsExtra
Angir hvor mange ekstra byte tildele etter vindusklasse strukturen. Systemet initialiserer byte til null.
cbWndExtra
Angir hvor mange ekstra byte tildele etter forekomsten av vinduet. Systemet initialiserer byte til null. Hvis et program bruker WNDCLASS til å registrere en dialogboks som er opprettet ved hjelp av direktivet klasse i ressursfilen, må det setter dette medlemmet til DLGWINDOWEXTRA.
hInstance
Håndtere til forekomsten som vindusprosedyre av denne klassen er innenfor.
hIcon
Håndtere til ikonet for klassen. Dette medlem må være et håndtak for en ressurs for ikonet. Hvis dette medlemmet er NULL, må et program tegne et ikon når brukeren minimerer programvinduets.
hCursor
Håndtere til klassen markøren. Dette medlem må være et håndtak på en markør-ressurs. Hvis dette medlemmet er NULL, må et program sette markøren figuren når musen flytter inn i programmets vindu.
hbrBackground
Håndtere til klassen bakgrunnen penselen. Dette medlemmet kan være en referanse til den fysiske penselen som skal brukes til å male bakgrunnen, eller det kan være en fargeverdi. En fargeverdien må være en av følgende standardsystem farger (verdien 1 må legges til den valgte fargen). Hvis en fargeverdi er gitt, må du konvertere den til en av følgende typer 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

Systemet sletter automatisk klassen bakgrunnen børster når klassen er frigjort. Et program skal ikke slette disse børster, fordi en klasse kan brukes av flere forekomster av et program.

Når dette medlemmet er NULL, må et program male en egen bakgrunn når det er bedt om å male i klientområdet. Hvis du vil finne ut om bakgrunnen må males, et program kan du behandle meldingen WM_ERASEBKGND eller teste fErase medlem av den PAINTSTRUCT struktur fylt av den BeginPaint -funksjonen.

lpszMenuName
Pekeren til en null-terminert tegnstreng som angir ressursnavnet på menyen i klassen, som navnet vises i ressursfilen. Hvis du bruker et heltall til å identifisere på-menyen, kan du bruke makroen MAKEINTRESOURCE . Hvis dette medlemmet er NULL, har windows som hører til denne klassen ingen Standardmenyen.
lpszClassName
Pekeren til en null-terminert streng eller er et atom. Hvis denne parameteren er en atom, må det være en global atom som er opprettet av et tidligere anrop til funksjonen GlobalAddAtom . Atom, en 16-biters verdi, må være i signifikante ordet av lpszClassName; signifikante ordet må være null.

Hvis lpszClassName er en streng, angir den klassen vindusnavnet.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.
Unicode:Definert som Unicode- og ANSI-strukturer.

Se også

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

Index