DLGTEMPLATE

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

typedef Struct {/ / Dltt DWORD Stil; 
    DWORD DwExtendedStyle; 
    Wort Cdit; 
    kurze X; 
    kurze y; 
    kurze Cx; 
    kurze cy; 
} DLGTEMPLATE 

 

Mitglieder

stil
Gibt den Stil des Dialogfelds. Dieses Mitglied kann eine Kombination der Fensterstilwerte (z. B. WS_CAPTION und WS_SYSMENU) und eine oder mehrere der folgenden Dialogfeld im Feld Stilwerte sein.:
Wert Bedeutung
DS_3DLOOK Gibt im Dialogfeld eine formatierte Schriftart und zeichnet dreidimensionale Grenzen um Steuerelement Windows im Dialogfeld.

DS_3DLOOK Stil benötigt nur Win32-basierten Anwendungen, die früher als Windows 95 oder Windows NT 4.0 für System-Versionen zusammengestellt. Das System wendet automatisch den dreidimensionalen Blick auf Dialogfelder erstellt von Anwendungen für aktuelle Versionen des Systems.

DS_ABSALIGN Gibt an, dass die Koordinaten des Dialogfelds Bildschirmkoordinaten. Wenn dieses Format nicht angegeben ist, nimmt das System, dass sie sind Clientkoordinaten.
DS_CENTER Zentriert das Dialogfeld im Arbeitsbereich; Das heißt, das Gebiet nicht von der Taskleiste verdeckt.
DS_CENTERMOUSE Den Mauszeiger im Dialogfeld-Zentren.
DS_CONTEXTHELP Enthält ein Fragezeichen in der Titelleiste des Dialogfelds. Klickt der Benutzer das Fragezeichen, ändert sich der Cursor in ein Fragezeichen mit einem Zeiger. Wenn der Benutzer dann auf ein Steuerelement im Dialogfeld klickt, erhält das Steuerelement eine WM_HELP-Meldung. Das Steuerelement sollte die Nachricht übergeben, um das Dialogfeld Feld Verfahren, das rufen sollte die WinHelp -Funktion mit dem Befehl HELP_WM_HELP. Die Hilfeanwendung zeigt ein Popup-Fenster, die in der Regel Hilfe für das Steuerelement enthält.

Beachten Sie, dass DS_CONTEXTHELP nur ein Platzhalter ist. Wenn das Dialogfeld erstellt wird, das System sucht DS_CONTEXTHELP und, wenn sie existiert, fügt WS_EX_CONTEXTHELP auf den erweiterten Stil des Dialogfelds. WS_EX_CONTEXTHELP kann nicht mit dem WS_MAXIMIZEBOX oder WS_MINIMIZEBOX verwendet werden.

DS_CONTROL Erstellt ein Dialogfeld, das nun als untergeordnetes Fenster eines ein weiteres Dialogfeld, ähnlich wie eine Seite in einem Eigenschaftenblatt arbeitet. Dieser Stil ermöglicht es dem Benutzer unter dem Steuerelement Windows das Dialogfeld Kind, verwenden Sie die Zugriffstasten, und so weiter.
DS_FIXEDSYS Bewirkt, dass das Dialogfeld die SYSTEM_FIXED_FONT anstelle des standardmäßigen SYSTEM_FONT verwenden. SYSTEM_FIXED_FONT ist eine Monospace-Schriftart mit der System-Schriftart in Windows-Versionen vor 3.0 kompatibel.
DS_LOCALEDIT Gilt für nur 16-Bit-Anwendungen. Dieser Stil leitet Edit-Steuerelemente in das Dialogfeld Speicher vom Datensegment der Anwendung zuordnen. Ansonsten bearbeiten Kontrollen Speicherzuweisung aus einem Objekt globalen Speicher.
DS_MODALFRAME Erstellt ein Dialogfeld mit einem modalen Dialogfeld-Rahmen, der mit einem Titel- und Systemmenü kombiniert werden kann, durch Angabe der WS_CAPTION und WS_SYSMENU Stile.
DS_NOFAILCREATE Windows 95: Das Dialogfeld erstellt, auch wenn Fehler auftreten – beispielsweise, wenn ein untergeordnetes Fenster kann nicht erstellt werden, oder wenn das System eine spezielle Datensegment für ein Edit-Steuerelement erstellt werden kann.
DS_NOIDLEMSG Unterdrückt WM_ENTERIDLE, die das System sonst an den Besitzer des Dialogfelds senden würde, während das Dialogfeld angezeigt wird.
DS_SETFONT Gibt an, dass die Kopfzeile der Dialogfeldvorlage enthält zusätzliche Daten angeben die Schriftart für Text in den Clientbereich und die Steuerelemente des Dialogfelds verwendet. Die Schriftdaten beginnt an der Wortgrenze, die das Titel-Array folgt . Es gibt eine 16-Bit-Größe Punktwert und eine Unicode-Schriftart-Name-Zeichenfolge. Wenn möglich, erstellt das System eine Schriftart gemäß den angegebenen Werten. Übergibt dann das System das Handle der Schriftart im Dialogfeld und jedem Steuerelement durch Versenden der Nachricht WM_SETFONT.

Wenn dieses Format nicht angegeben ist, schließt das Dialogfeld Feld Vorlage die Schriftdaten nicht.

