CreateWindow

Funcția CreateWindow creează o fereastră suprapus, pop-up sau copil. Specifică clasa fereastra, fereastra titlul, stil fereastra, și (opțional) pozi?ia ini?ială ?i dimensiunea ferestrei. Funcția specifică, de asemenea, fereastra de mamă sau proprietar, dacă este cazul, și meniu a ferestrei.

Pentru a utiliza stiluri extins în plus față de stiluri susținută de CreateWindow, utilizați funcția CreateWindowEx în loc de utilizarea CreateWindow.

(HWND CreateWindow LPCTSTR  lpClassName, / / indicatorul pentru a înregistrat numele claseiLPCTSTRlpWindowName, / / indicatorul la numele ferestreiDWORDdwStyle, / / stil fereastraint x, / / orizontală poziția ferestrei int y, / / verticală poziția ferestrei intnWidth, / / lățime fereastră intnHeight, / / înălțime fereastrăHWNDhWndParent, / / ocupa fereastra părinte sau proprietarulHMENUhMenu, / / ocupa de meniu sau copil-fereastra identificatorMÂNERhInstance, / / ocupa de instanta applicationLPVOIDlpParam / / cursorul în fereastra Creare date);
 

Parametrii

lpClassName
Indicatorul la un șir null-terminated sau este un atom întreg. Dacă acest parametru este un atom, trebuie să fie un atom global created by un apel anterioare la GlobalAddAtom funcție. Atom, o valoare de 16 biți mai mică de 0xC000, trebuie să fie în cuvântul low-ordine lpClassName; cuvântul de înaltă-comandă trebuie să fie zero.

În cazul în care lpClassName este un șir, specifică numele de clasa fereastra. Numele de clasă poate fi orice nume înregistrat cu funcția RegisterClassEx sau orice nume control-clasa predefinite. Pentru o listă completă, consultați secțiunea observații.

lpWindowName
Indicatorul un șir null-terminated care specifică numele ferestrei.

Dacă stilul fereastra specifică o bară de titlu, titlul ferestrei a subliniat de lpWindowName este afișat în bara de titlu. Atunci când se utilizează CreateWindow pentru a crea controale, cum ar fi butoane, casete de selectare și controale statică, utilizați lpWindowName pentru a specifica textul din control.

