Freigeben über


DLGITEMTEMPLATE-Struktur (winuser.h)

Definiert die Dimensionen und den Stil eines Steuerelements in einem Dialogfeld. Eine oder mehrere dieser Strukturen werden mit einer DLGTEMPLATE-Struktur kombiniert, um eine Standardvorlage für ein Dialogfeld zu bilden.

Syntax

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  short x;
  short y;
  short cx;
  short cy;
  WORD  id;
} DLGITEMTEMPLATE;

Member

style

Art: DWORD

Das Format des Steuerelements. Dieser Member kann eine Kombination aus Fensterformatwerten (z. B. WS_BORDER) und mindestens einem der Steuerelementstilwerte (z. B. BS_PUSHBUTTON und ES_LEFT) sein.

dwExtendedStyle

Art: DWORD

Die erweiterten Stile für ein Fenster. Dieses Element wird nicht zum Erstellen von Steuerelementen in Dialogfeldern verwendet, aber Anwendungen, die Dialogfeldvorlagen verwenden, können es verwenden, um andere Arten von Fenstern zu erstellen. Eine Liste der Werte finden Sie unter Erweiterte Fensterstile.

x

Typ: kurz

Die x-Koordinate in Dialogfeldeinheiten der oberen linken Ecke des Steuerelements. Diese Koordinate ist immer relativ zur oberen linken Ecke des Clientbereichs des Dialogfelds.

y

Typ: kurz

Die y-Koordinate in Dialogfeldeinheiten der oberen linken Ecke des Steuerelements. Diese Koordinate ist immer relativ zur oberen linken Ecke des Clientbereichs des Dialogfelds.

cx

Typ: kurz

Die Breite des Steuerelements in Dialogfeldeinheiten.

cy

Typ: kurz

Die Höhe des Steuerelements in Dialogfeldeinheiten.

id

Typ: WORD

Der Steuerelementbezeichner.

Hinweise

In einer Standardvorlage für ein Dialogfeld wird der DLGITEMTEMPLATE-Struktur immer unmittelbar gefolgt von drei Arrays mit variabler Länge, die die Klasse, den Titel und die Erstellungsdaten für das Steuerelement angeben. Jedes Array besteht aus einem oder mehreren 16-Bit-Elementen.

Jede DLGITEMTEMPLATE-Struktur in der Vorlage muss an einer DWORD-Grenze ausgerichtet werden. Die Klassen- und Titelarrays müssen an WORD-Grenzen ausgerichtet sein. Das Erstellungsdatenarray muss an einer WORD-Grenze ausgerichtet werden.

Unmittelbar nach jeder DLGITEMTEMPLATE-Struktur befindet sich ein Klassenarray, das die Fensterklasse des Steuerelements angibt. Wenn das erste Element dieses Arrays ein anderer Wert als 0xFFFF ist, behandelt das System das Array als unicode-Zeichenfolge mit NULL-Beendigung, die den Namen einer registrierten Fensterklasse angibt. Wenn das erste Element 0xFFFF ist, verfügt das Array über ein zusätzliches Element, das den Ordnungswert einer vordefinierten Systemklasse angibt. Die Ordnungszahl kann einer der folgenden Atomwerte sein.

Wert Bedeutung
0x0080 Schaltfläche
0x0081 Bearbeiten
0x0082 Statisch
0x0083 Listenfeld
0x0084 Bildlaufleiste
0x0085 Kombinationsfeld
 

Dem Klassenarray folgt ein Titelarray, das den Anfangstext oder ressourcenbezeichner des Steuerelements enthält. Wenn das erste Element dieses Arrays 0xFFFF ist, verfügt das Array über ein zusätzliches Element, das einen Ordnungswert einer Ressource angibt, z. B. ein Symbol, in einer ausführbaren Datei. Sie können einen Ressourcenbezeichner für Steuerelemente verwenden, z. B. statische Symbolsteuerelemente, die anstelle von Text ein Symbol oder eine andere Ressource laden und anzeigen. Wenn das erste Element ein anderer Wert als 0xFFFF ist, behandelt das System das Array als unicode-Zeichenfolge mit NULL-Beendigung, die den Anfangstext angibt.

Das Erstellungsdatenarray beginnt an der nächsten WORD-Grenze nach dem Titelarray. Diese Erstellungsdaten können eine beliebige Größe und ein beliebiges Format aufweisen. Wenn das erste Wort des Erstellungsdatenarrays nichtzero ist, gibt es die Größe der Erstellungsdaten (einschließlich des Größenworts) in Bytes an. Die Fensterprozedur des Steuerelements muss in der Lage sein, die Daten zu interpretieren. Wenn das System das Steuerelement erstellt, übergibt es einen Zeiger auf diese Daten im lParam-Parameter der WM_CREATE Nachricht, die es an das Steuerelement sendet.

Wenn Sie Zeichenfolgen in den Klassen- und Titelarrays angeben, müssen Sie Unicode-Zeichenfolgen verwenden. Verwenden Sie die MultiByteToWideChar-Funktion , um Unicode-Zeichenfolgen aus ANSI-Zeichenfolgen zu generieren.

Die Elemente x, y, cx und cy geben Werte in Dialogfeldeinheiten an. Sie können diese Werte mit der MapDialogRect-Funktion in Bildschirmeinheiten (Pixel) konvertieren.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winuser.h (einschließlich Windows.h)

Siehe auch

Konzept

CreateDialogIndirect

CreateDialogIndirectParam

Createwindowex

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

Dialogfelder

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Andere Ressourcen

Referenz

WM_CREATE