共用方式為


CMFCEditBrowseCtrl 類別

類別 CMFCEditBrowseCtrl 支援編輯流覽控制項,這是選擇性包含瀏覽按鈕的可編輯文字方塊。 當使用者按一下瀏覽按鈕時,控制項就會執行自訂動作或顯示包含檔案瀏覽器或資料夾瀏覽器的標準對話方塊。

語法

class CMFCEditBrowseCtrl : public CEdit

成員

公用建構函式

名稱 描述
CMFCEditBrowseCtrl::CMFCEditBrowseCtrl 預設建構函式。
CMFCEditBrowseCtrl::~CMFCEditBrowseCtrl 解構函式。

公用方法

名稱 描述
CMFCEditBrowseCtrl::EnableBrowseButton 啟用或停用 [隱藏] 瀏覽按鈕。
CMFCEditBrowseCtrl::EnableFileBrowseButton 啟用瀏覽按鈕,並將編輯流覽控制項 放在檔案流覽 模式中。
CMFCEditBrowseCtrl::EnableFolderBrowseButton 啟用瀏覽按鈕,並將編輯流覽控制項 放在資料夾流覽 模式中。
CMFCEditBrowseCtrl::GetMode 傳回目前的瀏覽模式。
CMFCEditBrowseCtrl::OnAfterUpdate 在編輯流覽控制項以流覽動作的結果更新之後,由架構呼叫。
CMFCEditBrowseCtrl::OnBrowse 使用者按一下瀏覽按鈕之後,由架構呼叫。
CMFCEditBrowseCtrl::OnChangeLayout 重新繪製目前的編輯流覽控制項。
CMFCEditBrowseCtrl::OnDrawBrowseButton 由架構呼叫以繪製瀏覽按鈕。
CMFCEditBrowseCtrl::OnIllegalFileName 在編輯控制項中輸入非法檔案名時,由架構呼叫。
CMFCEditBrowseCtrl::PreTranslateMessage 在分派至 TranslateMessage 和 DispatchMessage Windows 函式之前,翻譯視窗訊息。 如需語法和詳細資訊,請參閱 CWnd::P reTranslateMessage
CMFCEditBrowseCtrl::SetBrowseButtonImage 設定瀏覽按鈕的自訂影像。

備註

使用編輯流覽控制項來選取檔案或資料夾名稱。 或者,使用 控制項來執行自訂動作,例如顯示對話方塊。 您可以顯示或未顯示瀏覽按鈕,而且您可以在按鈕上套用自訂標籤或影像。

編輯 流覽控制項的瀏覽模式 會決定它是否顯示瀏覽按鈕,以及按一下按鈕時所發生的動作。 如需詳細資訊,請參閱 GetMode 方法。

類別 CMFCEditBrowseCtrl 支援下列模式。

  • 自訂模式

    當使用者按一下瀏覽按鈕時,就會執行自訂動作。 例如,您可以顯示應用程式特定的對話方塊。

  • 檔案模式

    當使用者按一下瀏覽按鈕時,會顯示標準檔案選取對話方塊。

  • 資料夾模式

    當使用者按一下瀏覽按鈕時,會顯示標準資料夾選取對話方塊。

操作說明:指定編輯流覽控制項