dwStyle
Specifică stilul de fereastra fiind creat. Acest parametru poate fi o combinație de următoarele stiluri fereastra, plus stilurile control indicate în secțiunea observații.
Stil Sensul
WS_BORDER Creează o fereastră care are o linie subțire bordură.
WS_CAPTION Creează o fereastră care are o bară de titlu (include stilul WS_BORDER).
WS_CHILD Creează o fereastră de copil. Acest stil nu poate fi utilizat cu stilul de WS_POPUP.
WS_CHILDWINDOW Fel ca stilul de WS_CHILD.
WS_CLIPCHILDREN Exclude suprafața ocupată de copil windows atunci când desen apare în fereastra părinte. Acest stil este utilizată la crearea fereastra părinte.
WS_CLIPSIBLINGS Clipuri copil windows relativ la celălalt; Asta este, atunci când o fereastra copil special primește un WM_PAINT mesaj, stilul WS_CLIPSIBLINGS clipuri tuturor celorlalte suprapuse copil ferestre din regiunea fereastra copil să fie actualizate. Dacă WS_CLIPSIBLINGS nu este specificat și copil windows se suprapun, este posibil, atunci când o fereastră de copil, pentru a desena în interiorul zonei de client de o fereastra copil vecine în zona client.
WS_DISABLED Creează o fereastră care inițial este dezactivat. O fereastră cu handicap pot primi de intrare de la utilizator.
WS_DLGFRAME Creează o fereastră care are o frontieră de stil utilizează de obicei cu casetele de dialog. O fereastră cu acest stil nu au o bară de titlu.
WS_GROUP Specifică primul control dintr-un grup de controale. Grupul este format din acest primul control și toate controalele definite după ce, până la controlul următoare cu stilul WS_GROUP. Comanda prima în fiecare grup de obicei, are stilul WS_TABSTOP astfel încât utilizatorul poate muta din grup. Utilizatorul poate ulterior schimba focalizarea tastaturii la un control din grup la controlul următoare în grupul utilizând tastele de direcție.
WS_HSCROLL Creează o fereastră care are o bară de defilare orizontală.
WS_ICONIC Creează o fereastră care inițial este minimizat. Fel ca stilul de WS_MINIMIZE.
WS_MAXIMIZE Creează o fereastră care inițial este maximizată.
WS_MAXIMIZEBOX Creează o fereastră care are un buton de maximizare. Nu pot fi combinate cu stilul WS_EX_CONTEXTHELP. WS_SYSMENU stilul trebuie să fie de asemenea precizate.
WS_MINIMIZE Creează o fereastră care inițial este minimizat. Fel ca stilul de WS_ICONIC.
WS_MINIMIZEBOX Creează o fereastră care are un buton de Minimizare. Nu pot fi combinate cu stilul WS_EX_CONTEXTHELP. WS_SYSMENU stilul trebuie să fie de asemenea precizate.
WS_OVERLAPPED Creează o fereastră suprapuse. O fereastră suprapus are o bară de titlu și un chenar. Fel ca stilul de WS_TILED.
WS_OVERLAPPEDWINDOW Creează o fereastră suprapus cu stiluri WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX și WS_MAXIMIZEBOX. Fel ca stilul de WS_TILEDWINDOW.
WS_POPUP Creează o fereastră pop-up. Acest stil nu poate fi utilizat cu stilul de WS_CHILD.
WS_POPUPWINDOW Creează o fereastră pop-up cu stiluri WS_BORDER, WS_POPUP și WS_SYSMENU. Stiluri WS_CAPTION și WS_POPUPWINDOW trebuie să fie combinate pentru a face vizibile din meniul Fereastră.
WS_SIZEBOX Creează o fereastră care are o frontieră de dimensionare. Fel ca stilul de WS_THICKFRAME.
WS_SYSMENU Creează o fereastră care are o fereastră-meniu în bara sa de titlu. Stilul de WS_CAPTION, de asemenea, trebuie să fie specificate.
WS_TABSTOP Specifică un control care poate primi focalizarea tastaturii atunci când utilizatorul apasă tasta tab. Apăsând tasta tab se modifică focalizarea tastaturii la controlul următoare cu stilul WS_TABSTOP.
WS_THICKFRAME Creează o fereastră care are o frontieră de dimensionare. Fel ca stilul de WS_SIZEBOX.
WS_TILED Creează o fereastră suprapuse. O fereastră suprapus are o bară de titlu și un chenar. Fel ca stilul de WS_OVERLAPPED.
WS_TILEDWINDOW Creează o fereastră suprapus cu stiluri WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX și WS_MAXIMIZEBOX. Fel ca stilul de WS_OVERLAPPEDWINDOW.
WS_VISIBLE Creează o fereastră care este inițial vizibil.
WS_VSCROLL Creează o fereastră care are o bară de defilare verticală.

x
Specifică pozi?ia orizontală ini?ială a ferestrei. Pentru o fereastră pop-up sau suprapus, parametrul x este coordonata x ini?ială din colțul de stânga a ferestrei, în ecran coordonate. Pentru o fereastră de copil, x este coordonata x din colțul din stânga-sus al ferestrei relativ la colțul din stânga-sus din fereastra părinte client zona.

Dacă acest parametru este setat la CW_USEDEFAULT, sistemul selectează poziția implicită pentru colțul din stânga a ferestrei și ignoră parametrul y . CW_USEDEFAULT este valabilă numai pentru windows suprapus; dacă acesta este specificat pentru un pop-up sau copil fereastra, x și y parametri sunt setate la zero.

