Freigeben über


CMFCEditBrowseCtrl-Klasse

Die CMFCEditBrowseCtrl Klasse unterstützt das Bearbeitungssuchsteuerelement, bei dem es sich um ein bearbeitbares Textfeld handelt, das optional eine Schaltfläche zum Durchsuchen enthält. Wenn der Benutzer auf die Schaltfläche zum Durchsuchen klicken, führt das Steuerelement eine benutzerdefinierte Aktion aus oder zeigt ein Standarddialogfeld an, das einen Dateibrowser oder einen Ordnerbrowser enthält.

Syntax

class CMFCEditBrowseCtrl : public CEdit

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl Der Standardkonstruktor.
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl Destruktor.

Öffentliche Methoden

Name Beschreibung
CMFCEditBrowseCtrl::EnableBrowseButton Aktiviert oder deaktiviert (blendet) die Schaltfläche zum Durchsuchen aus.
CMFCEditBrowseCtrl::EnableFileBrowseButton Aktiviert die Schaltfläche "Durchsuchen" und platziert das Bearbeitungssteuerelement im Dateistöbermodus .
CMFCEditBrowseCtrl::EnableFolderBrowseButton Aktiviert die Schaltfläche "Durchsuchen" und platziert das Bearbeitungssteuerelement im Ordnerstöbermodus .
CMFCEditBrowseCtrl::GetMode Gibt den aktuellen Suchmodus zurück.
CMFCEditBrowseCtrl::OnAfterUpdate Wird vom Framework aufgerufen, nachdem das Bearbeitungs-Browse-Steuerelement mit dem Ergebnis einer Suchaktion aktualisiert wurde.
CMFCEditBrowseCtrl::OnBrowse Wird vom Framework aufgerufen, nachdem der Benutzer auf die Schaltfläche "Durchsuchen" klickt.
CMFCEditBrowseCtrl::OnChangeLayout Neurappen des aktuellen Bearbeitungs-Browse-Steuerelements.
CMFCEditBrowseCtrl::OnDrawBrowseButton Wird vom Framework aufgerufen, um die Schaltfläche zum Durchsuchen zu zeichnen.
CMFCEditBrowseCtrl::OnIllegalFileName Wird vom Framework aufgerufen, wenn ein ungültiger Dateiname in das Bearbeitungssteuerelement eingegeben wurde.
CMFCEditBrowseCtrl::PreTranslateMessage Übersetzt Fensternachrichten, bevor sie an die Windows-Funktionen TranslateMessage und DispatchMessage verteilt werden. Syntax und weitere Informationen finden Sie unter "CWnd::P reTranslateMessage".
CMFCEditBrowseCtrl::SetBrowseButtonImage Legt ein benutzerdefiniertes Bild für die Schaltfläche "Durchsuchen" fest.

Hinweise

Verwenden Sie ein Bearbeitungs-Browse-Steuerelement, um einen Datei- oder Ordnernamen auszuwählen. Verwenden Sie optional das Steuerelement, um eine benutzerdefinierte Aktion auszuführen, z. B. zum Anzeigen eines Dialogfelds. Sie können die Schaltfläche "Durchsuchen" anzeigen oder nicht anzeigen, und Sie können eine benutzerdefinierte Bezeichnung oder ein benutzerdefiniertes Bild auf die Schaltfläche anwenden.

Der Navigationsmodus des Bearbeitungs-Browse-Steuerelements bestimmt, ob eine Schaltfläche zum Durchsuchen angezeigt wird und welche Aktion auftritt, wenn auf die Schaltfläche geklickt wird. Weitere Informationen finden Sie unter der GetMode-Methode .

Die CMFCEditBrowseCtrl Klasse unterstützt die folgenden Modi.

  • Benutzerdefinierter Modus

    Eine benutzerdefinierte Aktion wird ausgeführt, wenn der Benutzer auf die Schaltfläche "Durchsuchen" klickt. Sie können beispielsweise ein anwendungsspezifisches Dialogfeld anzeigen.

  • Dateimodus

    Ein Standardmäßiges Dialogfeld für die Dateiauswahl wird angezeigt, wenn der Benutzer auf die Schaltfläche "Durchsuchen" klickt.

  • Ordnermodus

    Ein Standarddialogfeld für die Ordnerauswahl wird angezeigt, wenn der Benutzer auf die Schaltfläche "Durchsuchen" klickt.

