De DLGTEMPLATEEX structuur wordt niet gedefinieerd in elk bestand standaardkoptekst. De definitie van de structuur is hier geboden om uit te leggen van de indeling van een uitgebreide sjabloon voor een dialoogvenster.
Een uitgebreide dialoogvenster vak sjabloon begint met een DLGTEMPLATEEX -header die wordt beschreven in het dialoogvenster en geeft het aantal besturingselementen in het dialoogvenster. Voor elk besturingselement in een dialoogvenster heeft een vak uitgebreide dialoog template een blok van gegevens die beschrijven het besturingselement met de notatie DLGITEMTEMPLATEEX.
typedef struct {woord dlgVer; WORD handtekening; DWORD-helpID; DWORD-exStyle; DWORD-stijl; WORD cDlgItems; korte x; korte y; korte cx; korte cy; sz_Or_Ord menu; / / naam of ordinale van een resource menu sz_Or_Ord windowClass; / / naam of ordinale van een venster klasse WCHAR titel [titleLen]; / / titel van het dialoogvenster tekenreeks korte specifiek; / / alleen als DS_SETFONT vlag is ingesteld korte gewicht; / / alleen als DS_SETFONT vlag is ingesteld korte bItalic; / / alleen als DS_SETFONT vlag is ingesteld WCHAR lettertype [fontLen]; / / lettertype naam, als DS_SETFONT is ingesteld } DLGTEMPLATEEX
| Waarde | Betekenis |
|---|---|
| DS_3DLOOK | Geeft het dialoogvenster een niet-vette lettertype en driedimensionale grenzen trekt hele besturingselement windows in het dialoogvenster. De DS_3DLOOK stijl is alleen door Win32-gebaseerde applicaties die gecompileerd zijn voor systeemversies eerder dan Windows 95 of Windows NT 4.0 vereist. Het systeem geldt automatisch de driedimensionaal uiterlijk voor dialoogvensters gemaakt door applicaties die gecompileerd zijn voor huidige versies van het systeem. |
| DS_ABSALIGN | Geeft aan dat de coördinaten van het dialoogvenster de schermcoördinaten. Als deze stijl niet is opgegeven, behandelt het systeem hen als client coördinaten. |
| DS_CENTER | Hiermee centreert u het dialoogvenster in het werkgebied; dat wil zeggen het gebied niet verduisterd door de lade. |
| DS_CENTERMOUSE | Hiermee centreert u de muiscursor in het dialoogvenster. |
| DS_CONTEXTHELP | Omvat een vraagteken in de titelbalk van het dialoogvenster. Wanneer de gebruiker klikt op het vraagteken, de cursor verandert in een vraagteken met een pointer. Als de gebruiker vervolgens klikt op een besturingselement in het dialoogvenster, krijgt het besturingselement WM_HELP bericht. Het besturingselement moet de boodschap doorgeven aan de dialoogvenster procedure, die moet noemen de WinHelp functie met behulp van de opdracht HELP_WM_HELP. De Help-toepassing een pop-upvenster dat meestal help voor het besturingselement bevat wordt weergegeven. Merk op dat DS_CONTEXTHELP slechts een tijdelijke aanduiding is. Wanneer het dialoogvenster is gemaakt, het systeem controleert op DS_CONTEXTHELP en, als het er, WS_EX_CONTEXTHELP toegevoegd aan de uitgebreide stijl van het dialoogvenster. Kunt u niet de stijl WS_EX_CONTEXTHELP met de WS_MAXIMIZEBOX of WS_MINIMIZEBOX stijlen. |
| DS_CONTROL | Hiermee maakt u een dialoogvenster dat goed als een onderliggend venster van een ander dialoogvenster, net als een pagina in een eigenschappenvenster werkt. Deze stijl kan de gebruiker tab onder de windows controle van het dialoogvenster kind, gebruiken de sneltoetsen, enzovoort. |
| DS_FIXEDSYS | Zorgt ervoor dat het dialoogvenster gebruiken de SYSTEM_FIXED_FONT in plaats van de standaard SYSTEM_FONT. SYSTEM_FIXED_FONT is een monospace lettertype compatibel met het systeemlettertype in Windowsversies ouder dan 3.0. |
| DS_LOCALEDIT | Geldt voor 16-bits toepassingen alleen. Deze stijl regisseert bewerken besturingselementen in het dialoogvenster geheugen toewijzen uit de toepassing van de gegevenssegment. Anders, bewerken besturingselementen toewijzen opslag van een globale geheugen-object. |
| DS_MODALFRAME | Een dialoogvenster met een modaal dialoogvenster-frame dat kan worden gecombineerd met een titelbalk en een systeemmenu door te geven van de WS_CAPTION en WS_SYSMENU stijlen gemaakt. |
| DS_NOFAILCREATE | Windows 95: Het dialoogvenster gemaakt, zelfs als er fouten optreden — bijvoorbeeld als een onderliggend venster kan niet worden gemaakt of als het systeem geen een speciale gegevenssegment voor een edit-besturingselement maken. |
| DS_NOIDLEMSG | WM_ENTERIDLE onderdrukt, dat het systeem anders naar de eigenaar van het dialoogvenster sturen zou terwijl het dialoogvenster wordt weergegeven. |
| DS_SETFONT | Geeft aan dat de kop van de DLGTEMPLATEEX van het uitgebreide dialoogvenster vak sjabloon bevat vier extra leden (specifiek, gewicht, bItalicen lettertype) die beschrijven het lettertype voor de tekst in het clientgebied en besturingselementen van het dialoogvenster. Indien mogelijk, creëert het systeem een lettertype volgens de in deze leden vermelde waarden. Daarna gaat het systeem de greep van het lettertype in het dialoogvenster en aan elk besturingselement door deze te verzenden het bericht WM_SETFONT. Als deze stijl niet is opgegeven, omvat het uitgebreide dialoogvenster vak sjabloon niet de leden specifiek, gewicht, bItalicen lettertype. |
| DS_SETFOREGROUND | Het systeem om de SetForegroundWindow -functie gebruiken om het dialoogvenster naar de voorgrond te. |
| DS_SYSMODAL | Deze stijl is verouderd en is opgenomen voor compatibiliteit met eerdere versies van Windows. Als u deze stijl opgeeft, geeft het systeem wordt gemaakt in het dialoogvenster met de stijl WS_EX_TOPMOST. Deze stijl met de DS_CONTROL stijl niet combineren. |
U kunt een uitgebreide dialoogvenster vak sjabloon gebruiken in plaats van een standaard dialoogvenster vak sjabloon in de functies CreateDialogIndirectParam en DialogBoxIndirectParam en de CreateDialogIndirect en DialogBoxIndirect macro's. Een standaard dialoogvenster vak sjabloon gebruikt de DLGTEMPLATE en DLGITEMTEMPLATE structuren.
Na de header DLGTEMPLATEEX in een uitgebreide dialoogvenster vak sjabloon is een of meer DLGITEMTEMPLATEEX structuren die de besturingselementen van het dialoogvenster beschrijven. Lid van de cDlgItems geeft het aantal DLGITEMTEMPLATEEX structuren in de sjabloon.
Elke DLGITEMTEMPLATEEX structuur in de sjabloon moet worden uitgelijnd op een DWORD grens. Als lid van de stijl de stijl van de DS_SETFONT geeft, begint de eerste DLGITEMTEMPLATEEX structuur op de eerste DWORD grens na de lettertype -tekenreeks. Als DS_SETFONT niet is opgegeven, begint de eerste structuur op de eerste DWORD grens na de titel reeks.
Het menu, windowClass, titelen lettertype matrices moeten worden uitgelijnd op woordgrenzen.
Als u tekenreeksen in het menu, windowClass, titelen arrays lettertype opgeeft, moet u Unicode-tekenreeksen. Gebruik de functie MultiByteToWideChar voor het genereren van deze Unicode-tekenreeksen om code die op zowel Windows als Windows NT werkt maken,.
De x, y, cxen cy leden opgeven waarden in het dialoogvenster vak eenheden. U kunt deze waarden converteren naar scherm eenheden (pixels) met behulp van de functie MapDialogRect.
nbsp; Windows &NT: versie 3.51 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Overzicht van dialoogvenster vakken, dialoogvenster vak structuren, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT