Freigeben über


FindTextA-Funktion (commdlg.h)

Erstellt ein systemdefiniertes Dialogfeld Suchen, mit dem der Benutzer eine Zeichenfolge angeben kann, nach der gesucht werden soll, und Optionen, die beim Suchen nach Text in einem Dokument verwendet werden sollen.

Syntax

HWND FindTextA(
  [in] LPFINDREPLACEA unnamedParam1
);

Parameter

[in] unnamedParam1

Typ: LPFINDREPLACE-

Ein Zeiger auf eine FINDREPLACE Struktur, die Informationen enthält, die zum Initialisieren des Dialogfelds verwendet werden. Das Dialogfeld verwendet diese Struktur, um Informationen über die Eingabe des Benutzers an Ihre Anwendung zu senden. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

Typ: HWND-

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL-. Rufen Sie zum Abrufen erweiterter Fehlerinformationen die CommDlgExtendedError-Funktion auf. CommDlgExtendedError kann eine der folgenden Fehlercodes zurückgeben:

Bemerkungen

Die FindText--Funktion führt keinen Suchvorgang aus. Stattdessen sendet das Dialogfeld FINDMSGSTRING registrierte Nachrichten an die Fensterprozedur des Besitzerfensters des Dialogfelds. Wenn Sie das Dialogfeld erstellen, ist das hwndOwner Mitglied der FINDREPLACE Struktur ein Handle für das Besitzerfenster.

Bevor Sie FindText-aufrufen, müssen Sie die RegisterWindowMessage--Funktion aufrufen, um den Bezeichner für die FINDMSGSTRING- Nachricht abzurufen. Die Dialogfeldprozedur verwendet diesen Bezeichner, um Nachrichten zu senden, wenn der Benutzer auf die Schaltfläche Schaltfläche "Weitersuchen" klickt oder das Dialogfeld geschlossen wird. Der lParam Parameter der FINDMSGSTRING- Nachricht enthält einen Zeiger auf eine FINDREPLACE- Struktur. Das Flags Mitglied dieser Struktur gibt das Ereignis an, das die Nachricht verursacht hat. Andere Elemente der Struktur geben die Eingabe des Benutzers an.

Wenn Sie ein dialogfeld "Suchen" erstellen, müssen Sie auch die funktion IsDialogMessage in der Hauptnachrichtenschleife Ihrer Anwendung verwenden, um sicherzustellen, dass das Dialogfeld tastatureingaben ordnungsgemäß verarbeitet, z. B. die TAB- und ESC-Tasten. IsDialogMessage- gibt einen Wert zurück, der angibt, ob das Dialogfeld Suchen die Nachricht verarbeitet hat.

Sie können ein FRHookProc- Hook-Verfahren für ein dialogfeld Suchen bereitstellen. Die Hook-Prozedur kann Nachrichten verarbeiten, die an das Dialogfeld gesendet werden. Um eine Hook-Prozedur zu aktivieren, legen Sie das FR_ENABLEHOOK Flag im Flags Member der FINDREPLACE Struktur fest, und geben Sie die Adresse der Hook-Prozedur im lpfnHook Member an.

Beispiele

Ein Beispiel finden Sie unter Suchen von Text.

Anmerkung

Der commdlg.h-Header definiert FindText als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- commdlg.h (enthalten Windows.h)
Library Comdlg32.lib
DLL- Comdlg32.dll
API-Satz ext-ms-win-shell-comdlg32-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393)

Siehe auch

CommDlgExtendedError

allgemeine Dialogfeldbibliothek

Konzeptionelle

FINDMSGSTRING-

FINDREPLACE-

FRHookProc-

IsDialogMessage-

Referenz-

RegisterWindowMessage

ReplaceText-