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
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. |
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.
nbsp; Windows &NT: necesită versiunea 3.51 sau o versiune ulterioară.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.
Prezentare generală a casetele de dialog, structuri de caseta de Dialog, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT