Freigeben über


DLGTEMPLATE-Struktur (winuser.h)

Definiert die Dimensionen und den Stil eines Dialogfelds. Diese Struktur, immer die erste in einer Standardvorlage für ein Dialogfeld, gibt auch die Anzahl der Steuerelemente im Dialogfeld an und gibt daher die Anzahl der nachfolgenden DLGITEMTEMPLATE-Strukturen in der Vorlage an.

Syntax

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  WORD  cdit;
  short x;
  short y;
  short cx;
  short cy;
} DLGTEMPLATE;

Member

style

Art: DWORD

Der Stil des Dialogfelds. Dieser Member kann eine Kombination aus Fensterformatwerten (z. B. WS_CAPTION und WS_SYSMENU) und Werten im Dialogfeldformat (z. B. DS_CENTER) sein.

Wenn der Stilmember die DS_SETFONT Formatvorlage enthält, enthält die Kopfzeile der Dialogfeldvorlage zusätzliche Daten, die die Schriftart angeben, die für Text im Clientbereich und die Steuerelemente des Dialogfelds verwendet werden soll. Die Schriftartdaten beginnen an der WORD-Grenze , die dem Titelarray folgt. Die Schriftartdaten geben einen 16-Bit-Punktgrößenwert und eine Unicode-Schriftnamenzeichenfolge an. Wenn möglich, erstellt das System eine Schriftart gemäß den 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. Wenn DS_SETFONT nicht angegeben ist, enthält die Dialogfeldvorlage die Schriftartdaten nicht.

Die DS_SHELLFONT-Formatvorlage wird im DLGTEMPLATE-Header nicht unterstützt.

dwExtendedStyle

Art: DWORD

Die erweiterten Stile für ein Fenster. Dieses Element wird nicht zum 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.

cdit

Typ: WORD

Die Anzahl der Elemente 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.

Hinweise

In einer Standardvorlage für ein Dialogfeld folgen der DLGTEMPLATE-Struktur immer unmittelbar drei Arrays variabler Länge, die das Menü, die Klasse und den Titel für das Dialogfeld angeben. Wenn die DS_SETFONT-Formatvorlage angegeben wird, folgen diesen Arrays auch ein 16-Bit-Wert, der die Punktgröße angibt, und ein weiteres Array variabler Länge, das einen Schriftartnamen angibt. Jedes Array besteht aus einem oder mehreren 16-Bit-Elementen. Das Menü, die Klasse, der Titel und die Schriftarten müssen an WORD-Grenzen ausgerichtet sein.

Unmittelbar nach der DLGTEMPLATE-Struktur befindet sich ein Menüarray, 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.

Dem Menüarray folgt ein Klassenarray, 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.

Nach dem Klassenarray befindet sich ein Titelarray, das eine Unicode-Zeichenfolge mit NULL-Termin angibt, die den Titel des Dialogfelds enthält. Wenn das erste Element dieses Arrays 0x0000 ist, hat das Dialogfeld keinen Titel, und das Array enthält keine anderen Elemente.

Der 16-Bit-Punktgrößenwert und das Schriftartarray folgen dem Titelarray, aber nur, wenn das Formatelement die DS_SETFONT Formatvorlage angibt. Der Punktgrößenwert gibt die Punktgröße der Schriftart an, die für den Text im Dialogfeld und die zugehörigen Steuerelemente verwendet werden soll. Das Schriftartarray ist eine Unicode-Zeichenfolge mit NULL-Beendigung, die den Namen der Schriftart angibt. Wenn diese Werte angegeben werden, erstellt das System eine Schriftart mit der angegebenen Größe und Schriftart (falls möglich) und sendet eine WM_SETFONT Meldung an die Dialogfeldprozedur und die Steuerelementfensterprozeduren, während das Dialogfeld und die Steuerelemente erstellt werden.

Nach dem DLGTEMPLATE-Header in einer Standarddialogfeldvorlage finden Sie eine oder mehrere DLGITEMTEMPLATE-Strukturen , die die Dimensionen und den Stil der Steuerelemente im Dialogfeld definieren. Das cdit-Element gibt die Anzahl der DLGITEMTEMPLATE-Strukturen in der Vorlage an. Diese DLGITEMTEMPLATE-Strukturen müssen an DWORD-Grenzen ausgerichtet werden.

Wenn Sie Zeichenfolgen im Menü, in der Klasse, in den Titel- oder Schriftartarrays angeben, müssen Sie Unicode-Zeichenfolgen verwenden.

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]
Kopfzeile winuser.h (windows.h einschließen)

Siehe auch

Konzept

CreateDialogIndirect

CreateDialogIndirectParam

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

Dialogfelder

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Andere Ressourcen

Referenz