STRUCTURE FINDREPLACEA (commdlg.h)

Contient des informations que les fonctions FindText et ReplaceText utilisent pour initialiser les boîtes de dialogue Rechercher et Remplacer . Le message inscrit FINDMSGSTRING utilise cette structure pour passer l’entrée de recherche ou de remplacement de l’utilisateur à la fenêtre propriétaire d’une boîte de dialogue Rechercher ou remplacer .

Syntaxe

typedef struct tagFINDREPLACEA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HINSTANCE    hInstance;
  DWORD        Flags;
  LPSTR        lpstrFindWhat;
  LPSTR        lpstrReplaceWith;
  WORD         wFindWhatLen;
  WORD         wReplaceWithLen;
  LPARAM       lCustData;
  LPFRHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
} FINDREPLACEA, *LPFINDREPLACEA;

Membres

lStructSize

Type : DWORD

Longueur, en octets, de la structure.

hwndOwner

Type : HWND

Handle de la fenêtre qui possède la boîte de dialogue. La procédure de fenêtre de la fenêtre spécifiée reçoit les messages FINDMSGSTRING de la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, mais il ne doit pas être NULL.

hInstance

Type : HINSTANCE

Si l’indicateur FR_ENABLETEMPLATEHANDLE est défini dans les indicateurs, hInstance est un handle d’un objet mémoire contenant un modèle de boîte de dialogue. Si l’indicateur FR_ENABLETEMPLATE est défini, hInstance est un handle d’un module qui contient un modèle de boîte de dialogue nommé par le membre lpTemplateName . Si aucun indicateur n’est défini, ce membre est ignoré.

Flags

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue. La boîte de dialogue définit ces indicateurs lorsqu’elle envoie le message inscrit FINDMSGSTRING pour indiquer l’entrée de l’utilisateur. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
FR_DIALOGTERM
0x00000040
Si défini dans un message FINDMSGSTRING , indique que la boîte de dialogue se ferme. Lorsque vous recevez un message avec ce jeu d’indicateurs, le handle de boîte de dialogue retourné par la fonction FindText ou ReplaceText n’est plus valide.
FR_DOWN
0x00000001
Si cette option est définie, le bouton Bas des cases d’option direction dans une boîte de dialogue Rechercher est sélectionné, ce qui indique que vous devez effectuer une recherche à partir de l’emplacement actuel jusqu’à la fin du document. S’il n’est pas défini, le bouton Haut est sélectionné. Vous devez donc effectuer une recherche au début du document. Vous pouvez définir cet indicateur pour initialiser la boîte de dialogue. S’il est défini dans un message FINDMSGSTRING , indique la sélection de l’utilisateur.
FR_ENABLEHOOK
0x00000100
Active la fonction hook spécifiée dans le membre lpfnHook . Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
FR_ENABLETEMPLATE
0x00000200
Indique que les membres hInstance et lpTemplateName spécifient un modèle de boîte de dialogue à utiliser à la place du modèle par défaut. Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
FR_ENABLETEMPLATEHANDLE
0x00002000
Indique que le membre hInstance identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Le système ignore le membre lpTemplateName si cet indicateur est spécifié.
FR_FINDNEXT
0x00000008
Si défini dans un message FINDMSGSTRING , indique que l’utilisateur a cliqué sur le bouton Rechercher suivant dans une boîte de dialogue Rechercher ou remplacer . Le membre lpstrFindWhat spécifie la chaîne à rechercher.
FR_HIDEUPDOWN
0x00004000
Si cette option est définie lors de l’initialisation d’une boîte de dialogue Rechercher , masque les cases d’option direction de la recherche.
FR_HIDEMATCHCASE
0x00008000
S’il est défini lors de l’initialisation d’une boîte de dialogue Rechercher ou remplacer, masque la zone Case activée cas de correspondance.
FR_HIDEWHOLEWORD
0x00010000
S’il est défini lors de l’initialisation d’une boîte de dialogue Rechercher ou remplacer, masque la zone Correspondance entière Word uniquement case activée.
FR_MATCHCASE
0x00000004
Si la valeur est définie, la zone Case activée de correspondance est sélectionnée, ce qui indique que la recherche doit respecter la casse. Si elle n’est pas définie, la zone de case activée n’est pas sélectionnée, de sorte que la recherche ne respecte pas la casse. Vous pouvez définir cet indicateur pour initialiser la boîte de dialogue. S’il est défini dans un message FINDMSGSTRING , indique la sélection de l’utilisateur.
FR_NOMATCHCASE
0x00000800
S’il est défini lors de l’initialisation d’une boîte de dialogue Rechercher ou remplacer, désactive la zone Case activée de correspondance.
FR_NOUPDOWN
0x00000400
Si cette option est définie lors de l’initialisation d’une boîte de dialogue Rechercher , désactive les cases d’option direction de la recherche.
FR_NOWHOLEWORD
0x00001000
S’il est défini lors de l’initialisation d’une boîte de dialogue Rechercher ou remplacer, désactive la zone case activée Word entier.
FR_REPLACE
0x00000010
Si la valeur est définie dans un message FINDMSGSTRING , indique que l’utilisateur a cliqué sur le bouton Remplacer dans une boîte de dialogue Remplacer . Le membre lpstrFindWhat spécifie la chaîne à remplacer et le membre lpstrReplaceWith spécifie la chaîne de remplacement.
FR_REPLACEALL
0x00000020
Si la valeur est définie dans un message FINDMSGSTRING , indique que l’utilisateur a cliqué sur le bouton Remplacer tout dans une boîte de dialogue Remplacer . Le membre lpstrFindWhat spécifie la chaîne à remplacer et le membre lpstrReplaceWith spécifie la chaîne de remplacement.
FR_SHOWHELP
0x00000080
Entraîne l’affichage du bouton Aide dans la boîte de dialogue. Le membre hwndOwner doit spécifier la fenêtre pour recevoir les messages inscrits HELPMSGSTRING que la boîte de dialogue envoie lorsque l’utilisateur clique sur le bouton Aide .
FR_WHOLEWORD
0x00000002
Si la valeur est définie, la zone Match Whole Word Only case activée est sélectionnée, ce qui indique que vous devez rechercher uniquement les mots entiers qui correspondent à la chaîne de recherche. Si elle n’est pas définie, la zone de case activée n’est pas sélectionnée. Vous devez donc également rechercher des fragments de mots qui correspondent à la chaîne de recherche. Vous pouvez définir cet indicateur pour initialiser la boîte de dialogue. S’il est défini dans un message FINDMSGSTRING , indique la sélection de l’utilisateur.