Vorgehensweise: Angeben eines Bearbeitungs-Browse-Steuerelements

Führen Sie die folgenden Schritte aus, um ein Bearbeitungs-Browse-Steuerelement in Ihre Anwendung zu integrieren:

  1. Wenn Sie einen benutzerdefinierten Browsermodus implementieren möchten, leiten Sie Ihre eigene Klasse von der CMFCEditBrowseCtrl Klasse ab und überschreiben Sie dann die CMFCEditBrowseCtrl::OnBrowse-Methode . Führen Sie in der überschriebenen Methode eine benutzerdefinierte Browseaktion aus, und aktualisieren Sie das Bearbeitungs-Browse-Steuerelement mit dem Ergebnis.

  2. Betten Sie entweder das CMFCEditBrowseCtrl Objekt oder das abgeleitete Bearbeitungssteuerelementobjekt in das übergeordnete Fensterobjekt ein.

  3. Wenn Sie den Kurs-Assistenten zum Erstellen eines Dialogfelds verwenden, fügen Sie dem Dialogfeldformular ein Bearbeitungssteuerelement ( CEdit) hinzu. Fügen Sie außerdem eine Variable hinzu, um auf das Steuerelement in der Headerdatei zuzugreifen. Ändern Sie in der Headerdatei den Typ der Variablen von CEdit " in " CMFCEditBrowseCtrl. Das Bearbeitungs-Browse-Steuerelement wird automatisch erstellt. Wenn Sie den Klassen-Assistenten nicht verwenden, fügen Sie ihrer Headerdatei eine CMFCEditBrowseCtrl Variable hinzu, und rufen Sie die zugehörige Create Methode auf.

  4. Wenn Sie einem Dialogfeld ein Bearbeitungs-Browse-Steuerelement hinzufügen, verwenden Sie das Tool "ClassWizard ", um den Datenaustausch einzurichten.

  5. Rufen Sie die EnableFolderBrowseButton-, EnableFileBrowseButton- oder EnableBrowseButton-Methode auf, um den Suchmodus festzulegen und die Schaltfläche "Durchsuchen" anzuzeigen. Rufen Sie die GetMode-Methode auf, um den aktuellen Browsemodus abzurufen.

  6. Rufen Sie die SetBrowseButtonImage-Methode auf, um ein benutzerdefiniertes Bild für die Schaltfläche "Durchsuchen" bereitzustellen oder die OnDrawBrowseButton-Methode außer Kraft zu setzen.

  7. Um die Schaltfläche "Durchsuchen" aus dem Bearbeitungssuchsteuerelement zu entfernen, rufen Sie die EnableBrowseButton-Methode auf, wobei der bEnable-Parameter auf FALSE festgelegt ist.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie zwei Methoden in der CMFCEditBrowseCtrl Klasse verwendet werden: EnableFolderBrowseButton und EnableFileBrowseButton. Dieses Beispiel ist Teil des Beispiels "Neue Steuerelemente".

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();

Anforderungen

Header: afxeditbrowsectrl.h

CMFCEditBrowseCtrl::EnableBrowseButton

Zeigt die Schaltfläche "Durchsuchen" im aktuellen Bearbeitungs-Browse-Steuerelement an oder zeigt sie nicht an.

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

Parameter

bEnable
TRUE, um die Schaltfläche "Durchsuchen" anzuzeigen; FALSE, um die Schaltfläche "Durchsuchen" nicht anzuzeigen. Der Standardwert ist TRUE.

szLabel
Die Beschriftung, die auf der Schaltfläche "Durchsuchen" angezeigt wird. Der Standardwert ist " ...".

Hinweise

Wenn der bEnable-Parameter WAHR ist, implementieren Sie eine benutzerdefinierte Aktion, die ausgeführt werden soll, wenn auf die Schaltfläche "Durchsuchen" geklickt wird. Um eine benutzerdefinierte Aktion zu implementieren, leiten Sie eine Klasse von der CMFCEditBrowseCtrl Klasse ab und überschreiben dann die OnBrowse-Methode .