y
Specifică pozi?ia verticală inițială a ferestrei. Pentru o fereastră pop-up sau suprapus, parametrul y este coordonata y ini?ială din colțul de stânga a ferestrei, în ecran coordonate. Pentru o fereastră de copil, y este coordonata y ini?ială din colțul stânga sus a ferestrei copil relativ la colțul din stânga-sus din fereastra părinte client zona. Pentru o casetă listă, y este coordonata y ini?ială din colțul stânga-sus din caseta listă client zona relativ la colțul din stânga-sus din fereastra părinte client zona.

Dacă o fereastră suprapus este creat cu stil WS_VISIBLE bit set și parametrul x este setat la CW_USEDEFAULT, sistemul ignoră parametrul y.

nWidth
Specifică lățimea, în unită?i de dispozitiv, a ferestrei. Pentru Ferestre suprapuse, nWidth este fie fereastra de lățimea, în ecran coordonate, sau CW_USEDEFAULT. În cazul în care nWidth este CW_USEDEFAULT, sistemul selectează implicit lățimea și înălțimea pentru fereastra; lățimea implicită se extinde la inițială coordonata x la marginea din dreapta a ecranului, și înălțimea implicită se extinde de la inițială coordonata y în partea de sus a zonei de icon. CW_USEDEFAULT este valabilă numai pentru windows suprapus; în cazul în care CW_USEDEFAULT este specificată pentru o fereastră pop-up sau copil, nWidth și nHeight sunt setate la zero.
nHeight
Specifică înălțimea, în unită?i de dispozitiv, a ferestrei. Pentru Ferestre suprapuse, nHeight este înălțimea a ferestrei, în ecran coordonate. În cazul în care nWidth este setat la CW_USEDEFAULT, sistemul ignoră nHeight.
hWndParent
Ocupa în fereastra părinte sau proprietarul a ferestrei fiind creat. Pentru a crea o fereastra copil sau o fereastră de proprietate, furnizează un mâner fereastra valabil. Acest parametru este facultativă pentru ferestre pop-up.

Windows NT 5.0 și mai târziu: Pentru a crea o fereastră de mesaj-doar, de aprovizionare HWND_MESSAGE sau un ghidaj de la o fereastră de mesaj-numai existente.

hMenu
Ocupa la un meniu sau un copil-fereastra identificatorul în funcție de stilul de fereastra. Pentru o fereastră pop-up sau suprapus, hMenu identifică meniul pentru a fi utilizate cu fereastra; Acesta poate fi NULL dacă meniul clasa este de a fi utilizate. Pentru o fereastră de copil, hMenu specifică identificatorul copil-fereastra, o valoare de tip întreg utilizate de un control casetă de dialog să notifice mamă despre evenimente. Aplicarea determină identificatorul fereastra copil; trebuie să fie unic pentru toate ferestrele de copil cu aceeași fereastră părinte.
hInstance
Mâner instanță modulului să fie asociate cu fereastra.
lpParam
Un indicator spre o valoare pentru a fi trecut la fereastra prin structura CREATESTRUCT trecut în parametrul lParam mesaj WM_CREATE . Dacă o cerere apeluri CreateWindow pentru a crea un multiple document interface (MDI) fereastra client, lpParam trebuie să indicați spre o structură CLIENTCREATESTRUCT.

Valorile întroarse

Dacă funcția reușește, valoarea returnată este un mâner în fereastra nouă.

Dacă funcția nu reușește, valoarea returnată este NULL. Pentru a obține extins informa?ii eroare, apel GetLastError.

Observații

Înainte de a reveni, CreateWindow a trimite un mesaj WM_CREATE pentru procedura fereastra. Pentru suprapus, pop-up și copil windows, CreateWindow trimite mesaje WM_CREATE, WM_GETMINMAXINFOși WM_NCCREATE la fereastra. Parametrul lParam WM_CREATE mesajului conține un indicator spre o structură CREATESTRUCT . Dacă stilul WS_VISIBLE este specificat, CreateWindow trimite fereastra toate mesajele necesare pentru a activa și afișează fereastra.