執行下列步驟,將編輯流覽控制項併入應用程式中:

  1. 如果您想要實作自訂瀏覽模式,請從 CMFCEditBrowseCtrl 類別衍生您自己的類別,然後覆寫 CMFCEditBrowseCtrl::OnBrowse 方法。 在覆寫的 方法中,執行自訂流覽動作,並使用結果更新編輯流覽控制項。

  2. CMFCEditBrowseCtrl 物件或衍生的編輯流覽控制項物件內嵌至父視窗物件。

  3. 如果您使用 [ 類別精靈 ] 建立對話方塊,請將編輯控制項 ( CEdit ) 新增至對話方塊表單。 此外,新增變數以存取標頭檔中的控制項。 在您的標頭檔中,將 變數的類型從 CEdit 變更為 CMFCEditBrowseCtrl 。 會自動建立編輯流覽控制項。 如果您沒有使用 類別精靈 ,請將變數新增 CMFCEditBrowseCtrl 至標頭檔,然後呼叫其 Create 方法。

  4. 如果您將編輯流覽控制項新增至對話方塊,請使用 ClassWizard 工具來設定資料交換。

  5. 呼叫 EnableFolderBrowseButton、 EnableFileBrowseButton EnableBrowseButton 方法來設定瀏覽模式並顯示瀏覽按鈕。 呼叫 GetMode 方法以取得目前的瀏覽模式。

  6. 若要提供瀏覽按鈕的自訂影像,請呼叫 SetBrowseButtonImage 方法,或覆寫 OnDrawBrowseButton 方法。

  7. 若要從編輯流覽控制項移除瀏覽按鈕,請呼叫 EnableBrowseButton 方法,並將 bEnable 參數設定為 FALSE。

繼承階層架構

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

範例

下列範例示範如何在 類別中使用 CMFCEditBrowseCtrl 兩種方法: EnableFolderBrowseButtonEnableFileBrowseButton 。 此範例是 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();

需求

標頭: afxeditbrowsectrl.h

CMFCEditBrowseCtrl::EnableBrowseButton

顯示或未在目前的編輯流覽控制項上顯示瀏覽按鈕。

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

參數

bEnable
TRUE 可顯示瀏覽按鈕;FALSE 不顯示瀏覽按鈕。 預設值為 TRUE。

szLabel
顯示在瀏覽按鈕上的標籤。 預設值為 「 ... 」。

備註

如果 bEnable 參數為 TRUE,請實作按一下瀏覽按鈕時要執行的自訂動作。 若要實作自訂動作,請從 CMFCEditBrowseCtrl 類別衍生類別,然後覆寫其 OnBrowse 方法。

如果 bEnable 參數為 TRUE,則控制項的瀏覽模式為 BrowseMode_Default ,否則瀏覽模式為 BrowseMode_None 。 如需瀏覽模式的詳細資訊,請參閱 GetMode 方法。

CMFCEditBrowseCtrl::EnableFileBrowseButton

在目前的編輯流覽控制項上顯示瀏覽按鈕,並將控制項 置於檔案流覽 模式。

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

參數

lpszDefExt
指定用於檔案選取對話方塊中的預設副檔名。 預設值是 NULL。

lpszFilter
指定用於檔案選取對話方塊中的預設篩選字串。 預設值是 NULL。

dwFlags
對話方塊旗標。 預設值是 OFN_HIDEREADONLY 和 OFN_OVERWRITEPROMPT 的位元組合 (OR)。

備註

當編輯瀏覽控制項處於檔案瀏覽模式時,若使用者按一下 [瀏覽] 按鈕,控制項將會顯示標準檔案選取對話方塊。

如需可用旗標的完整清單,請參閱 OPENFILENAME 結構

CMFCEditBrowseCtrl::EnableFolderBrowseButton

顯示目前編輯流覽控制項上的瀏覽按鈕,並將控制項 置於資料夾流覽 模式。

void EnableFolderBrowseButton();

備註

當編輯流覽控制項處於資料夾瀏覽模式,且使用者按一下瀏覽按鈕時,控制項會顯示標準資料夾選取對話方塊。

CMFCEditBrowseCtrl::GetMode

擷取目前編輯流覽控制項的瀏覽模式。

CMFCEditBrowseCtrl::BrowseMode GetMode() const;

傳回值

其中一個列舉值,指定編輯流覽控制項的目前模式。 瀏覽模式會決定架構是否顯示瀏覽按鈕,以及當使用者按一下該按鈕時,會發生什麼動作。

下表列出可能的傳回值。

