Structura WNDCLASS conține atributele clasa fereastra înmatriculate de funcția RegisterClass.
Această structură a fost înlocuită de structura WNDCLASSEX utilizate cu funcția RegisterClassEx . Puteți utiliza în continuare WNDCLASS și RegisterClass în cazul în care nu aveți nevoie pentru a seta pictograma mici care asociate cu clasa fereastra.
typedef struct _WNDCLASS {UINT stil;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
GHIDAJ de hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS
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 CreateWindow sau funcția 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 RegisterClass. |
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 clasa. |
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. |
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.
În cazul în care lpszClassName este un șir, specifică numele de clasa fereastra.
nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winuser.h.
Unicode:Definit ca structurile Unicode și ANSI.
Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT