DLGTEMPLATEEX

Structura DLGTEMPLATEEX nu este definit în orice fișier de antet standard. Definirea structurii este furnizat aici pentru a explica formatul unui șablon extins pentru o casetă de dialog.

Un șablon de caseta de dialog extins începe cu un antet de DLGTEMPLATEEX care descrie caseta de dialog și specifică numărul de controale în caseta de dialog. Pentru fiecare control din caseta de dialog, un șablon de caseta de dialog extins are un bloc de date care utilizează formatul DLGITEMTEMPLATEEX pentru a descrie control.

 typedef struct {WORD dlgVer; WORD semnătura; DWORD helpID; DWORD exStyle; Stil DWORD; WORD cDlgItems; scurt x; y scurt; cx scurt; cy scurt; sz_Or_Ord meniul; / / numele sau ordinal de o resursă de meniu sz_Or_Ord windowClass; / / numele sau ordinal dintr-o clasă de fereastra Titlul WCHAR [titleLen]; / / titlul șir de caseta de dialog pointsize scurt; / / numai în cazul în care pavilion DS_SETFONT este setat greutate scurt; / / numai în cazul în care pavilion DS_SETFONT este setat bItalic scurt; / / numai în cazul în care pavilion DS_SETFONT este setat WCHAR font [fontLen]; / / Font nume, dacă este setată DS_SETFONT } DLGTEMPLATEEX 

Membrii

dlgVer
Specifică numărul de versiune de șablonul de caseta de dialog extins. Acest membru trebuie să specificați 1.
semnătura
Indică dacă un șablon este un șablon de caseta de dialog extins. O valoare de 0xFFFF indică un șablon de caseta de dialog extins. În acest caz, membrul dlgVer specifică numărul de versiune șablon. În cazul în care semnătura este orice altă valoare decât 0xFFFF, acest lucru este un șablon standard care utilizează structurile DLGTEMPLATE ?i DLGITEMTEMPLATE.
helpID
Identificatorul ajutor context pentru fereastra de caseta de dialog. Când sistemul trimite un WM_HELP mesaj, trece această valoare în membru dwContextId HELPINFO structura.
exStyle
Specifică stiluri extins pentru o fereastră. Acest membru nu este folosit pentru a crea casete de dialog, dar aplicațiile care utilizează șabloane de caseta de dialog poate utiliza pentru a crea alte tipuri de windows.
stil
Specifică stilul din caseta de dialog. Acest membru poate fi o combinație de valori de stil fereastra (cum ar fi WS_CAPTION și WS_SYSMENU) ?i unul sau mai multe din următoarele valori de stil caseta de dialog.
Valoarea Sensul
DS_3DLOOK Dă-i un font nonbold caseta de dialog și atrage frontierele tridimensional în jurul control windows în caseta de dialog.

Stilul DS_3DLOOK este necesar doar de Win32-aplicații bazate pe elaborate pentru sistem versiuni mai devreme decât Windows 95 sau Windows NT 4.0. Sistemul se aplică automat aspect tridimensional pentru casete de dialog create de aplicații elaborate pentru versiunile curente ale sistemului.

DS_ABSALIGN Indică faptul că coordonatele caseta de dialog sunt coordonate de ecran. Dacă nu este specificat acest stil, sistemul le tratează ca client coordonate.
DS_CENTER Centre de caseta de dialog în zona de lucru; Asta este, zona nu va fi acoperit tava de.
DS_CENTERMOUSE Centre de cursorul mouse-ului în caseta de dialog.
DS_CONTEXTHELP Include un semn de întrebare în bara de titlu a casetei de dialog. Când utilizatorul face clic pe semnul de întrebare, modificări cursorul la un semn de întrebare cu un indicator. În cazul în care utilizatorul face clic apoi un control în caseta de dialog, controlul primește un mesaj de WM_HELP. Controlul ar trebui să treacă mesajul la regimul de dialog, care ar trebui să apel funcția WinHelp utilizând comanda HELP_WM_HELP. Aplica?ia ajutor afișează o fereastră pop-up care conține de obicei ajutor pentru controlul.