Wenn der bEnable-Parameter WAHR ist, lautet BrowseMode_Defaultder Suchmodus des Steuerelements ; andernfalls ist BrowseMode_Noneder Suchmodus . Weitere Informationen zu Suchmodi finden Sie unter der GetMode-Methode .

CMFCEditBrowseCtrl::EnableFileBrowseButton

Zeigt die Schaltfläche "Durchsuchen" im aktuellen Bearbeitungs-Browse-Steuerelement an und platziert das Steuerelement im Dateistöbermodus .

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

Parameter

lpszDefExt
Gibt die Standard-Dateinamenerweiterung an, die im Dialogfeld zur Dateiauswahl verwendet wird. Der Standardwert ist NULL.

lpszFilter
Gibt die Standardfilterzeichenfolge an, die im Dialogfeld zur Dateiauswahl verwendet wird. Der Standardwert ist NULL.

dwFlags
Dialogfeldflags. Der Standardwert ist eine bitweise Kombination (OR) von OFN_HIDEREADONLY und OFN_OVERWRITEPROMPT.

Hinweise

Wenn das Steuerelement zum Bearbeiten und Durchsuchen sich im Dateidurchsuchungsmodus befindet und der Benutzer auf die Schaltfläche zum Durchsuchen klickt, zeigt das Steuerelement das standardmäßige Dialogfeld zur Dateiauswahl an.

Eine vollständige Liste der verfügbaren Flags finden Sie unter OPENFILENAME-Struktur.

CMFCEditBrowseCtrl::EnableFolderBrowseButton

Zeigt die Schaltfläche "Durchsuchen" im aktuellen Bearbeitungs-Browse-Steuerelement an und platziert das Steuerelement im Ordnerstöbermodus .

void EnableFolderBrowseButton();

Hinweise

Wenn sich das Bearbeitungs-Browse-Steuerelement im Ordnerstöbermodus befindet und der Benutzer auf die Schaltfläche "Durchsuchen" klickt, zeigt das Steuerelement das Standardmäßige Dialogfeld für die Ordnerauswahl an.

CMFCEditBrowseCtrl::GetMode

Ruft den Suchmodus des aktuellen Bearbeitungs-Browse-Steuerelements ab.

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

Rückgabewert

Einer der Enumerationswerte, der den aktuellen Modus des Bearbeitungs-Browse-Steuerelements angibt. Der Suchmodus bestimmt, ob das Framework die Schaltfläche zum Durchsuchen anzeigt und welche Aktion auftritt, wenn ein Benutzer auf diese Schaltfläche klickt.

In der folgenden Tabelle sind die möglichen Rückgabewerte aufgelistet:

Wert Beschreibung
BrowseMode_Default Benutzerdefinierter Modus. Eine programmierdefinierte Aktion wird ausgeführt.
BrowseMode_File Dateimodus. Das Standarddialogfeld des Dateibrowsers wird angezeigt.
BrowseMode_Folder Ordnermodus. Das Dialogfeld "Standardordnerbrowser" wird angezeigt.
BrowseMode_None Die Schaltfläche "Durchsuchen" wird nicht angezeigt.

Hinweise

Standardmäßig wird ein CMFCEditBrowseCtrl Objekt in den BrowseMode_None Modus initialisiert. Ändern Sie den Suchmodus mit den METHODEN CMFCEditBrowseCtrl::EnableBrowseButton, CMFCEditBrowseCtrl::EnableFileBrowseButton und CMFCEditBrowseCtrl::EnableFolderBrowseButton.

CMFCEditBrowseCtrl::OnAfterUpdate

Wird vom Framework aufgerufen, nachdem das Bearbeitungs-Browse-Steuerelement mit dem Ergebnis einer Suchaktion aktualisiert wurde.

virtual void OnAfterUpdate();

Hinweise

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um eine benutzerdefinierte Aktion zu implementieren.

CMFCEditBrowseCtrl::OnBrowse

