Partager via


CMFCEditBrowseCtrl, classe

La CMFCEditBrowseCtrl classe prend en charge le contrôle d’édition de navigation, qui est une zone de texte modifiable qui contient éventuellement un bouton Parcourir. Lorsque l’utilisateur clique sur le bouton Parcourir, le contrôle effectue une action personnalisée ou affiche une boîte de dialogue standard qui contient un explorateur de fichiers ou de dossiers.

Syntaxe

class CMFCEditBrowseCtrl : public CEdit

Membres

Constructeurs publics

Nom Description
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Constructeur par défaut.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destructeur.

Méthodes publiques

Nom Description
CMFCEditBrowseCtrl ::EnableBrowseButton Active ou désactive (masque) le bouton Parcourir.
CMFCEditBrowseCtrl ::EnableFileBrowseButton Active le bouton Parcourir et place le contrôle de navigation d’édition en mode de navigation de fichier.
CMFCEditBrowseCtrl ::EnableFolderBrowseButton Active le bouton Parcourir et place le contrôle de navigation de modification en mode de navigation dans le dossier.
CMFCEditBrowseCtrl ::GetMode Retourne le mode de navigation actuel.
CMFCEditBrowseCtrl ::OnAfterUpdate Appelé par l’infrastructure après la mise à jour du contrôle de navigation de modification avec le résultat d’une action de navigation.
CMFCEditBrowseCtrl ::OnBrowse Appelé par l’infrastructure après que l’utilisateur clique sur le bouton Parcourir.
CMFCEditBrowseCtrl ::OnChangeLayout Redessine le contrôle de navigation d’édition actuel.
CMFCEditBrowseCtrl ::OnDrawBrowseButton Appelé par l’infrastructure pour dessiner le bouton Parcourir.
CMFCEditBrowseCtrl ::OnIllegalFileName Appelé par l’infrastructure lorsqu’un nom de fichier illégal a été entré dans le contrôle d’édition.
CMFCEditBrowseCtrl::PreTranslateMessage Traduit les messages de fenêtre avant qu’ils ne soient distribués aux fonctions Windows TranslateMessage et DispatchMessage . Pour plus d’informations, consultez CWnd ::P reTranslateMessage.
CMFCEditBrowseCtrl ::SetBrowseButtonImage Définit une image personnalisée pour le bouton Parcourir.

Notes

Utilisez un contrôle de navigation de modification pour sélectionner un nom de fichier ou de dossier. Si vous le souhaitez, utilisez le contrôle pour effectuer une action personnalisée, par exemple pour afficher une boîte de dialogue. Vous pouvez afficher ou ne pas afficher le bouton Parcourir et appliquer une étiquette ou une image personnalisée sur le bouton.

Le mode de navigation du contrôle de navigation d’édition détermine s’il affiche un bouton Parcourir et quelle action se produit lorsque le bouton est cliqué. Pour plus d’informations, consultez la méthode GetMode .

La CMFCEditBrowseCtrl classe prend en charge les modes suivants.

  • mode personnalisé

    Une action personnalisée est effectuée lorsque l’utilisateur clique sur le bouton Parcourir. Par exemple, vous pouvez afficher une boîte de dialogue spécifique à l’application.

  • mode fichier

    Une boîte de dialogue de sélection de fichiers standard s’affiche lorsque l’utilisateur clique sur le bouton Parcourir.

  • mode dossier

    Une boîte de dialogue de sélection de dossiers standard s’affiche lorsque l’utilisateur clique sur le bouton Parcourir.

Procédure : spécifier un contrôle Modifier la navigation

Procédez comme suit pour incorporer un contrôle de navigation de modification dans votre application :

  1. Si vous souhaitez implémenter un mode de navigation personnalisé, dérivez votre propre classe de la CMFCEditBrowseCtrl classe, puis remplacez la méthode CMFCEditBrowseCtrl ::OnBrowse . Dans la méthode substituée, exécutez une action de navigation personnalisée et mettez à jour le contrôle de navigation de modification avec le résultat.

  2. Incorporez l’objet CMFCEditBrowseCtrl ou l’objet de contrôle de navigation dérivé dans l’objet de fenêtre parent.

  3. Si vous utilisez l’Assistant Classe pour créer une boîte de dialogue, ajoutez un contrôle d’édition (CEdit) au formulaire de boîte de dialogue. Ajoutez également une variable pour accéder au contrôle dans votre fichier d’en-tête. Dans votre fichier d’en-tête, remplacez le type de CEdit la variable par CMFCEditBrowseCtrl. Le contrôle de navigation de modification est créé automatiquement. Si vous n’utilisez pas l’Assistant Classe, ajoutez une CMFCEditBrowseCtrl variable à votre fichier d’en-tête, puis appelez sa Create méthode.

  4. Si vous ajoutez un contrôle de navigation de modification à une boîte de dialogue, utilisez l’outil ClassWizard pour configurer l’échange de données.

  5. Appelez la méthode EnableFolderBrowseButton, EnableFileBrowseButton ou EnableBrowseButton pour définir le mode de navigation et afficher le bouton Parcourir. Appelez la méthode GetMode pour obtenir le mode de navigation actuel.

  6. Pour fournir une image personnalisée pour le bouton Parcourir, appelez la méthode SetBrowseButtonImage ou remplacez la méthode OnDrawBrowseButton .

  7. Pour supprimer le bouton Parcourir du contrôle de navigation d’édition, appelez la méthode EnableBrowseButton avec le paramètre bEnable défini sur FALSE.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Exemple

