Freigeben über


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

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

Konzept

Dialogfelder

Andere Ressourcen

LOGFONT

MultiByteToWideChar