Rețineți că DS_CONTEXTHELP este numai un substituent. Când caseta de dialog este creat, sistemul verifică DS_CONTEXTHELP și, dacă acesta există, adaugă WS_EX_CONTEXTHELP stilul extinsă a casetei de dialog. Nu utilizați stilul WS_EX_CONTEXTHELP cu stilurile WS_MAXIMIZEBOX sau WS_MINIMIZEBOX.

DS_CONTROL Creează o casetă de dialog care funcționează bine ca un copil fereastra de o altă casetă de dialog, de mult ca o pagină într-o foaie de proprietate. Acest stil permite utilizatorului să fila printre windows control un copil casetei de dialog, utilizați tastele sale accelerator, și așa mai departe.
DS_FIXEDSYS Cauzele caseta de dialog pentru a utiliza SYSTEM_FIXED_FONT în loc de implicit SYSTEM_FONT. SYSTEM_FIXED_FONT este un font monospațiu compatibile cu fontul de sistem în Windows versiuni anterioare versiunii 3.0.
DS_LOCALEDIT Se aplică numai 16-bit cerere. Acest stil direcționează controale de editare în caseta de dialog pentru a aloca memoria de segment de date aplicației. În caz contrar, editare controale aloca depozitare la un obiect global de memorie.
DS_MODALFRAME Creează o casetă de dialog cu un cadru de caseta de dialog modale care pot fi combinate cu o bară de titlu și un meniu sistem specificând stilurile WS_CAPTION și WS_SYSMENU.
DS_NOFAILCREATE Windows 95: Creează caseta de dialog, chiar dacă apar erori — de exemplu, dacă nu se poate crea o fereastra copil sau dacă sistemul nu se poate crea un segment de date speciale pentru un control de editare.
DS_NOIDLEMSG Suprimă mesajele WM_ENTERIDLE sistemul ar transmite proprietarul din caseta de dialog în timp ce este afișată caseta de dialog.
DS_SETFONT Indică faptul că antetul DLGTEMPLATEEX din caseta de dialog extins șablonul conține patru suplimentare membri (pointsize, greutate, bItalicși font) care descriu fontul pentru a utiliza textul în zonă client și controalele din caseta de dialog. Dacă este posibil, sistemul creează un font în conformitate cu valorile specificate în acești membri. Apoi sistemul trece ghidajul de font în caseta de dialog și pentru fiecare control le trimite mesaj WM_SETFONT.

Dacă nu este specificat acest stil, șablonul de caseta de dialog extins nu include membri pointsize, greutate, bItalicși font.

DS_SETFOREGROUND Cauzele sistemul pentru a utiliza funcția SetForegroundWindow pentru a aduce în prim-plan din caseta de dialog.
DS_SYSMODAL Acest stil este depă?ite ?i incluse pentru compatibilitate cu versiunile anterioare de Windows. Dacă specificați acest stil, sistemul creează caseta de dialog cu stilul WS_EX_TOPMOST. Nu combina acest stil cu stilul de DS_CONTROL.