L’exemple suivant montre comment utiliser deux méthodes dans la CMFCEditBrowseCtrl classe : EnableFolderBrowseButton et EnableFileBrowseButton. Cet exemple fait partie de l’exemple New Controls.

CMFCEditBrowseCtrl m_wndFolderEdit;
CMFCEditBrowseCtrl m_wndFileEdit;
// enable the browse button and put the control in file browse mode
m_wndFolderEdit.EnableFolderBrowseButton();
// enable the browse button and put the control in the folder browse mode
m_wndFileEdit.EnableFileBrowseButton();

Spécifications

En-tête : afxeditbrowsectrl.h

CMFCEditBrowseCtrl ::EnableBrowseButton

Affiche ou n’affiche pas le bouton Parcourir sur le contrôle de navigation d’édition actuel.

void EnableBrowseButton(
    BOOL bEnable=TRUE,
    LPCTSTR szLabel=_T("..."));

Paramètres

bEnable
TRUE pour afficher le bouton Parcourir ; FALSE pour ne pas afficher le bouton Parcourir. La valeur par défaut est TRUE.

szLabel
Étiquette affichée sur le bouton Parcourir. La valeur par défaut est « ... ».

Notes

Si le paramètre bEnable a la valeur TRUE, implémentez une action personnalisée à effectuer lorsque le bouton Parcourir est cliqué. Pour implémenter une action personnalisée, dérivez une classe de la CMFCEditBrowseCtrl classe, puis remplacez sa méthode OnBrowse .

Si le paramètre bEnable a la valeur TRUE, le mode de navigation du contrôle est BrowseMode_Default; sinon, le mode de navigation est BrowseMode_None. Pour plus d’informations sur les modes de navigation, consultez la méthode GetMode .

CMFCEditBrowseCtrl ::EnableFileBrowseButton

Affiche le bouton Parcourir sur le contrôle de navigation d’édition actuel et place le contrôle en mode de navigation de fichier.

void EnableFileBrowseButton(
    LPCTSTR lpszDefExt=NULL,
    LPCTSTR lpszFilter=NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);

Paramètres

lpszDefExt
Spécifie l’extension de nom de fichier par défaut utilisée dans la boîte de dialogue de sélection de fichier. La valeur par défaut est NULL.

lpszFilter
Spécifie la chaîne de filtrage par défaut utilisée dans la boîte de dialogue de sélection de fichier. La valeur par défaut est NULL.

dwFlags
Indicateurs de boîte de dialogue. La valeur par défaut est une combinaison (OR) au niveau du bit de OFN_HIDEREADONLY et OFN_OVERWRITEPROMPT.

Notes

Quand le contrôle de zone de modification est en mode de navigation de fichiers et que l'utilisateur clique sur le bouton parcourir, le contrôle affiche la boîte de dialogue de sélection de fichier standard.

Pour obtenir la liste complète des indicateurs disponibles, consultez la structure OPENFILENAME.

CMFCEditBrowseCtrl ::EnableFolderBrowseButton

Affiche le bouton Parcourir sur le contrôle de navigation d’édition actuel et place le contrôle en mode de navigation dans le dossier.

void EnableFolderBrowseButton();

Notes

Lorsque le contrôle de navigation de modification est en mode de navigation dans le dossier et que l’utilisateur clique sur le bouton Parcourir, le contrôle affiche la boîte de dialogue de sélection de dossiers standard.

CMFCEditBrowseCtrl ::GetMode

Récupère le mode de navigation du contrôle de navigation d’édition actuel.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Valeur de retour

Une des valeurs d’énumération qui spécifie le mode actuel du contrôle de navigation d’édition. Le mode de navigation détermine si l’infrastructure affiche le bouton Parcourir et quelle action se produit lorsqu’un utilisateur clique sur ce bouton.

Le tableau ci-dessous répertorie les valeurs de retour possibles.