Pentru informații despre controlul dacă bara de activită?i afișează un buton pentru fereastra create, consultați Vizibilitatea butoane din bara de activită?i.

Următoarele clase predefinite de control poate fi specificat în parametrul lpClassName . Notă controlului corespondent stiluri se pot utiliza în parametrul dwStyle.

Clasa Sensul
BUTON Desemnează un copil mic dreptunghiulară fereastră care reprezintă un buton utilizatorului să faceți clic pentru a activa sau dezactiva. Butonul controalele pot fi utilizate individual sau în grupuri, și acestea pot fi fie etichetate sau apar fără text. Buton control obicei modifica aspectul atunci când utilizatorul face clic pe ele. Pentru mai multe informații, consultați butoane.
Pentru un tabel de stiluri buton, aveți posibilitatea să specificați în parametrul dwStyle , a se vedea Butonul stiluri.
COMBOBOX Desemnează un control constând dintr-o casetă listă și un câmp selecție similar cu un control de editare. Atunci când se utilizează acest stil, cererea trebuie să fie afișa caseta listă în permanen?ă sau permite o casetă listă verticală. Dacă caseta listă este vizibil, tastarea caracterelor în câmpul selecție evidențiază prima listă caseta de intrare care corespunde Caracterele tastate. În schimb, selectând un element din caseta listă afișează textul selectat în câmpul selectare. Pentru mai multe informații, consultați Casetele Combo.
Pentru un tabel de stiluri de casetă combo aveți posibilitatea să specificați în parametrul dwStyle , vezi Stiluri Casetă Combo.
EDITARE Desemnează un copil dreptunghiulară fereastra în care utilizatorul poate de tip text de la tastatură. Utilizatorul selectează controlul și dă-l focalizarea tastaturii făcând clic pe acesta sau mutarea sa apăsând tasta tab. Utilizatorul poate de tip text când comanda Editare afișează un semn de omisiune intermitent; utilizarea mausului pentru a deplasa cursorul, selectați caracterele de înlocuit, poziționați cursorul pentru inserarea caracterelor; sau utilizați tasta backspace pentru a șterge caractere. Pentru informații suplimentare, consultați Editare controale.
Pentru un tabel de stiluri de control a edit aveți posibilitatea să specificați în parametrul dwStyle , consultați Editare stiluri de Control.
LISTARE Desemnează o listă de șiruri de caractere. Specificați acest control ori de câte ori o cerere trebuie să prezinte o listă de nume, cum ar fi numele fișierelor, din care utilizatorul poate alege. Utilizatorul poate selecta un șir făcând clic pe acesta. Șir de caractere selectat este subliniat și un mesaj de notificare este transmisă fereastra părinte. Pentru mai multe informații, consultați Casetele listă.
Pentru un tabel de stiluri de casetă listă se poate specifica parametrul dwStyle , consultați Lista caseta stiluri.
MDICLIENT Desemnează o fereastra de client MDI. Această fereastră primește mesajele care controlează aplicarea de MDI copil windows. Biți recomandat stil sunt WS_CLIPCHILDREN și WS_CHILD. Specificați stilurile WS_HSCROLL și WS_VSCROLL pentru a crea o fereastra de client MDI, care permite utilizatorului să defilați MDI copil windows în vizualizare. Pentru mai multe informații, consultați Multiple Document Interface.
RichEdit Desemnează un control de editare bogat versiunea 1.0. Această fereastră vă permite vizualizarea utilizator Editare text cu caractere și formatarea paragrafului și poate include obiectele COM încorporate. Pentru mai multe informații, consultați Bogat controale de editare.
Pentru un tabel de stiluri de control de editare bogat aveți posibilitatea să specificați în parametrul dwStyle , consultați Rich Editare Control stiluri.
RICHEDIT_CLASS Desemnează un control de editare bogat versiunea 2.0. Acest control permite vizualizarea utilizator Editare text cu caractere și formatarea paragrafului și poate include obiectele COM încorporate. Pentru mai multe informații, consultați Bogat controale de editare.
Pentru un tabel de stiluri de control de editare bogat aveți posibilitatea să specificați în parametrul dwStyle , consultați Rich Editare Control stiluri.
BARĂ DE DEFILARE Desemnează un dreptunghi care conține o casetă de defilare și are săgețile de direcție la ambele capete. Bara de defilare trimite un mesaj de notificare în fereastra sa mamă atunci când utilizatorul face clic pe control. Fereastra părinte este responsabilă cu actualizarea pozi?ia caseta de defilare, dacă este necesar. Pentru mai multe informații, consultați Bare de defilare.
Pentru un tabel de bara de defilare control stilurile aveți posibilitatea să specificați în parametrul dwStyle , consultați Scroll Bar Control stiluri.
STATICĂ Desemnează un câmp de text simplu, caseta sau dreptunghi utilizate pentru eticheta, caseta, sau separate de alte controale. Controale statice ia nici o intrare ?i furnizează nu ieșire. Pentru mai multe informații, consultați Controale statice.
Pentru un tabel de stiluri de control statice aveți posibilitatea să specificați în parametrul dwStyle , consultați Statice Control stiluri.