cDlgItems
Specifică numărul de controale în caseta de dialog.
x
Specifică coordonata x, în caseta de dialog unită?i, din colțul stânga-sus a casetei de dialog.
y
Specifică coordonata y, în caseta de dialog unită?i, din colțul stânga-sus a casetei de dialog.
cx
Specifică lățimea, în caseta de dialog unită?i, din caseta de dialog.
cy
Specifică înălțimea, în caseta de dialog unită?i, din caseta de dialog.
meniul
Specifică o gamă de lungime variabilă de elemente 16-bit, care identifică o resursă de meniu pentru caseta de dialog. Dacă primul element din această matrice este 0x0000, caseta de dialog are nici un meniu și matrice are nici alte elemente. Dacă primul element este 0xFFFF, matricea are un element suplimentar, care specifică valoarea ordinală a unei resurse pe meniul într-un fișier executabil. Dacă primul element are orice altă valoare, în care sistemul tratează matrice ca un șir null-terminated Unicode care specifică numele de o resursă meniul într-un fișier executabil.
windowClass
Specifică o gamă de lungime variabilă de elemente de 16 biți care identifică clasa fereastră din caseta de dialog. Dacă primul element al matricei este 0x0000, sistemul utilizează clasa de caseta de dialog predefinite pentru caseta de dialog și matrice are nici alte elemente. Dacă primul element este 0xFFFF, matricea are un element suplimentar, care specifică valoarea ordinală a o clasă de Ferestre sistem predefinite. Dacă primul element are orice altă valoare, în care sistemul tratează matrice ca un șir null-terminated Unicode care specifică numele dintr-o clasă de fereastra înregistrate.
titlul
Specifică un șir null-terminated Unicode care conține titlul din caseta de dialog. Dacă primul element din această matrice este 0x0000, caseta de dialog are niciun titlu și matrice are nici alte elemente.
pointsize
Specifică dimensiunea în puncte a fontului pentru a utiliza textul în caseta de dialog și controalele sale. Membrii pointsize, greutate, bItalicși fonturilor sunt prezente într-un șablon de caseta de dialog extins numai dacă membrul stil specifică stilul de DS_SETFONT.
greutate
Precizează greutatea fontului în intervalul 0 la 1000. Acest lucru poate fi oricare din valorile enumerate pentru membru lfWeight LOGFONT structura. Acest membru este prezentă doar dacă membrul stil specifică DS_SETFONT.
bItalic
Indică dacă font cursiv. Dacă această valoare este TRUE, fontul este cursiv. Acest membru este prezentă doar dacă membrul stil specifică DS_SETFONT.
font
Specifică un șir null-terminated Unicode care conține numele de font pentru font. Acest membru este prezentă doar dacă membrul stil specifică DS_SETFONT.

Observații

Utilizați un șablon de caseta de dialog extins în loc de un șablon de caseta de standard dialog în funcțiile CreateDialogIndirectParam și DialogBoxIndirectParam și macrocomenzile CreateDialogIndirect și DialogBoxIndirect . Un șablon de caseta de standard dialog utilizează structurile DLGTEMPLATE ?i DLGITEMTEMPLATE.

După antetul DLGTEMPLATEEX într-un șablon de caseta de dialog extins este una sau mai multe structuri de DLGITEMTEMPLATEEX care descrie controalele din caseta de dialog. Membru cDlgItems specifică numărul de structuri DLGITEMTEMPLATEEX din șablon.

Fiecare structură DLGITEMTEMPLATEEX în șablonul trebuie aliniat la o limită de DWORD . Dacă stilul membru specifică stilul DS_SETFONT, structura DLGITEMTEMPLATEEX prima începe pe marginea DWORD primul după șirul de font . Dacă DS_SETFONT nu este specificat, structura prima începe la limita DWORD primul după șirul de titlu.

Meniul, windowClass, titlulși font matrice trebuie aliniat la limitele WORD.

Dacă specificați șiruri de caractere în meniu, windowClass, titlulși font matrice, trebuie să utilizați siruri de caractere Unicode. Pentru a crea cod care funcționează atât pe Windows și Windows NT, funcția MultiByteToWideChar pentru a genera aceste siruri de caractere Unicode.

Membrii x, y, cx, cy și specificați valori în caseta de dialog unități. Puteți converti aceste valori ecran unită?i (pixeli) utilizând funcția MapDialogRect.

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.51 sau o versiune ulterioară.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.

A se vedea, de asemenea

Prezentare generală a casetele de dialog, structuri de caseta de Dialog, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT