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
Andere Ressourcen
Referenz