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 シェル項目の一覧が表示されます。
継承階層
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
オブジェクトへのポインター。
解説
このメソッドは、 CMFCShellListCtrl
を CMFCShellTreeCtrl
に関連付けます。 これらのオブジェクトは、エクスプローラーに似たウィンドウとして表示される場合があります。ユーザーが CMFCShellTreeCtrl
でオブジェクトを選択すると、 CMFCShellListCtrl
内の関連付けられている項目が自動的に更新されます。
メソッド CMFCShellTreeCtrl::GetRelatedList を使用して、CMFCShellTreeCtrl
に関連付けられているCMFCShellListCtrl
を取得します。