Freigeben über


Dialogfelder (Dialogfelder)

Ein Dialogfeld ist ein temporäres Fenster, das eine Anwendung zum Abrufen von Benutzereingaben erstellt. Eine Anwendung verwendet in der Regel Dialogfelder, um den Benutzer zur Eingabe zusätzlicher Informationen für Menüelemente aufzufordern. Ein Dialogfeld enthält normalerweise ein oder mehrere Steuerelemente (untergeordnete Fenster), mit denen der Benutzer Text eingibt, Optionen wählt oder die Aktion leitet.

Windows bietet auch vordefinierte Dialogfelder, die allgemeine Menüelemente wie Öffnen und Drucken unterstützen. Anwendungen, die diese Menüelemente verwenden, sollten die allgemeinen Dialogfelder verwenden, um diese Benutzereingabe unabhängig vom Anwendungstyp aufzufordern.

In diesem Abschnitt

Name BESCHREIBUNG
Informationen zu Dialogfeldern Erläutert die Verwendung von Dialogfeldern in der Benutzeroberfläche für Ihre Anwendungen.
Erwägungen zur Dialogfeldprogrammierung In dieser Übersicht werden einige Programmierüberlegungen in Bezug auf Dialogfelder erläutert.
Verwenden von Dialogfeldern Sie verwenden Dialogfelder, um Informationen anzuzeigen und vom Benutzer zur Eingabe aufzufordern.
Dialogfeldreferenz Api-Referenz
Allgemeine Dialogfeldbibliothek Erläutert die Verwendung der allgemeinen Dialogfelder in der Benutzeroberfläche für Ihre Anwendungen.

Dialogfeldfunktionen

