WNDCLASSEX

Structura WNDCLASSEX conține fereastra informații despre clasa. Acesta este utilizat cu RegisterClassEx și GetClassInfoEx funcții.

Structura WNDCLASSEX este similar cu structura WNDCLASS . Există două diferențe. WNDCLASSEX include cbSize membre, care specifică dimensiunea structurii, și membru de hIconSm , care conține un mâner într-o mică pictogramă asociate cu clasa fereastra.

typedef struct _WNDCLASSEX {UINT cbSize; 
    UINT stil; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    GHIDAJ de hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
    HICON hIconSm; 
} WNDCLASSEX 

 

Membrii

cbSize
Specifică dimensiunea, în octeți, de această structură. Acest membru al setului de sizeof(WNDCLASSEX). Asigurați-vă că pentru a seta acest membru inainte de a apela funcția GetClassInfoEx.
stil
Specifică style(s) clasa. Stiluri pot fi combinate de la sau la nivel de bi?i folosind operatorul (|). Acest membru poate fi orice combinație de următoarele valori:
Valoarea Acțiune
CS_BYTEALIGNCLIENT Aliniază a ferestrei client zona pe marginea octet (în direcția x). Acest stil afectează lățimea fereastra și poziția orizontală pe ecran.
CS_BYTEALIGNWINDOW Aliniază o fereastră pe un octet limita (în direcția x). Acest stil afectează lățimea fereastra și poziția orizontală pe ecran.
CS_CLASSDC Alocă un context de dispozitiv să fie împărtășită de toate ferestrele în clasa. Deoarece fereastra clase sunt proces specifice, este posibil ca mai multe fire de o cerere pentru a crea o fereastră din aceea?i categorie. De asemenea, este posibil ca firele pentru a încerca să utilizați contextul dispozitiv simultan. Atunci când se întâmplă acest lucru, sistemul permite doar un singur fir pentru a termina cu succes func?ionarea desen. Pentru mai multe informații, consultați Dispozitiv contexte.
CS_DBLCLKS Trimite faceți dublu clic pe mesajele de la procedura de fereastra atunci când utilizatorul face dublu clic pe mouse-ul în timp ce cursorul este într-o fereastră din clasa.
CS_GLOBALCLASS Permite o cerere pentru a crea o fereastră de clasa indiferent de valoarea parametrului hInstance trecut la funcția de CreateWindowEx . Dacă nu specificați acest stil, parametrul hInstance trecut la funcția CreateWindow (sau CreateWindowEx) trebuie să fie acela?i cu parametrul hInstance trecut la funcția de RegisterClassEx.
Aveți posibilitatea să creați o clasă globale prin crearea clasa fereastra într-o bibliotecă de legare dinamică (DLL) și listează numele dll în registry sub următoarele chei:
HKEY_LOCAL_MACHINE\software-ul
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Ori de câte ori un proces începe, sistemul încarcă dll specificate în contextul procesului nou început înainte de apel funcția punct de intrare în acest proces. DLL-ul trebuie să se înregistreze clasa în timpul său procedura de initializare și trebuie să specificați stilul CS_GLOBALCLASS.
CS_HREDRAW Redesenează fereastra întreaga dacă o mi?care sau dimensiunea ajustare se modifică lățimea zona client.
CS_NOCLOSE Dezactivează aproape din meniul fereastră.
CS_OWNDC Alocă un context de dispozitiv unic pentru fiecare fereastră în clasă. Pentru mai multe informații, consultați Dispozitiv contexte.
CS_PARENTDC Setează regiunea de tăiere din fereastra copil de la fereastra părinte astfel încât copilul poate trage pe mamă. O fereastră cu pic de stil CS_PARENTDC primește un context de dispozitiv regulate la cache-ul sistemului de dispozitiv contexte. Nu oferă copilului context de dispozitiv părinte sau setările de context de dispozitiv. Specificarea CS_PARENTDC îmbunătățește performanța o cerere. Pentru mai multe informații, consultați Dispozitiv contexte.
CS_SAVEBITS Salvează, ca bitmap, porțiunea din imagine ecran acoperită de o fereastră. Sistemul utilizează bitmap salvate pentru a re-crea imaginea de ecran atunci când fereastra este eliminat. Sistemul afișează bitmap-ul la amplasarea originală și nu trimite WM_PAINT mesajele windows acoperită de fereastra dacă memoria utilizată de bitmap-ul nu a fost aruncată și alte acțiuni de ecran nu au invalidat imaginea stocate. Acest stil este util pentru windows mici (de exemplu, meniuri sau casetele de dialog) care sunt afișate pe scurt și apoi eliminate înainte de activitate ecran are loc. Acest stil crește timpul necesar pentru a afișa fereastra, pentru că sistemul trebuie să aloce prima memorie pentru a stoca bitmap.
CS_VREDRAW Redesenează fereastra întreaga dacă o mi?care sau dimensiunea ajustare se modifică înăl?imea suprafe?ei client.

