CMFCShellTreeCtrl クラス

このクラスはCMFCShellTreeCtrl、シェル項目の階層を表示することによって CTreeCtrl クラス機能を拡張します。

詳細については、Visual Studio インストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。

構文

class CMFCShellTreeCtrl : public CTreeCtrl

メンバー

パブリック メソッド

名前 説明
CMFCShellTreeCtrl::EnableShellContextMenu ショートカット メニューを有効または無効にします。
CMFCShellTreeCtrl::GetFlags IShellFolder::EnumObjects に 渡されるフラグの組み合わせを返します
CMFCShellTreeCtrl::GetItemPath 項目へのパスを取得します。
CMFCShellTreeCtrl::GetRelatedList このCMFCShellTreeCtrlオブジェクトと共に使用して、エクスプローラーのようなウィンドウを作成する CMFCShellListCtrl クラス オブジェクトへのポインターを返します。
CMFCShellTreeCtrl::OnChildNotify このメンバー関数は、このウィンドウに適用される通知メッセージを受信すると、このウィンドウの親ウィンドウによって呼び出されます。 (オーバーライド CWnd::OnChildNotify.)
CMFCShellTreeCtrl::OnGetItemIcon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh 現在 CMFCShellTreeCtrl のオブジェクトを更新して再描画します。
CMFCShellTreeCtrl::SelectPath 指定された PIDL または文字列パスに基づいて、適切なツリー コントロール項目を選択します。
CMFCShellTreeCtrl::SetFlags ツリー コンテキストをフィルター処理するフラグを設定します (使用される IShellFolder::EnumObjectsフラグと同様)。
CMFCShellTreeCtrl::SetRelatedList 現在 CMFCShellTreeCtrl のオブジェクトとオブジェクトの間の関係を CMFCShellListCtrl 設定します。

解説

このクラスは、プログラムで CTreeCtrl Windows シェル項目をツリーに含めることで、クラスを拡張します。 このクラスをオブジェクトに関連付けて、CMFCShellListCtrl完全なエクスプローラー ウィンドウを作成できます。 その後、ツリー内の項目を選択すると、関連付けられている一覧に Windows シェル項目の一覧が表示されます。

継承階層

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

必要条件

ヘッダー: afxshelltreeCtrl.h

次の例では、CMFCShellTreeCtrl クラスのオブジェクトを作成する方法を示します。 このコード スニペットは、エクスプローラー サンプル一部です。

CMFCShellTreeCtrl m_wndShellTree;
// const int idTree = 1
CRect rectDummy(0, 0, 0, 0);
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
                          TVS_LINESATROOT | TVS_HASBUTTONS;

// The this pointer points to CFolderBar class which extends the CDockablePane class
m_wndShellTree.Create(dwViewStyle, rectDummy, this, idTree);

CMFCShellTreeCtrl::EnableShellContextMenu

ショートカット メニューを有効にします。

void EnableShellContextMenu(BOOL bEnable = TRUE);

パラメーター

bEnable
[in]ショートカット メニューを有効にするかどうかを指定するブール値。

CMFCShellTreeCtrl::GetFlags

CMFCShellTreeCtrl クラス オブジェクトに設定されたフラグを返します。

DWORD GetFlags() const;

戻り値

現在設定されているフラグの組み合わせを指定する DWORD 値。

解説

オブジェクトが更新されるたびに、 CMFCShellTreeCtrl 設定されたフラグがメソッド IShellFolder::EnumObjects に送信されます。 フラグは、CMFCShellTreeCtrl::SetFlags メソッドを使用して変更できます。

CMFCShellTreeCtrl::GetItemPath

CMFCShellTreeCtrl クラス オブジェクト内の項目のパスを取得します。

BOOL GetItemPath(
    CString& strPath,
    HTREEITEM htreeItem = NULL) const;

パラメーター

strPath
[out]文字列パラメーターへの参照。 このメソッドは、項目のパスをこのパラメーターに書き込みます。

