Die DLGTEMPLATEEX -Struktur ist nicht in jedem standard-Header-Datei definiert. Die Strukturdefinition dient hier um zu erklären, das Format der eine erweiterte Vorlage für ein Dialogfeld.
Eine erweitertes Dialogfeld Feld Vorlage beginnt mit einem DLGTEMPLATEEX -Header, der beschreibt das Dialogfeld und gibt die Anzahl der Steuerelemente im Dialogfeld. Für jedes Steuerelement in einem Dialogfeld hat eine erweitertes Dialogfeld Feld Vorlage einen Block von Daten, die das DLGITEMTEMPLATEEX -Format verwendet, um das Steuerelement zu beschreiben.
typedef Struct {Wort DlgVer; WORD Signatur; DWORD HilfeID; DWORD ExStyle; DWORD Stil; WORD cDlgItems; kurze X; kurze y; kurze Cx; kurze cy; Sz_Or_Ord Menü; / / Name oder Ordinalzahl einer Menü-Ressource Sz_Or_Ord WindowClass; / / Name oder Ordinalzahl einer Fenster-Klasse WCHAR Titel [TitleLen]; / / Zeichenfolge des Dialogfeldes Titel kurze Pointsize; / / nur wenn DS_SETFONT Flag gesetzt ist kurze Gewicht; / / nur wenn DS_SETFONT Flag gesetzt ist kurze bItalic; / / nur wenn DS_SETFONT Flag gesetzt ist WCHAR Schriften [FontLen]; / / Schriftart, wenn DS_SETFONT festgelegt ist } DLGTEMPLATEEX
| 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 wird, behandelt das System sie als 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 die Dialogfeld-Prozedur, die aufrufen sollten 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. Sie können keine WS_EX_CONTEXTHELP Stil mit dem WS_MAXIMIZEBOX oder WS_MINIMIZEBOX. |
| 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 DLGTEMPLATEEX das erweiterte Dialogfeld Feld Vorlage vier zusätzliche Mitglieder (Pointsize, Gewicht, bItalicund Schriften) enthält, die die Schriftart für den Text in den Clientbereich und die Steuerelemente des Dialogfelds verwenden beschreiben. Wenn möglich, erstellt das System eine Schriftart entsprechend den Werten in dieser Mitglieder. Ü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, beinhaltet das erweiterte Dialogfeld Feld Vorlage Member Pointsize, Gewicht, bItalicund Schrift 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. |
Statt ein standard-Dialogfeld Feld Vorlage in die Funktionen CreateDialogIndirectParam und DialogBoxIndirectParam und die Makros CreateDialogIndirect und DialogBoxIndirect können Sie eine erweitertes Dialogfeld Feld Vorlage. Eine standard-Dialogfeld Feld Vorlage verwendet die Strukturen DLGTEMPLATE und DLGITEMTEMPLATE.
Nach den DLGTEMPLATEEX -Header in einer erweiterten Dialogfeld Feld Vorlage ist eine oder mehrere DLGITEMTEMPLATEEX -Strukturen, die die Steuerelemente im Dialogfeld zu beschreiben. Das cDlgItems -Element gibt die Anzahl der DLGITEMTEMPLATEEX Strukturen in der Vorlage.
Jede DLGITEMTEMPLATEEX Struktur in der Vorlage muss auf ein DWORD -Grenzen ausgerichtet werden. Wenn das Stil -Mitglied der Style DS_SETFONT angibt, beginnt die erste DLGITEMTEMPLATEEX -Struktur auf der ersten DWORD -Grenze nach der Schriftart -Zeichenfolge. Wenn DS_SETFONT nicht angegeben ist, beginnt die erste Struktur auf die erste DWORD -Grenze nach Titelzeichenfolge.
Menü, WindowClass, Titelund Schriftart -Arrays müssen auf Wortgrenzen ausgerichtet werden.
Wenn Sie Zeichenfolgen in das Menü, WindowClass, Titelund Schriftart -Arrays 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.
&Nbsp; Windows NT: Version 3.51 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Übersicht über Dialogfelder, Dialogfeld Feld Strukturen, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT