Die FindText -Funktion erstellt eine systemdefinierte ungebunden im Dialogfeld Suchen , mit dem den Benutzer eine Zeichenfolge zu suchen und Optionen für die Verwendung bei der Suche nach Text in einem Dokument angeben kann.
(HWND FindText LPFINDREPLACE Lpfr / / Zeiger auf die Struktur mit Initialisierung / / Daten);
Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Fensterhandle für das Dialogfeld. Sie können das Fensterhandle zu kommunizieren oder schließen Sie das Dialogfeld verwenden.
Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen abzurufen, rufen Sie die CommDlgExtendedError -Funktion. CommDlgExtendedError kann einer der folgenden Fehlercodes zurück:
CDERR_FINDRESFAILURE | CDERR_MEMLOCKFAILURE |
CDERR_INITIALIZATION | CDERR_NOHINSTANCE |
CDERR_LOCKRESFAILURE | CDERR_NOHOOK |
CDERR_LOADRESFAILURE | CDERR_NOTEMPLATE |
CDERR_LOADSTRFAILURE | CDERR_STRUCTSIZE |
CDERR_MEMALLOCFAILURE | FRERR_BUFFERLENGTHZERO |
Die FindText -Funktion führt keinen Suchvorgang. 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 FindTextaufrufen, 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ächeweiter finden, oder wenn das Dialogfeld geschlossen wird. Der Parameter lParam der Nachricht FINDMSGSTRING enthält einen Zeiger auf eine 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 Suchen 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. IsDialogMessage gibt einen Wert, der angibt, ob die im Dialogfeld Suchen die Nachricht verarbeitet.
Sie bieten eine FRHookProc -Hook-Prozedur für das Dialogfeld " Suchen ". 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.
&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.
Allgemeine Dialogfeld-Bibliothek – Übersicht, Funktionen der Common Dialog Box, CommDlgExtendedError, FINDMSGSTRING, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, ReplaceText