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:
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.Betten Sie entweder das
CMFCEditBrowseCtrl
Objekt oder das abgeleitete Bearbeitungssteuerelementobjekt in das übergeordnete Fensterobjekt ein.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 vonCEdit
" in "CMFCEditBrowseCtrl
. Das Bearbeitungs-Browse-Steuerelement wird automatisch erstellt. Wenn Sie den Klassen-Assistenten nicht verwenden, fügen Sie ihrer Headerdatei eineCMFCEditBrowseCtrl
Variable hinzu, und rufen Sie die zugehörigeCreate
Methode auf.Wenn Sie einem Dialogfeld ein Bearbeitungs-Browse-Steuerelement hinzufügen, verwenden Sie das Tool "ClassWizard ", um den Datenaustausch einzurichten.
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.
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.
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
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_Default
der Suchmodus des Steuerelements ; andernfalls ist BrowseMode_None
der 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.