Valeur Description
BrowseMode_Default mode personnalisé. Une action définie par le programmeur est effectuée.
BrowseMode_File mode fichier. La boîte de dialogue du navigateur de fichiers standard s’affiche.
BrowseMode_Folder mode dossier. La boîte de dialogue du navigateur de dossiers standard s’affiche.
BrowseMode_None Le bouton Parcourir n’est pas affiché.

Notes

Par défaut, un CMFCEditBrowseCtrl objet est initialisé en BrowseMode_None mode. Modifiez le mode de navigation avec les méthodes CMFCEditBrowseCtrl ::EnableBrowseButton, CMFCEditBrowseCtrl ::EnableFileBrowseButton et CMFCEditBrowseCtrl ::EnableFolderBrowseButton.

CMFCEditBrowseCtrl ::OnAfterUpdate

Appelé par l’infrastructure après la mise à jour du contrôle de navigation de modification avec le résultat d’une action de navigation.

virtual void OnAfterUpdate();

Notes

Remplacez cette méthode dans une classe dérivée pour implémenter une action personnalisée.

CMFCEditBrowseCtrl ::OnBrowse

Appelé par l’infrastructure après que l’utilisateur clique sur le bouton Parcourir du contrôle de navigation d’édition.

virtual void OnBrowse();

Notes

Utilisez cette méthode pour exécuter du code personnalisé lorsque l’utilisateur clique sur le bouton Parcourir du contrôle Modifier parcourir. Dérivez votre propre classe de la CMFCEditBrowseCtrl classe et remplacez sa OnBrowse méthode. Dans cette méthode, implémentez une action de navigation personnalisée et mettez éventuellement à jour la zone de texte du contrôle de navigation d’édition. Dans votre application, utilisez la méthode EnableBrowseButton pour placer le contrôle de navigation de modification en mode de navigation personnalisé.

CMFCEditBrowseCtrl ::OnChangeLayout

Redessine le contrôle de navigation d’édition actuel.

virtual void OnChangeLayout();

Notes

L’infrastructure appelle cette méthode lorsque le mode de navigation de la modification change de contrôle de navigation. Pour plus d’informations, consultez CMFCEditBrowseCtrl ::GetMode.

CMFCEditBrowseCtrl ::OnDrawBrowseButton

Appelé par l’infrastructure pour dessiner le bouton Parcourir sur le contrôle de navigation d’édition.

virtual void OnDrawBrowseButton(
    CDC* pDC,
    CRect rect,
    BOOL bIsButtonPressed,
    BOOL bIsButtonHot);

Paramètres

pDC
Pointeur vers un contexte de périphérique.

Rect
Rectangle englobant du bouton Parcourir.

bIsButtonPressed
TRUE si le bouton est enfoncé ; sinon, FALSE.

bIsButtonHot
TRUE si le bouton est mis en surbrillance ; sinon, FALSE.

Notes

Remplacez cette fonction dans une classe dérivée pour personnaliser l’apparence du bouton Parcourir.

CMFCEditBrowseCtrl ::SetBrowseButtonImage

Définit une image personnalisée sur le bouton Parcourir du contrôle de navigation d’édition.

void SetBrowseButtonImage(
    HICON hIcon,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy= TRUE);

void SetBrowseButtonImage(UINT uiBmpResId);

Paramètres

hIcon
Handle d’une icône.

hBitmap
Handle d’une bitmap.

uiBmpResId
ID de ressource d’une bitmap.

bAutoDestroy
TRUE pour supprimer l’icône ou la bitmap spécifiée lorsque cette méthode s’arrête ; sinon, FALSE. La valeur par défaut est TRUE.

Notes

Utilisez cette méthode pour appliquer une image personnalisée au bouton Parcourir. Par défaut, l’infrastructure obtient une image standard lorsque le contrôle de navigation de modification est en mode de navigation de fichier ou de dossier.

CMFCEditBrowseCtrl ::OnIllegalFileName

Appelé par l’infrastructure lorsqu’un nom de fichier illégal a été entré dans le contrôle d’édition.

virtual BOOL OnIllegalFileName(CString& strFileName);

Paramètres

strFileName
Spécifie le nom de fichier non valide.

Valeur de retour

Doit retourner FALSE si ce nom de fichier ne peut pas être transmis plus loin dans la boîte de dialogue de fichier. Dans ce cas, le focus est défini sur le contrôle d’édition et l’utilisateur doit continuer à modifier. L’implémentation par défaut affiche une boîte de message indiquant à l’utilisateur le nom de fichier illégal et retourne FALSE. Vous pouvez remplacer cette méthode, corriger le nom de fichier et retourner TRUE pour un traitement ultérieur.

Notes

Voir aussi

Graphique hiérarchique
Classes