lpfnWndProc
Indicatorul la procedura de fereastra. Trebuie să utilizați funcția CallWindowProc pentru a apela procedura fereastra. Pentru mai multe informații, consultați WindowProc.
cbClsExtra
Specifică numărul de octeți suplimentare pentru a aloca după structura de clasă de Ferestre. Sistemul inițializează octeți la zero.
cbWndExtra
Specifică numărul de octeți suplimentare pentru a aloca după exemplu fereastra. Sistemul inițializează octeți la zero. Dacă o cerere de utilizează WNDCLASSEX să se înregistreze o casetă de dialog create utilizând Directiva clasa în fișierul de resurse, aceasta trebuie să setați acest membru la DLGWINDOWEXTRA.
hInstance
Mâner instanță care procedura fereastra din această clasă este în.
hIcon
Mâner pictograma de clasă. Acest membru trebuie să fie un mâner de o resursă de icon. Dacă acest membru este NULL, cererea trebuie să atragă o pictogramă, ori de câte ori utilizator Minimizează fereastra aplicației.
hCursor
Mâner pentru clasa cursorul. Acest membru trebuie să fie un mâner de o resursă cursorul. Dacă acest membru este NULL, cererea trebuie stabilite explicit forma cursorul ori de câte ori mouse-ul se mută în fereastra aplicației.
hbrBackground
Mâner pentru clasa fundal pensulei. Acest membru poate fi un specificator pentru a peria fizice pentru pictura fundal, sau poate fi o valoare de culoare. O valoare de culoare trebuie să fie una dintre următoarele culori standard de sistem (valoarea 1 trebuie să fie adăugat la culoarea aleasă). Dacă o valoare de culoare este dat, tu trebuie să converti în unul dintre următoarele tipuri de 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

Sistemul va șterge automat clasa fundal pensule când clasa este eliberat. O cerere nu ar trebui să ștergeți aceste pensule, deoarece o clasă poate fi utilizat de mai multe instanțe ale unei cereri.

Atunci când acest membru este NULL, cererea trebuie să pictați proprie fundal ori de câte ori este solicitată vopsea din zona sa de client. Pentru a determina dacă fundalul trebuie să fi pictat, o cerere poate fie procesul mesajul WM_ERASEBKGND sau încercare membru fErase PAINTSTRUCT structura umplut de BeginPaint funcție.

lpszMenuName
Indicatorul un șir null-terminated caractere care specifică numele resursei din meniul clasa, ca numele apare în fișierul de resurse. Dacă utilizați un întreg pentru a identifica meniul, utilizați macrocomanda MAKEINTRESOURCE . Dacă acest membru este NULL, windows care fac parte din această categorie au nici un meniu implicit.
lpszClassName
Indicatorul la un șir null-terminated sau este un atom. Dacă acest parametru este un atom, trebuie să fie un atom global created by un apel anterioare pentru funcția de GlobalAddAtom . Atom, o valoare de 16 biți, trebuie să fie în cuvântul low-ordine lpszClassName; cuvântul de înaltă-comandă trebuie să fie zero.

În cazul în care lpszClassName este un șir, specifică numele de clasa fereastra.

hIconSm
Ocupa într-o mică pictogramă care este asociat cu clasa fereastra. Dacă acest membru este NULL, sistemul va căuta pictograma resursa specificată de membru hIcon pentru o pictogramă de mărime potrivită pentru a utiliza ca pictograma mici.

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.5 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.
Antet:A declarat în winuser.h.
Unicode:Definit ca structurile Unicode și ANSI.

A se vedea, de asemenea

Fereastra clase de prezentare, fereastra clasa structuri, GetClassInfoEx, RegisterClassEx

Index