Partager via


FindTextA, fonction (commdlg.h)

Crée une boîte de dialogue Rechercher sans mode définie par le système qui permet à l’utilisateur de spécifier une chaîne à rechercher et les options à utiliser lors de la recherche de texte dans un document.

Syntaxe

HWND FindTextA(
  [in] LPFINDREPLACEA unnamedParam1
);

Paramètres

[in] unnamedParam1

Type : LPFINDREPLACE

Pointeur vers une structure FINDREPLACE qui contient les informations utilisées pour initialiser la boîte de dialogue. La boîte de dialogue utilise cette structure pour envoyer des informations sur l’entrée de l’utilisateur à votre application. Pour plus d'informations, consultez la section Notes qui suit.

Valeur retournée

Type : HWND

Si la fonction réussit, la valeur de retour est le handle de fenêtre de la boîte de dialogue. Vous pouvez utiliser le handle de fenêtre pour communiquer avec ou pour fermer la boîte de dialogue.

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations d’erreur étendues, appelez la fonction CommDlgExtendedError . CommDlgExtendedError peut retourner l’un des codes d’erreur suivants :

Remarques

La fonction FindText n’effectue pas d’opération de recherche. Au lieu de cela, la boîte de dialogue envoie les messages inscrits à FINDMSGSTRING à la procédure de fenêtre de la fenêtre propriétaire de la boîte de dialogue. Lorsque vous créez la boîte de dialogue, le membre hwndOwner de la structure FINDREPLACE est un handle de la fenêtre propriétaire.

Avant d’appeler FindText, vous devez appeler la fonction RegisterWindowMessage pour obtenir l’identificateur du message FINDMSGSTRING . La procédure de boîte de dialogue utilise cet identificateur pour envoyer des messages lorsque l’utilisateur clique sur le bouton Rechercher suivant ou lorsque la boîte de dialogue se ferme. Le paramètre lParam du message FINDMSGSTRING contient un pointeur vers une structure FINDREPLACE . Le membre Flags de cette structure indique l’événement à l’origine du message. Les autres membres de la structure indiquent l’entrée de l’utilisateur.

Si vous créez une boîte de dialogue Rechercher, vous devez également utiliser la fonction IsDialogMessage dans la boucle de message main de votre application pour vous assurer que la boîte de dialogue traite correctement les entrées au clavier, telles que les touches TAB et ÉCHAP. IsDialogMessage retourne une valeur qui indique si la boîte de dialogue Rechercher a traité le message.

Vous pouvez fournir une procédure de hook FRHookProc pour une boîte de dialogue Rechercher . La procédure de raccordement peut traiter les messages envoyés à la boîte de dialogue. Pour activer une procédure de hook, définissez l’indicateur FR_ENABLEHOOK dans le membre Flags de la structure FINDREPLACE et spécifiez l’adresse de la procédure de hook dans le membre lpfnHook .

Exemples

Pour obtenir un exemple, consultez Recherche de texte.

Notes

L’en-tête commdlg.h définit FindText en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête commdlg.h (inclure Windows.h)
Bibliothèque Comdlg32.lib
DLL Comdlg32.dll
Ensemble d’API ext-ms-win-shell-comdlg32-l1-1-1 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

CommDlgExtendedError

Bibliothèque de boîtes de dialogue commune

Conceptuel

FINDMSGSTRING

FINDREPLACE

FRHookProc

IsDialogMessage

Référence

RegisterWindowMessage

ReplaceText