ReplaceText

Die ReplaceText -Funktion erstellt ein systemdefinierte nicht modale Dialogfeld, mit dem den Benutzer angeben, eine zu suchende Zeichenfolge und eine Ersatzzeichenfolge, sowie Optionen zum Steuern des suchen und Ersetzen-Operationen.

(HWND ReplaceText LPFINDREPLACE  Lpfr / / Zeiger auf die Struktur mit Initialisierung / / Daten);
 

Parameter

lpfr
Zeiger auf eine FINDREPLACE -Struktur, die Informationen verwendet, um das Dialogfeld zu initialisieren enthält. Das Dialogfeld verwendet diese Struktur, um Informationen über die Eingabe des Benutzers an die Anwendung senden. Weitere Informationen finden Sie unter den folgenden Abschnitt "Hinweise".

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Fensterhandle für das Dialogfeld. Können Sie das Fensterhandle zu kommunizieren mit dem Dialogfeld oder schließen Sie es.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen abzurufen, rufen Sie die CommDlgExtendedError -Funktion, die einer der folgenden Fehlercodes zurückgegeben werden können:

CDERR_FINDRESFAILURE CDERR_MEMLOCKFAILURE
CDERR_INITIALIZATION CDERR_NOHINSTANCE
CDERR_LOADRESFAILURE CDERR_NOHOOK
CDERR_LOADSTRFAILURE CDERR_NOTEMPLATE
CDERR_LOCKRESFAILURE CDERR_STRUCTSIZE
CDERR_MEMALLOCFAILURE FRERR_BUFFERLENGTHZERO

Bemerkungen

Die ReplaceText -Funktion führt eine Ersetzungsoperation Text nicht aus. Stattdessen sendet das Dialogfeld FINDMSGSTRING registriert Nachrichten an die Fensterprozedur des Besitzerfensters des Dialogfelds. Wenn Sie das Dialogfeld erstellen, identifiziert das HwndOwner Mitglied der FINDREPLACE -Struktur das Besitzerfenster.

Bevor Sie ReplaceTextaufrufen, müssen Sie die RegisterWindowMessage -Funktion, um den Bezeichner für die Nachricht FINDMSGSTRING abrufen aufrufen. Die Dialogfeldprozedur verwendet diesen Bezeichner zum Senden von Nachrichten, klickt der Benutzer die Schaltflächen Weitersuchen, ersetzen oder alle ersetzen oder wenn das Dialogfeld geschlossen wird. Der lParam -Parameter einer Nachricht FINDMSGSTRING enthält einen Zeiger auf das FINDREPLACE -Struktur. Das Flags -Mitglied dieser Struktur gibt das Ereignis, das die Meldung verursacht hat. Andere Member der Struktur geben die Eingabe des Benutzers.

Wenn Sie das Dialogfeld Ersetzen erstellen, müssen Sie auch verwenden die Funktion IsDialogMessage in der Hauptmeldungsschleife Ihrer Anwendung sicherzustellen, dass das Dialogfeld ordnungsgemäß Tastatureingaben, z. B. Tab und ESC-Taste verarbeitet. Die IsDialogMessage -Funktion gibt einen Wert, der angibt, ob das Dialogfeld ersetzen die Nachricht verarbeitet.

Sie bieten eine FRHookProc -Hook-Prozedur für das Dialogfeld Ersetzen . Die Hook-Prozedur kann Nachrichten gesendet, um das Dialogfeld verarbeiten. Um eine Hook-Prozedur zu aktivieren, legen Sie das FR_ENABLEHOOK-Flag in den Flags der FINDREPLACE -Struktur, und geben Sie die Adresse der die Hook-Prozedur in der LpfnHook -member.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In commdlg.h deklariert.
Importieren Bibliothek:Verwenden Sie comdlg32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Allgemeine Dialogfeld-Bibliothek – Übersicht, Funktionen der Common Dialog Box, CommDlgExtendedError, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, WM_CTLCOLORDLG