lpstrFindWhat

Type : LPTSTR

Chaîne de recherche que l’utilisateur a tapée dans le contrôle Rechercher quoi modifier . Vous devez allouer dynamiquement la mémoire tampon ou utiliser un tableau global ou statique afin qu’il ne sorte pas de l’étendue avant la fermeture de la boîte de dialogue. La mémoire tampon doit comporter au moins 80 caractères. Si la mémoire tampon contient une chaîne lorsque vous initialisez la boîte de dialogue, la chaîne s’affiche dans le contrôle Rechercher quoi modifier. Si un message FINDMSGSTRING spécifie l’indicateur FR_FINDNEXT , lpstrFindWhat contient la chaîne à rechercher. Les indicateurs FR_DOWN, FR_WHOLEWORD et FR_MATCHCASE indiquent le sens et le type de recherche. Si un message FINDMSGSTRING spécifie les indicateurs FR_REPLACE ou FR_REPLACE , lpstrFindWhat contient la chaîne à remplacer.

lpstrReplaceWith

Type : LPTSTR

Chaîne de remplacement que l’utilisateur a tapée dans le contrôle Remplacer par modifier. Vous devez allouer dynamiquement la mémoire tampon ou utiliser un tableau global ou statique afin qu’il ne sorte pas de l’étendue avant la fermeture de la boîte de dialogue. Si la mémoire tampon contient une chaîne lorsque vous initialisez la boîte de dialogue, la chaîne s’affiche dans le contrôle Remplacer par modifier.

Si un message FINDMSGSTRING spécifie les indicateurs FR_REPLACE ou FR_REPLACEALL , lpstrReplaceWith contient la chaîne de remplacement .

La fonction FindText ignore ce membre.

wFindWhatLen

Type : WORD

Longueur, en octets, de la mémoire tampon pointée vers le membre lpstrFindWhat .

wReplaceWithLen

Type : WORD

Longueur, en octets, de la mémoire tampon pointée vers le membre lpstrReplaceWith .

lCustData

Type : LPARAM

Données définies par l’application que le système transmet à la procédure de hook identifiée par le membre lpfnHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de hook, le paramètre lParam du message est un pointeur vers la structure FINDREPLACE spécifiée lors de la création de la boîte de dialogue. La procédure de hook peut utiliser ce pointeur pour obtenir la valeur lCustData .

lpfnHook

Type : LPFRHOOKPROC

Pointeur vers une procédure de crochet FRHookProc qui peut traiter les messages destinés à la boîte de dialogue. Ce membre est ignoré, sauf si l’indicateur FR_ENABLEHOOK est défini dans le membre Indicateurs . Si la procédure de hook retourne FALSE en réponse au message WM_INITDIALOG , la procédure de crochet doit afficher la boîte de dialogue sinon la boîte de dialogue ne s’affiche pas. Pour ce faire, effectuez d’abord d’autres opérations de peinture, puis appelez les fonctions ShowWindow et UpdateWindow .

lpTemplateName

Type : LPCTSTR

Nom de la ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance . Ce modèle est remplacé par le modèle de boîte de dialogue standard. Pour les ressources de boîte de dialogue numérotées, il peut s’agir d’une valeur retournée par la macro MAKEINTRESOURCE . Ce membre est ignoré, sauf si l’indicateur FR_ENABLETEMPLATE est défini dans le membre Indicateurs .

Remarques

Notes

L’en-tête commdlg.h définit FINDREPLACE comme un 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. Le mélange 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]
En-tête commdlg.h (inclure Windows.h)

Voir aussi

Bibliothèque de boîtes de dialogue commune

Conceptuel

FRHookProc

FindText

MAKEINTRESOURCE

Référence

ReplaceText

ShowWindow

WM_INITDIALOG