DLGTEMPLATEEX-Struktur
Eine erweiterte Dialogfeldvorlage beginnt mit einem DLGTEMPLATEEX-Header , der das Dialogfeld beschreibt und die Anzahl der Steuerelemente im Dialogfeld angibt. Für jedes Steuerelement in einem Dialogfeld enthält eine vorlage für erweiterte Dialogfelder einen Datenblock, der das DLGITEMTEMPLATEEX-Format verwendet, um das Steuerelement zu beschreiben.
Die DLGTEMPLATEEX-Struktur ist in keiner Standardheaderdatei definiert. Die Strukturdefinition wird hier bereitgestellt, um das Format einer erweiterten Vorlage für ein Dialogfeld zu erläutern.
Syntax
typedef struct {
WORD dlgVer;
WORD signature;
DWORD helpID;
DWORD exStyle;
DWORD style;
WORD cDlgItems;
short x;
short y;
short cx;
short cy;
sz_Or_Ord menu;
sz_Or_Ord windowClass;
WCHAR title[titleLen];
WORD pointsize;
WORD weight;
BYTE italic;
BYTE charset;
WCHAR typeface[stringLen];
} DLGTEMPLATEEX;
Member
-
dlgVer
-
Typ: WORD
-
Die Versionsnummer der Vorlage für das erweiterte Dialogfeld. Dieser Member muss auf 1 festgelegt werden.
-
Signatur
-
Typ: WORD
-
Gibt an, ob eine Vorlage eine erweiterte Dialogfeldvorlage ist. Wenn die Signatur 0xFFFF ist, handelt es sich um eine erweiterte Dialogfeldvorlage. In diesem Fall gibt der dlgVer-Member die Versionsnummer der Vorlage an. Wenn signatur ein anderer Wert als 0xFFFF ist, handelt es sich um eine Standarddialogfeldvorlage, die die Strukturen DLGTEMPLATE und DLGITEMTEMPLATE verwendet.
-
helpID
-
Art: DWORD
-
Der Hilfekontextbezeichner für das Dialogfeldfenster. Wenn das System eine WM_HELP Nachricht sendet, übergibt es diesen Wert im wContextId-Element der HELPINFO-Struktur .
-
exStyle
-
Art: DWORD
-
Die erweiterten Fensterstile. Dieses Element wird nicht beim Erstellen von Dialogfeldern verwendet, aber Anwendungen, die Dialogfeldvorlagen verwenden, können es verwenden, um andere Fenstertypen zu erstellen. Eine Liste der Werte finden Sie unter Erweiterte Fensterstile.
-
style
-
Art: DWORD
-
Der Stil des Dialogfelds. Bei diesem Element kann es sich um eine Kombination aus Fensterstilwerten und Dialogfeldformatvorlagenwerten handeln.
Wenn style die DS_SETFONT - oder DS_SHELLFONT Dialogfeldformatvorlage enthält, enthält der DLGTEMPLATEEX-Header der Vorlage für erweiterte Dialogfelder vier zusätzliche Elemente ( Punktgröße, Gewichtung, Kursivschrift und Schriftart), die die Schriftart beschreiben, die für den Text im Clientbereich und die Steuerelemente des Dialogfelds verwendet werden soll. Wenn möglich, erstellt das System eine Schriftart gemäß den in diesen Membern angegebenen Werten. Anschließend sendet das System eine WM_SETFONT Meldung an das Dialogfeld und jedes Steuerelement, um ein Handle für die Schriftart bereitzustellen.
Weitere Informationen finden Sie unter Dialogfeldschriftarten.
-
cDlgItems
-
Typ: WORD
-
Die Anzahl der Steuerelemente im Dialogfeld.
-
x
-
Typ: short
-
Die x-Koordinate in Dialogfeldeinheiten der oberen linken Ecke des Dialogfelds.
-
y
-
Typ: short
-
Die y-Koordinate in Dialogfeldeinheiten der oberen linken Ecke des Dialogfelds.
-
Cx
-
Typ: short
-
Die Breite des Dialogfelds in Dialogfeldeinheiten.
-
cy
-
Typ: short
-
Die Höhe des Dialogfelds in Dialogfeldeinheiten.
-
Menü
-
Typ: sz_Or_Ord
-
Ein Array mit variabler Länge von 16-Bit-Elementen, das eine Menüressource für das Dialogfeld identifiziert. Wenn das erste Element dieses Arrays 0x0000 ist, enthält das Dialogfeld kein Menü, und das Array enthält keine anderen Elemente. Wenn das erste Element 0xFFFF ist, verfügt das Array über ein zusätzliches Element, das den Ordnungswert einer Menüressource in einer ausführbaren Datei angibt. Wenn das erste Element über einen anderen Wert verfügt, behandelt das System das Array als unicode-Zeichenfolge mit NULL-Beendigung, die den Namen einer Menüressource in einer ausführbaren Datei angibt.
-
windowClass
-
Typ: sz_Or_Ord
-
Ein Array mit variabler Länge von 16-Bit-Elementen, das die Fensterklasse des Dialogfelds identifiziert. Wenn das erste Element des Arrays 0x0000 ist, verwendet das System die vordefinierte Dialogfeldklasse für das Dialogfeld, und das Array enthält keine anderen Elemente. Wenn das erste Element 0xFFFF ist, verfügt das Array über ein zusätzliches Element, das den Ordnungswert einer vordefinierten Systemfensterklasse angibt. Wenn das erste Element über einen anderen Wert verfügt, behandelt das System das Array als unicode-Zeichenfolge, die den Namen einer registrierten Fensterklasse angibt.
-
title
-
Typ: WCHAR[titleLen]
-
Der Titel des Dialogfelds. Wenn das erste Element dieses Arrays 0x0000 ist, hat das Dialogfeld keinen Titel, und das Array enthält keine anderen Elemente.
-
pointsize
-
Typ: WORD
-
Die Punktgröße der Schriftart, die für den Text im Dialogfeld und die zugehörigen Steuerelemente verwendet werden soll.
Dieser Member ist nur vorhanden, wenn das FormatelementDS_SETFONT oder DS_SHELLFONT angibt.
-
weight
-
Typ: WORD
-
Die Gewichtung der Schriftart. Beachten Sie, dass, obwohl dies jeder der Werte sein kann, die für den lfWeight-Member der LOGFONT-Struktur aufgeführt sind, jeder verwendete Wert automatisch in FW_NORMAL geändert wird.
Dieser Member ist nur vorhanden, wenn das FormatelementDS_SETFONT oder DS_SHELLFONT angibt.
-
Kursiv
-
Typ: BYTE
-
Gibt an, ob die Schriftart kursiv ist. Wenn dieser Wert TRUE ist, ist die Schriftart kursiv.
Dieser Member ist nur vorhanden, wenn das FormatelementDS_SETFONT oder DS_SHELLFONT angibt.
-
Charset
-
Typ: BYTE
-
Der zu verwendende Zeichensatz. Weitere Informationen finden Sie im lfcharset-Element von LOGFONT.
Dieser Member ist nur vorhanden, wenn das FormatelementDS_SETFONT oder DS_SHELLFONT angibt.
-
Schrift
-
Typ: WCHAR[stringLen]
-
Der Name der Schriftart.
Dieser Member ist nur vorhanden, wenn das FormatelementDS_SETFONT oder DS_SHELLFONT angibt.
Bemerkungen
Sie können eine erweiterte Dialogfeldvorlage anstelle einer Standarddialogfeldvorlage in den Funktionen CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect und DialogBoxIndirect verwenden.
Nach dem DLGTEMPLATEEX-Header in einer erweiterten Dialogfeldvorlage finden Sie eine oder mehrere DLGITEMTEMPLATEEX-Strukturen , die die Steuerelemente des Dialogfelds beschreiben. Das cDlgItems-Element der DLGITEMTEMPLATEEX-Struktur gibt die Anzahl der DLGITEMTEMPLATEEX-Strukturen an, die in der Vorlage folgen.
Jede DLGITEMTEMPLATEEX-Struktur in der Vorlage muss an einer DWORD-Grenze ausgerichtet werden. Wenn das Formatelement die DS_SETFONT oder DS_SHELLFONT Formatvorlage angibt, beginnt die erste DLGITEMTEMPLATEEX-Struktur an der ersten DWORD-Grenze nach der Schriftartzeichenfolge . Wenn diese Formatvorlagen nicht angegeben werden, beginnt die erste Struktur an der ersten DWORD-Grenze nach der Titelzeichenfolge .
Das Menü, windowClass, title und typeface Arrays müssen an WORD-Grenzen ausgerichtet sein.
Wenn Sie Zeichenfolgen im Menü, windowClass, title und typeface arrays angeben, müssen Sie Unicode-Zeichenfolgen verwenden. Verwenden Sie die MultiByteToWideChar-Funktion , um diese Unicode-Zeichenfolgen aus ANSI-Zeichenfolgen zu generieren.
Die Elemente x, y, cx und cy geben Werte in Dialogfeldeinheiten an. Sie können diese Werte mithilfe der MapDialogRect-Funktion in Bildschirmeinheiten (Pixel) konvertieren.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Siehe auch
-
Referenz
-
Konzept
-
Andere Ressourcen