Windows 95:Sistemul poate suporta un maxim de 16,364 fereastra mânere.

&Notănbsp; Dacă specificați Windows versiunea 4.x când legați aplicația, sa windows nu au butoane legendă excepția cazului în care acestea au, de asemenea, fereastra meniuri. Acest lucru nu este o cerință, dacă specificați Windows 3.x versiune când legați aplicația.

Windows CE: CreateWindow este implementat ca o macrocomandă. Acesta este definit ca CreateWindowEx, dar cu parametrul dwExStyle setată la 0 L.

Barele de meniu nu sunt acceptate. Parametrul hMenu trebuie să fie nul, dacă este utilizat ca un copil-fereastra identificator.

Clasa MDICLIENT fereastra nu este acceptat.

Parametrul dwStyle poate fi o combinație de stiluri fereastră și stiluri de control documentate în:

Casetele de dialog

Windows

Controale

Următoarele steagurile dwStyle nu sunt acceptate pentru windows:

WS_CHILDWINDOW WS_ICONIC
WS_MAXIMIZE WS_MAXIMIZEBOX
WS_MINIMIZE WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW WS_POPUPWINDOW
WS_SIZEBOX WS_THICKFRAME
WS_TILED WS_TILEDWINDOW

Următoarele steagurile dwStyle nu sunt acceptate pentru controale și casetele de dialog:

Stiluri buton neacceptat Stiluri de control statice neacceptat
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Stiluri de casetă combo neacceptat SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Stiluri de control casetă listă neacceptat SS_WHITEFRAME
LBS_NODATA Stiluri de casetă de dialog neacceptat
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Stiluri de bara de defilare neacceptat DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

Aveți posibilitatea să utilizați stilul BS_OWNERDRAW ca un substitut pentru stilul de BS_USERBUTTON.

Aveți posibilitatea să utilizați stilul SS_LEFT sau SS_LEFTNOWORDWRAP în loc de stilul SS_SIMPLE pentru controale statice..

Clasa MDICLIENT fereastra nu este acceptat.

Toate ferestrele implicit au stiluri de WS_CLIPSIBLINGS și WS_CLIPCHILDREN.

Windows CE 1.0 nu acceptă proprietatea windows, cu excepția pentru casete de dialog. Dacă parametrul hwndParent nu este nul, fereastra implicit va fi stilul WS_CHILD.

Windows CE versiunea 1.0 acceptă bare de meniuri.

QuickInfo

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.
Import Biblioteca:Utilizarea user32.lib.
Unicode:Pus în aplicare ca Unicode și ANSI versiuni Windows NT.

A se vedea, de asemenea

Prezentare generală a Windows, fereastra Funcții, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, , GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Index