DLGTEMPLATE

Structura DLGTEMPLATE definește dimensiunile și stil de o casetă de dialog. Această structură, întotdeauna prima într-un șablon standard pentru o casetă de dialog, de asemenea, specifică numărul de controale în caseta de dialog și, prin urmare, specifică numărul de structuri DLGITEMTEMPLATE ulterioare în șablonul.

typedef struct {/ / dltt DWORD stil; 
    DWORD dwExtendedStyle; 
    WORD cdit; 
    scurt x; 
    y scurt; 
    cx scurt; 
    cy scurt; 
} DLGTEMPLATE 

 

Membrii

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, sistem presupune sunt coordonate de client.
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 caseta 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. WS_EX_CONTEXTHELP nu poate fi utilizat 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 din caseta de dialog șablonul conține date suplimentare care specifică fontul de utilizat pentru text în zona clientului și controalele din caseta de dialog. Datele font începe la limita de cuvânt care urmează după titlul matrice. Specifică o valoare de dimensiune de 16-bit punctul și un șir Unicode font nume. Dacă este posibil, sistemul creează un font în conformitate cu valorile specificate. 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 nu include datele 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.

dwExtendedStyle
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.
cdit
Specifică numărul de elemente din 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.

Observații

Într-un șablon standard pentru o casetă de dialog, structura DLGTEMPLATE este întotdeauna imediat urmată de trei matrice de lungime variabilă care specificați meniul, clasa și titlul din caseta de dialog. Atunci când stilul DS_SETFONT este dat, aceste tablouri sunt, de asemenea, urmată de o valoare de 16-bit specifică mărimea și un alt array de lungime variabilă specificând un nume de font. Fiecare matrice constă dintr-una sau mai multe elemente de 16 biți. Meniul, clasa, titlul și font matrice trebuie aliniat la limitele WORD.

Imediat după structura DLGTEMPLATE este o matrice de meniu 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.

După matricea de meniu este o matrice de clasa, care identifică clasa fereastra de control. 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.

După clasa matrice este o matrice de titlu care 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.

Valoarea de dimensiune 16 biți punct ?i matricea de caractere urmați matricea de titlu, dar numai dacă membrul stil specifică stilul DS_SETFONT. Valoarea de dimensiune punct specifică dimensiunea în puncte a fontului pentru a utiliza textul în caseta de dialog și controalele sale. Matricea font este un șir Unicode null-terminated care specifică numele de font pentru font. Atunci când aceste valori sunt date, sistemul creează un font având dimensiunea dat și caractere (dacă este posibil) și trimite un mesaj WM_SETFONT la regimul de caseta de dialog și procedurile de fereastra control ca creează caseta de dialog și controale.

După antetul DLGTEMPLATE într-un șablon de caseta de standard dialog sunt una sau mai multe structuri DLGITEMTEMPLATE care define?te dimensiunile ?i stilul de controalele din caseta de dialog. Membru cdit specifică numărul de structuri DLGITEMTEMPLATE din șablon. Aceste structuri de DLGITEMTEMPLATE trebuie să fie aliniată la limitele DWORD.

Dacă specificați șiruri de caractere din meniul, clasa, titlul sau caractere 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.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.

A se vedea, de asemenea

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

Index