DS_SETFOREGROUND Bewirkt, dass das System die SetForegroundWindow -Funktion verwenden, um das Dialogfeld in den Vordergrund bringen.
DS_SYSMODAL Dieser Stil ist veraltet und wird aus Kompatibilitätsgründen mit früheren Versionen von Windows enthalten. Wenn Sie dieses Format angeben, erstellt das System das Dialogfeld mit den WS_EX_TOPMOST-Stil. Kombinieren Sie dieser Stil mit dem DS_CONTROL-Stil nicht.

dwExtendedStyle
Gibt erweiterte Stile für ein Fenster. Dieser Member wird nicht zum Erstellen von Dialogfeldern verwendet, aber Anwendungen, die Dialogfeldvorlagen verwenden können es verwenden, um andere Typen von Windows erstellen.
cdit
Gibt die Anzahl der Elemente im Dialogfeld.
x
Gibt die X-Koordinate, in Dialogfeld im Feld Einheiten, von der linken oberen Ecke des Dialogfelds.
y
Gibt die y-Koordinate, in Dialogfeld im Feld Einheiten, von der linken oberen Ecke des Dialogfelds.
cx
Gibt die Breite in Dialogfeld im Feld Einheiten, im Dialogfeld.
cy
Gibt die Höhe im Dialogfeld im Feld Einheiten, im Dialogfeld.

Bemerkungen

In einer Standardvorlage für ein Dialogfeld folgt die DLGTEMPLATE Struktur immer sofort von drei Arrays variabler Länge, die im Menü, Klasse und Titel für das Dialogfeld angeben. Wenn der Style DS_SETFONT gegeben ist, sind diese Arrays auch eine 16-Bit-Wert, der angibt, Größe und ein anderes variabler Länge Array Name einer Schriftart angegeben folgen. Jedes Array besteht aus mindestens 16-Bit-Elemente. Menü, Klasse, Titel und Schriftart-Arrays müssen auf Wortgrenzen ausgerichtet werden.

Unmittelbar nach die DLGTEMPLATE Struktur ist ein Menü-Array, das eine Menüressource für das Dialogfeld identifiziert. Wenn das erste Element dieses Arrays 0 x 0000 ist, das Dialogfeld hat kein Menü und das Array enthält keine anderen Elemente. Wenn das erste Element 0xFFFF ist, hat das Array ein zusätzliches Element, das den ordinalen-Wert entspricht einer Menü-Ressource in eine ausführbare Datei angibt. Wenn das erste Element einen anderen Wert hat, behandelt das System das Array als eine Null-terminierte Unicode-Zeichenfolge, die den Namen einer Menü-Ressource in eine ausführbare Datei.

Das Menü-Array ist ein Klasse-Array, das die Window-Klasse des Steuerelements identifiziert. Wenn das erste Element des Arrays auf 0 x 0000 ist, das System verwendet die vordefinierten Dialogfeld Box-Klasse für das Dialogfeld, und das Array enthält keine anderen Elemente. Wenn das erste Element 0xFFFF ist, hat das Array ein zusätzliches Element, das den ordinalen-Wert einer vordefinierten Systemdaten-Fenster-Klasse gibt. Wenn das erste Element einen anderen Wert hat, behandelt das System das Array als eine Null-terminierte Unicode-Zeichenfolge, die den Namen einer registrierten Fenster-Klasse.

Nach das Klasse Array ist ein Array der Titel, der eine Null-terminierte Unicode-Zeichenfolge angibt, die den Titel des Dialogfelds enthält. Wenn das erste Element dieses Arrays 0 x 0000 ist, das Dialogfeld hat keinen Namen und das Array enthält keine anderen Elemente.

Die 16-Bit Punkt Size-Wert und die Schrift-Array folgen das Titel-Array, aber nur wenn das Stil -Mitglied den DS_SETFONT-Stil angibt. Der Punkt Größenwert gibt die Größe der Schriftart für den Text in das Dialogfeld und seiner Steuerelemente verwenden. Das Schrift-Array ist eine Null-terminierte Unicode-Zeichenfolge, die den Namen der Schriftart für die Schriftart angibt. Wenn diese Werte gegeben sind, das System erstellt ein Font mit der angegebenen Größe und Schrift (wenn möglich) und sendet eine WM_SETFONT-Nachricht an die Dialogfeldprozedur und Kontrollverfahren, die Fenster, als es den Dialogfeldern und Steuerelementen erstellt.

Nach den DLGTEMPLATE Header in einer Norm Dialogfeldvorlage sind eine oder mehrere DLGITEMTEMPLATE -Strukturen, die die Dimensionen und den Stil der Steuerelemente im Dialogfeld zu definieren. Das Cdit -Element gibt die Anzahl der DLGITEMTEMPLATE Strukturen in der Vorlage. Diese DLGITEMTEMPLATE Strukturen müssen auf DWORD -Grenzen ausgerichtet werden.

Wenn Sie in dem Menü, Klasse, Titel oder Schrift Arrays Zeichenfolgen angeben, müssen Sie Unicode-Zeichenfolgen verwenden. Um Code zu erstellen, die auf Windows und Windows NT funktioniert, verwenden Sie die Funktion MultiByteToWideChar diese Unicode-Zeichenfolgen generieren.

Die X, y, Cxund cy -Member angeben Werte im Dialogfeld im Feld Einheiten. Sie können diese Werte in Einheiten (Pixel) Bildschirm konvertieren, mithilfe der Funktion MapDialogRect.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.

Siehe auch

Übersicht über Dialogfelder, Dialogfeld Feld Strukturen, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATEEX, MapDialogRect, MultiByteToWideChar

Index