Share via


FindTextA-Funktion (commdlg.h)

Erstellt ein systemdefiniertes, modusloses Suchdialogfeld, in dem der Benutzer eine zu suchbare Zeichenfolge und Optionen angeben kann, die bei der Suche 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 Eingaben 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 für die Kommunikation mit oder zum Schließen des Dialogfelds verwenden.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Rufen Sie die CommDlgExtendedError-Funktion auf, um erweiterte Fehlerinformationen zu erhalten. CommDlgExtendedError gibt möglicherweise einen der folgenden Fehlercodes zurück:

Hinweise

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-Element der FINDREPLACE-Struktur ein Handle für das Besitzerfenster.

Bevor Sie FindText aufrufen, müssen Sie die Funktion RegisterWindowMessage 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 Weiter suchen klickt oder wenn das Dialogfeld geschlossen wird. Der lParam-Parameter der FINDMSGSTRING-Nachricht enthält einen Zeiger auf eine FINDREPLACE-Struktur . Der Flags-Member dieser Struktur gibt das Ereignis an, das die Nachricht verursacht hat. Andere Member der -Struktur geben die Eingabe des Benutzers an.

Wenn Sie ein Dialogfeld Suchen erstellen, müssen Sie auch die IsDialogMessage-Funktion in der Standard-Nachrichtenschleife Ihrer Anwendung verwenden, um sicherzustellen, dass das Dialogfeld Tastatureingaben wie die TAB- und ESC-Tasten ordnungsgemäß verarbeitet. IsDialogMessage gibt einen Wert zurück, der angibt, ob das Dialogfeld Suchen die Nachricht verarbeitet hat.

Sie können eine FRHookProc-Hookprozedurfür ein Suchdialogfeld bereitstellen. Die Hookprozedur kann nachrichten verarbeiten, die an das Dialogfeld gesendet werden. Um eine Hookprozedur zu aktivieren, legen Sie das FR_ENABLEHOOK-Flag im Flags-Member der FINDREPLACE-Struktur fest, und geben Sie die Adresse der Hookprozedur im lpfnHook-Member an.

Beispiele

Ein Beispiel finden Sie unter Suchen von Text.

Hinweis

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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile commdlg.h (windows.h einschließen)
Bibliothek Comdlg32.lib
DLL Comdlg32.dll
APIs ext-ms-win-shell-comdlg32-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393)

Weitere Informationen

CommDlgExtendedError

Allgemeine Dialogfeldbibliothek

Konzept

FINDMSGSTRING

FINDREPLACE

FRHookProc

IsDialogMessage

Referenz

RegisterWindowMessage

ReplaceText