Name BESCHREIBUNG
CreateDialog Erstellt ein modusloses Dialogfeld aus einer Dialogfeldvorlagenressource.
CreateDialogIndirect Erstellt ein modusloses Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher.
CreateDialogIndirectParam Erstellt ein modusloses Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher. Vor dem Anzeigen des Dialogfelds übergibt die Funktion einen von der Anwendung definierten Wert als lParam-Parameter der WM_INITDIALOG-Nachricht an die Dialogfeldprozedur. Eine Anwendung kann diesen Wert verwenden, um Dialogfeldsteuerelemente zu initialisieren.
CreateDialogParam Erstellt ein modusloses Dialogfeld aus einer Dialogfeldvorlagenressource. Vor dem Anzeigen des Dialogfelds übergibt die Funktion einen von der Anwendung definierten Wert als lParam-Parameter der WM_INITDIALOG-Nachricht an die Dialogfeldprozedur. Eine Anwendung kann diesen Wert verwenden, um Dialogfeldsteuerelemente zu initialisieren.
DefDlgProc Ruft die Standardprozedur des Dialogfeldfensters auf, um die Standardverarbeitung für alle Fenstermeldungen bereitzustellen, die von einem Dialogfeld mit einer klasse eines privaten Fensters nicht verarbeitet werden.
DialogBox Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlagenressource. DialogBox gibt die Steuerung erst zurück, wenn die angegebene Rückruffunktion das modale Dialogfeld durch Aufrufen der EndDialog-Funktion beendet.
DialogBoxIndirect Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher. DialogBoxIndirect gibt die Steuerung erst zurück, wenn die angegebene Rückruffunktion das modale Dialogfeld durch Aufrufen der EndDialog-Funktion beendet.
DialogBoxIndirectParam Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher. Vor dem Anzeigen des Dialogfelds übergibt die Funktion einen von der Anwendung definierten Wert als lParam-Parameter der WM_INITDIALOG-Nachricht an die Dialogfeldprozedur. Eine Anwendung kann diesen Wert verwenden, um Dialogfeldsteuerelemente zu initialisieren.
DialogBoxParam Erstellt ein modales Dialogfeld aus einer Dialogfeldvorlagenressource. Vor dem Anzeigen des Dialogfelds übergibt die Funktion einen von der Anwendung definierten Wert als lParam-Parameter der WM_INITDIALOG-Nachricht an die Dialogfeldprozedur. Eine Anwendung kann diesen Wert verwenden, um Dialogfeldsteuerelemente zu initialisieren.
DialogProc Eine anwendungsdefinierte Rückruffunktion, die mit den Funktionsfamilien CreateDialog und DialogBox verwendet wird. Es verarbeitet Nachrichten, die an ein modales oder modusloses Dialogfeld gesendet werden. Der DLGPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. DialogProc ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
EndDialog Zerstört ein modales Dialogfeld, sodass das System die Verarbeitung des Dialogfelds beendet.
GetDialogBaseUnits Ruft die Dialogbasiseinheiten des Systems ab, d. h. die durchschnittliche Breite und Höhe der Zeichen in der Systemschriftart. Für Dialogfelder, die die Systemschriftart verwenden, können Sie diese Werte verwenden, um zwischen Einheiten für Dialogvorlagen, wie in Dialogfeldvorlagen angegeben, und Pixeln zu konvertieren. Bei Dialogfeldern, die die Systemschriftart nicht verwenden, hängt die Konvertierung von Einheiten für Dialogvorlagen in Pixel von der schriftart ab, die vom Dialogfeld verwendet wird.
GetDlgCtrlID Ruft den Bezeichner des angegebenen Steuerelements ab.
GetDlgItem Ruft ein Handle für ein Steuerelement im angegebenen Dialogfeld ab.
GetDlgItemInt Übersetzt den Text eines angegebenen Steuerelements in einem Dialogfeld in einen ganzzahligen Wert.
GetDlgItemText Ruft den Titel oder Text ab, der mit einem Steuerelement in einem Dialogfeld verknüpft ist.
GetNextDlgGroupItem Ruft ein Handle für das erste Steuerelement in einer Gruppe von Steuerelementen ab, die dem angegebenen Steuerelement in einem Dialogfeld vorangestellt (oder folgt).
GetNextDlgTabItem Ruft ein Handle für das erste Steuerelement ab, das über die WS_TABSTOP-Formatvorlage verfügt, die dem angegebenen Steuerelement vorangeht (oder folgt).
IsDialogMessage Bestimmt, ob eine Nachricht für das angegebene Dialogfeld vorgesehen ist, und verarbeitet die Nachricht, falls dies der Grund ist.
MapDialogRect Konvertiert die angegebenen Dialogfeldeinheiten in Bildschirmeinheiten (Pixel). Die Funktion ersetzt die Koordinaten in der angegebenen RECT-Struktur durch die konvertierten Koordinaten, wodurch die Struktur zum Erstellen eines Dialogfelds oder zum Positionieren eines Steuerelements in einem Dialogfeld verwendet werden kann.
Messagebox Zeigt ein modales Dialogfeld an, das ein Systemsymbol, eine Reihe von Schaltflächen und eine kurze anwendungsspezifische Meldung enthält, z. B. status- oder Fehlerinformationen. Das Meldungsfeld gibt einen ganzzahligen Wert zurück, der angibt, auf welche Schaltfläche der Benutzer geklickt hat.
MessageBoxEx Erstellt, zeigt ein Meldungsfeld an und betreibt es. Das Meldungsfeld enthält eine anwendungsdefinierte Nachricht und einen Titel sowie eine beliebige Kombination aus vordefinierten Symbolen und Drucktasten. Die Schaltflächen befinden sich in der Sprache der System-Benutzeroberfläche.
MessageBoxIndirect Erstellt, zeigt ein Meldungsfeld an und betreibt es. Das Meldungsfeld enthält anwendungsdefinierten Nachrichtentext und -titel, ein beliebiges Symbol und eine beliebige Kombination vordefinierter Drucktasten.
SendDlgItemMessage Sendet eine Nachricht an das angegebene Steuerelement in einem Dialogfeld.
SetDlgItemInt Legt den Text eines Steuerelements in einem Dialogfeld auf die Zeichenfolgendarstellung eines angegebenen ganzzahligen Werts fest.
SetDlgItemText Legt den Titel oder text eines Steuerelements in einem Dialogfeld fest.