htreeItem
[in]このメソッドは、このツリー コントロール項目のパスを取得します。

戻り値

成功した場合は 0 以外。それ以外の場合は 0。

解説

このメソッドが失敗した場合、 strPath には空の文字列が含まれます。

hTreeItem を指定しない場合、このメソッドは現在選択されている項目の文字列を取得しようとします。 項目が選択されておらず、 hTreeItem が NULL の場合、このメソッドは失敗します。

CMFCShellTreeCtrl::GetRelatedList

この CMFCShellTreeCtrl オブジェクトに関連付けられている CMFCShellListCtrl クラス オブジェクトへのポインターを返します。

CMFCShellListCtrl* GetRelatedList() const;

戻り値

このツリー コントロール オブジェクトに CMFCShellListCtrl 関連付けられているオブジェクトへのポインター。

解説

オブジェクトをCMFCShellListCtrlオブジェクトと共にCMFCShellTreeCtrl使用すると、エクスプローラーのようなウィンドウを作成できます。 2 つのクラスを関連付けるには、CMFCShellTreeCtrl::SetRelatedList メソッドを使用します。 関連付けられると、フレームワークによって、変更された選択範囲が自動的にCMFCShellTreeCtrl更新CMFCShellListCtrlされます。

CMFCShellTreeCtrl::OnChildNotify

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pLResult);

パラメーター

[in] メッセージ
[in] Wparam
[in] Lparam
[in] pLResult

戻り値

解説

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

パラメーター

[in] Pitem
[in] bSelected

戻り値

解説

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

パラメーター

[in] Pitem

戻り値

解説

CMFCShellTreeCtrl::Refresh

CMFCShellTreeCtrl を更新して 再描画します

void Refresh();

解説

に表示される項目の階層を更新するには、このメソッドを CMFCShellTreeCtrl呼び出します。

CMFCShellTreeCtrl::SelectPath

指定されたパスに基づいて、CMFCShellTreeCtrl クラス項目を選択します。

BOOL SelectPath(LPCTSTR lpszPath);
BOOL SelectPath(LPCITEMIDLIST lpidl);

パラメーター

lpszPath
[in]項目のパスを指定する文字列。

lpidl
[in]項目を指定する PIDL

戻り値

成功した場合はS_OK。それ以外の場合E_FAIL。

CMFCShellTreeCtrl::SetFlags

ツリー コンテキストをフィルター処理するフラグを設定します。

void SetFlags(
    DWORD dwFlags,
    BOOL bRefresh = TRUE);

パラメーター

dwFlags
[in]設定するフラグ。

bRefresh
[in]すぐに更新するかどうかを CMFCShellTreeCtrl 指定するブール値。

解説

すべての CMFCShellTreeCtrl セット フラグを IShellFolder::EnumObjects に 渡します。 さまざまなフラグの値の詳細については、「IShellFolder::EnumObjects」を参照してください

CMFCShellTreeCtrl::SetRelatedList

CMFCShellListCtrl オブジェクトを CMFCShellTreeCtrl オブジェクトに関連付けます。

void SetRelatedList(CMFCShellListCtrl* pShellList);

パラメーター

pShellList
[in]オブジェクトへの CMFCShellListCtrl ポインター。

解説

このメソッドは、a CMFCShellListCtrlCMFCShellTreeCtrlを . これらのオブジェクトは、エクスプローラーのようなウィンドウとして表示される場合があります。ユーザーがオブジェクトCMFCShellTreeCtrlを選択すると、その中のCMFCShellListCtrl関連する項目が自動的に更新されます。

メソッド CMFCShellTreeCtrl::GetRelatedList を使用して、関連付けられているCMFCShellTreeCtrlオブジェクトをCMFCShellListCtrl取得します。

関連項目

階層図
クラス
CTreeCtrl クラス
CMFCShellListCtrl クラス