Share via


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. 参照コントロールの編集から参照ボタンを削除するには、bEnable パラメーターを FAL Standard Edition に設定して EnableBrowseButton メソッドを呼び出します。

継承階層

CObject

CCmdTarget

CWnd

CEdit

CMFCEditBrowseCtrl

次の例は、クラスEnableFolderBrowseButtonで 2 つのメソッドを使用する方法をCMFCEditBrowseCtrl示していますEnableFileBrowseButton。 この例は、新しいコントロールの サンプルの一部です。

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。FAL Standard Edition参照ボタンを表示しません。 既定値は 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;

戻り値

エディット ブラウズ コントロールの現在のモードを指定する列挙値の 1 つ。 参照モードでは、フレームワークに参照ボタンが表示されるかどうかと、ユーザーがそのボタンをクリックしたときに発生するアクションが決まります。

次の表は、可能性のある戻り値の一覧です。

説明
BrowseMode_Default カスタム モード。 プログラマ定義のアクションが実行されます。
BrowseMode_File ファイル モード。 標準のファイル ブラウザー ダイアログ ボックスが表示されます。
BrowseMode_Folder フォルダー モード。 標準のフォルダー ブラウザー ダイアログ ボックスが表示されます。
BrowseMode_None [参照] ボタンは表示されません。

解説

既定では、 CMFCEditBrowseCtrl オブジェクトはモードに BrowseMode_None 初期化されます。 CMFCEditBrowseCtrl::EnableBrowseButtonCMFCEditBrowseCtrl::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。それ以外の場合は FAL Standard Edition。

bIsButtonHot
ボタンが強調表示されている場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

参照ボタンの外観をカスタマイズするには、派生クラスでこの関数をオーバーライドします。

CMFCEditBrowseCtrl::SetBrowseButtonImage

[参照の編集] コントロールの [参照] ボタンにカスタム イメージを設定します。

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

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

void SetBrowseButtonImage(UINT uiBmpResId);

パラメーター

hIcon
アイコンのハンドル。

hBitmap
ビットマップのハンドル。

uiBmpResId
ビットマップのリソース ID。

bAutoDestroy
このメソッドが終了したときに指定したアイコンまたはビットマップを削除する場合は TRUE。それ以外の場合は FAL Standard Edition。 既定値は TRUE です。

解説

このメソッドを使用して、参照ボタンにカスタム イメージを適用します。 既定では、編集参照コントロールがファイル参照モードまたはフォルダー参照モードの場合、フレームワークは標準イメージを取得します。

CMFCEditBrowseCtrl::OnIllegalFileName

編集コントロールに無効なファイル名が入力されたときにフレームワークによって呼び出されます。

virtual BOOL OnIllegalFileName(CString& strFileName);

パラメーター

strFileName
無効なファイル名を指定します。

戻り値

このファイル名をファイル ダイアログに渡すことができない場合はStandard Edition FAL を返す必要があります。 この場合、フォーカスは編集コントロールに戻り、ユーザーは編集を続行する必要があります。 既定の実装では、無効なファイル名についてユーザーに伝えるメッセージ ボックスが表示され、FAL Standard Edition が返されます。 このメソッドをオーバーライドし、ファイル名を修正し、さらに処理するために TRUE を返すことができます。

解説

関連項目

階層図
クラス