Dialogfeldnachrichten

Name BESCHREIBUNG
DM_GETDEFID Ruft den Bezeichner des standardmäßigen Drucktasten-Steuerelements für ein Dialogfeld ab.
DM_REPOSITION Positioniert ein Dialogfeld auf oberster Ebene neu, sodass es in den Desktopbereich passt. Eine Anwendung kann diese Nachricht an ein Dialogfeld senden, nachdem sie die Größe geändert hat, um sicherzustellen, dass das gesamte Dialogfeld sichtbar bleibt.
DM_SETDEFID Ändert den Bezeichner der Standard-Drucktaste für ein Dialogfeld.

Dialogfeldbenachrichtigungen

Name BESCHREIBUNG
WM_CTLCOLORDLG Wird an ein Dialogfeld gesendet, bevor das System das Dialogfeld zeichnet. Durch Reaktion auf diese Meldung kann das Dialogfeld seine Text- und Hintergrundfarben mithilfe des angegebenen Anzeigegerätekontexthandles festlegen.
WM_ENTERIDLE Wird an das Besitzerfenster eines modalen Dialogfelds oder Menüs gesendet, das in einen Leerlaufzustand wechselt. Ein modales Dialogfeld oder Menü wechselt in einen Leerlaufzustand, wenn keine Nachrichten in der Warteschlange warten, nachdem eine oder mehrere vorherige Nachrichten verarbeitet wurden.
WM_GETDLGCODE Wird an die Fensterprozedur gesendet, die einem Steuerelement zugeordnet ist. Standardmäßig verarbeitet das System alle Tastatureingaben für das Steuerelement. das System interpretiert bestimmte Arten von Tastatureingaben als Navigationstasten für Dialogfelder. Um dieses Standardverhalten zu überschreiben, kann das Steuerelement auf die WM_GETDLGCODE Meldung reagieren, um die Eingabetypen anzugeben, die es selbst verarbeiten möchte.
WM_INITDIALOG Wird unmittelbar vor der Anzeige eines Dialogfelds an die Dialogfeldprozedur gesendet. Dialogfeldprozeduren verwenden diese Meldung in der Regel, um Steuerelemente zu initialisieren und andere Initialisierungsaufgaben auszuführen, die sich auf die Darstellung des Dialogfelds auswirken.
WM_NEXTDLGCTL Wird an eine Dialogfeldprozedur gesendet, um den Tastaturfokus auf ein anderes Steuerelement im Dialogfeld festzulegen.

Dialogfeldstrukturen

Name BESCHREIBUNG
DLGITEMTEMPLATE 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.
DLGITEMTEMPLATEEX Beschreibt ein erweitertes Dialogfeld. Eine Beschreibung des Formats einer Vorlage für erweiterte Dialogfelder finden Sie unter DLGTEMPLATEEX.
DLGTEMPLATE 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.
DLGTEMPLATEEX Eine erweiterte Dialogfeldvorlage beginnt mit einem DLGTEMPLATEEX-Header , der das Dialogfeld beschreibt und die Anzahl der Steuerelemente im Dialogfeld angibt. Für jedes Steuerelement in einem Dialogfeld enthält eine vorlage für erweiterte Dialogfelder einen Datenblock, der das DLGITEMTEMPLATEEX-Format verwendet, um das Steuerelement zu beschreiben.
MSGBOXPARAMS Enthält Informationen, die zum Anzeigen eines Meldungsfelds verwendet werden. Die MessageBoxIndirect-Funktion verwendet diese Struktur.