次の方法で共有


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 オブジェクトの間の関係を設定します。

解説

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

継承階層

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

要件

Header: afxshelltreeCtrl.h

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

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

CMFCShellTreeCtrl::OnChildNotify

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

パラメーター

[入力] メッセージ
[入力] wParam
[入力] lParam
[入力] pLResult

戻り値

解説

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

パラメーター

[入力] pItem
[入力] bSelected

戻り値

解説

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

パラメーター

[入力] 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 オブジェクトへのポインター。

解説

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

メソッド CMFCShellTreeCtrl::GetRelatedList を使用して、CMFCShellTreeCtrlに関連付けられているCMFCShellListCtrlを取得します。

関連項目

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