Wird vom Framework aufgerufen, nachdem der Benutzer auf die Schaltfläche zum Durchsuchen des Bearbeitungs-Browse-Steuerelements geklickt hat.

virtual void OnBrowse();

Hinweise

Verwenden Sie diese Methode, um benutzerdefinierten Code auszuführen, wenn der Benutzer auf die Schaltfläche zum Durchsuchen des Steuerelements zum Bearbeiten klickt. Leiten Sie Ihre eigene Klasse von der CMFCEditBrowseCtrl Klasse ab und überschreiben Sie die OnBrowse Methode. Implementieren Sie in dieser Methode eine benutzerdefinierte Browseaktion, und aktualisieren Sie optional das Textfeld des Bearbeitungs-Browse-Steuerelements. Verwenden Sie in Ihrer Anwendung die EnableBrowseButton-Methode , um das Bearbeitungs-Browse-Steuerelement in den benutzerdefinierten Browsemodus zu versetzen.

CMFCEditBrowseCtrl::OnChangeLayout

Neurappen des aktuellen Bearbeitungs-Browse-Steuerelements.

virtual void OnChangeLayout();

Hinweise

Das Framework ruft diese Methode auf, wenn sich der Suchmodus des Bearbeitungs-Browse-Steuerelements ändert. Weitere Informationen finden Sie unter CMFCEditBrowseCtrl::GetMode.

CMFCEditBrowseCtrl::OnDrawBrowseButton

Wird vom Framework aufgerufen, um die Schaltfläche "Durchsuchen" im Bearbeitungs-Browse-Steuerelement zu zeichnen.

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

Parameter

pDC
Ein Zeiger zu einem Gerätekontext.

Rechteck
Das umgebende Rechteck der Schaltfläche "Durchsuchen".

bIsButtonPressed
TRUE, wenn die Taste gedrückt wird; andernfalls FALSE.

bIsButtonHot
TRUE, wenn die Schaltfläche hervorgehoben ist; andernfalls FALSE.

Hinweise

Überschreiben Sie diese Funktion in einer abgeleiteten Klasse, um die Darstellung der Schaltfläche "Durchsuchen" anzupassen.

CMFCEditBrowseCtrl::SetBrowseButtonImage

Legt ein benutzerdefiniertes Bild auf der Schaltfläche "Durchsuchen" des Bearbeitungs-Browse-Steuerelements fest.

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

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

void SetBrowseButtonImage(UINT uiBmpResId);

Parameter

hIcon
Das Handle eines Symbols.

hBitmap
Das Handle einer Bitmap.

uiBmpResId
Die Ressourcen-ID einer Bitmap.

bAutoDestroy
TRUE, um das angegebene Symbol oder die angegebene Bitmap zu löschen, wenn diese Methode beendet wird; andernfalls FALSE. Der Standardwert ist TRUE.

Hinweise

Verwenden Sie diese Methode, um ein benutzerdefiniertes Bild auf die Schaltfläche "Durchsuchen" anzuwenden. Standardmäßig ruft das Framework ein Standardbild ab, wenn sich das Bearbeitungssuchsteuerelement im Datei- oder Ordnersuchmodus befindet.

CMFCEditBrowseCtrl::OnIllegalFileName

Wird vom Framework aufgerufen, wenn ein ungültiger Dateiname in das Bearbeitungssteuerelement eingegeben wurde.

virtual BOOL OnIllegalFileName(CString& strFileName);

Parameter

strFileName
Gibt den ungültigen Dateinamen an.

Rückgabewert

Sollte FALSE zurückgegeben werden, wenn dieser Dateiname nicht weiter an das Dateidialogfeld übergeben werden kann. In diesem Fall wird der Fokus auf das Bearbeitungssteuerelement zurückgesetzt, und der Benutzer sollte die Bearbeitung fortsetzen. Die Standardimplementierung zeigt ein Meldungsfeld an, in dem der Benutzer über den ungültigen Dateinamen informiert wird und FALSCH zurückgegeben wird. Sie können diese Methode außer Kraft setzen, den Dateinamen korrigieren und WAHR zur weiteren Verarbeitung zurückgeben.

Hinweise

Siehe auch

Hierarchiediagramm
Klassen