Description
BrowseMode_Default 自訂模式 。 執行程式設計人員定義的動作。
BrowseMode_File 檔案模式 。 會顯示標準檔案瀏覽器對話方塊。
BrowseMode_Folder 資料夾模式 。 [標準資料夾瀏覽器] 對話方塊隨即顯示。
BrowseMode_None 不會顯示瀏覽按鈕。

備註

根據預設,物件 CMFCEditBrowseCtrl 會初始化為 BrowseMode_None 模式。 使用 CMFCEditBrowseCtrl::EnableBrowseButton、CMFCEditBrowseCtrl::EnableFileBrowseButton 和 CMFCEditBrowseCtrl::EnableFolderBrowseButton 方法修改瀏覽模式。

CMFCEditBrowseCtrl::OnAfterUpdate

在編輯流覽控制項以流覽動作的結果更新之後,由架構呼叫。

virtual void OnAfterUpdate();

備註

覆寫衍生類別中的這個方法,以實作自訂動作。

CMFCEditBrowseCtrl::OnBrowse

在使用者按一下編輯流覽控制項的瀏覽按鈕之後,由架構呼叫。

virtual void OnBrowse();

備註

當使用者按一下編輯流覽控制項的瀏覽按鈕時,請使用這個方法來執行自訂程式碼。 從 CMFCEditBrowseCtrl 類別衍生您自己的類別,並覆寫其 OnBrowse 方法。 在該方法中,實作自訂流覽動作,並選擇性地更新編輯流覽控制項的文字方塊。 在您的應用程式中,使用 EnableBrowseButton 方法,將編輯流覽控制項 置於自訂流覽 模式中。

CMFCEditBrowseCtrl::OnChangeLayout

重新繪製目前的編輯流覽控制項。

virtual void OnChangeLayout();

備註

當編輯流覽控制項的瀏覽模式變更時,架構會呼叫此方法。 如需詳細資訊,請參閱 CMFCEditBrowseCtrl::GetMode

CMFCEditBrowseCtrl::OnDrawBrowseButton

由架構呼叫,以在編輯流覽控制項上繪製瀏覽按鈕。

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

參數

pDC
裝置內容的指標。

[週框]
瀏覽按鈕的周框。

bIsButtonPressed
如果按下按鈕,則為 TRUE;否則為 FALSE。

bIsButtonHot
如果反白顯示按鈕,則為 TRUE;否則為 FALSE。

備註

覆寫衍生類別中的這個函式,以自訂瀏覽按鈕的外觀。

CMFCEditBrowseCtrl::SetBrowseButtonImage

在編輯流覽控制項的瀏覽按鈕上設定自訂影像。

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

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

void SetBrowseButtonImage(UINT uiBmpResId);

參數

hIcon
圖示的控制碼。

hBitmap
點陣圖的控制碼。

uiBmpResId
點陣圖的資源識別碼。

bAutoDestroy
TRUE 表示在此方法結束時刪除指定的圖示或點陣圖;否則為 FALSE。 預設值為 TRUE。

備註

使用此方法可將自訂影像套用至瀏覽按鈕。 根據預設,當編輯流覽控制項處於 檔案流覽 資料夾流覽 模式時,架構會取得標準影像。

CMFCEditBrowseCtrl::OnIllegalFileName

在編輯控制項中輸入非法檔案名時,由架構呼叫。

virtual BOOL OnIllegalFileName(CString& strFileName);

參數

strFileName
指定不合法的檔案名。

傳回值

如果無法將這個檔案名進一步傳遞至檔案對話方塊,則應該傳回 FALSE。 在此情況下,焦點會設定回編輯控制項,而且使用者應該繼續編輯。 預設實作會顯示訊息方塊,告知使用者非法檔案名,並傳回 FALSE。 您可以覆寫此方法、更正檔案名,並傳回 TRUE 以便進一步處理。

備註

另請參閱

階層架構圖表
類別