次の方法で共有


CMFCShellListCtrl クラス

CMFCShellListCtrl クラスは、Windows リスト コントロール機能を提供し、シェル項目の一覧を表示する機能を含めることで展開します。

構文

class CMFCShellListCtrl : public CMFCListCtrl

メンバー

パブリック メソッド

名前 説明
CMFCShellListCtrl::D isplayFolder 指定されたフォルダーに含まれている項目の一覧を表示します。
CMFCShellListCtrl::D isplayParentFolder 現在表示されているフォルダーの親であるフォルダーに含まれている項目の一覧を表示します。
CMFCShellListCtrl::EnableShellContextMenu ショートカット メニューを有効または無効にします。
CMFCShellListCtrl::GetCurrentFolder 現在のフォルダーのパスを取得します。
CMFCShellListCtrl::GetCurrentFolderName 現在のフォルダーの名前を取得します。
CMFCShellListCtrl::GetCurrentItemIdList 現在のリスト コントロール項目の PIDL を返します。
CMFCShellListCtrl::GetCurrentShellFolder 現在のシェル フォルダーへのポインターを返します。
CMFCShellListCtrl::GetItemPath 項目のテキスト パスを返します。
CMFCShellListCtrl::GetItemTypes リスト コントロールによって表示されるシェル項目の種類を返します。
CMFCShellListCtrl::IsDesktop 現在選択されているフォルダーがデスクトップ フォルダーかどうかを確認します。
CMFCShellListCtrl::OnCompareItems フレームワークは、2 つの項目を比較するときにこのメソッドを呼び出します。 ( をオーバーライドしますCMFCListCtrl::OnCompareItems.)
CMFCShellListCtrl::OnFormatFileDate フレームワークがリスト コントロールによって表示されるファイルの日付を取得するときに呼び出されます。
CMFCShellListCtrl::OnFormatFileSize フレームワークがリスト コントロールのファイル サイズを変換するときに呼び出されます。
CMFCShellListCtrl::OnGetItemIcon フレームワークがリスト コントロール項目のアイコンを取得するときに呼び出されます。
CMFCShellListCtrl::OnGetItemText フレームワークがリスト コントロール項目のテキストを変換するときに呼び出されます。
CMFCShellListCtrl::OnSetColumns 列の名前を設定するときにフレームワークによって呼び出されます。
CMFCShellListCtrl::Refresh リスト コントロールを更新して再描画します。
CMFCShellListCtrl::SetItemTypes リスト コントロールによって表示される項目の種類を設定します。

解説

CMFCShellListCtrl クラスは、プログラムで Windows シェル項目を一覧表示できるようにすることでCMFCListCtrl クラスの機能を拡張します。 使用される表示形式は、エクスプローラー ウィンドウのリスト ビューと似ています。

CMFCShellTreeCtrl オブジェクトをCMFCShellListCtrl オブジェクトに関連付けて、エクスプローラー ウィンドウ全体を作成できます。 その後、 CMFCShellTreeCtrl で項目を選択すると、 CMFCShellListCtrl オブジェクトに選択した項目の内容が一覧表示されます。

次の例では、 CMFCShellListCtrl クラスのオブジェクトを作成する方法と、現在表示されているフォルダーの親フォルダーを表示する方法を示します。 このコード スニペットは、 Explorer サンプルの一部です。

CMFCShellListCtrl m_wndList;
CRect rectDummy(0, 0, 0, 0);
// The this pointer points to CExplorerView class which extends the CView class.
m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT, rectDummy, this, 1);
m_wndList.DisplayParentFolder();

継承階層

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

要件

Header: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

指定されたフォルダーに含まれている項目の一覧を表示します。

virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);

パラメーター

lpszPath
[in]フォルダーのパスを含む文字列。

lpItemInfo
[in]表示するフォルダーを記述する LPAFX_SHELLITEMINFO 構造体へのポインター。

戻り値

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

CMFCShellListCtrl::D isplayParentFolder

CMFCShellListCtrl オブジェクトを更新して、現在表示されているフォルダーの親フォルダーを表示します。

virtual HRESULT DisplayParentFolder();

戻り値

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

CMFCShellListCtrl::EnableShellContextMenu

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

void EnableShellContextMenu(BOOL bEnable = TRUE);

パラメーター

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

CMFCShellListCtrl::GetCurrentFolder

CMFCShellListCtrl オブジェクトで現在選択されているフォルダーのパスを取得します。

BOOL GetCurrentFolder(CString& strPath) const;

パラメーター

strPath
[out]メソッドがパスを書き込む文字列パラメーターへの参照。

戻り値

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

解説

CMFCShellListCtrlでフォルダーが選択されていない場合、このメソッドは失敗します。

CMFCShellListCtrl::GetCurrentFolderName

CMFCShellListCtrl オブジェクトで現在選択されているフォルダーの名前を取得します。

BOOL GetCurrentFolderName(CString& strName) const;

パラメーター

strName
[out]メソッドが名前を書き込む文字列パラメーターへの参照。

戻り値

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

解説

CMFCShellListCtrlでフォルダーが選択されていない場合、このメソッドは失敗します。

CMFCShellListCtrl::GetCurrentItemIdList

現在選択されている項目の PIDL を返します。

LPITEMIDLIST GetCurrentItemIdList() const;

戻り値

現在の項目の PIDL。

CMFCShellListCtrl::GetCurrentShellFolder

CMFCShellListCtrl オブジェクトで現在選択されている項目へのポインターを取得します。

const IShellFolder* GetCurrentShellFolder() const;

戻り値

選択したオブジェクトの IShellFolder Interface へのポインター。

解説

オブジェクトが現在選択されていない場合、このメソッドは NULL を返します。

CMFCShellListCtrl::GetItemPath

項目のパスを取得します。

BOOL GetItemPath(
    CString& strPath,
    int iItem) const;

パラメーター

strPath
[out]パスを受け取る文字列への参照。

iItem
[in]リスト アイテムのインデックス。

戻り値

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

解説

iItem によって提供されるインデックスは、CMFCShellListCtrl クラス オブジェクトによって現在表示されている項目に基づいています。

CMFCShellListCtrl::GetItemTypes

CMFCShellListCtrl オブジェクトによって表示される項目の種類を返します。

SHCONTF GetItemTypes() const;

戻り値

SHCONTF CMFCShellListCtrlにリストされている項目の種類を含む値。

解説

CMFCShellListCtrlにリストされている項目の種類を設定するには、CMFCShellListCtrl::SetItemTypes を呼び出します。

CMFCShellListCtrl::IsDesktop

CMFCShellListCtrl オブジェクトに表示されるフォルダーがデスクトップ フォルダーかどうかを判断します。

BOOL IsDesktop() const;

戻り値

表示されるフォルダーがデスクトップ フォルダーの場合は TRUE。それ以外の場合は FALSE。

CMFCShellListCtrl::OnCompareItems

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

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

パラメーター

[入力] lParam1
[入力] lParam2
[入力] iColumn

戻り値

解説

CMFCShellListCtrl::OnFormatFileDate

フレームワークは、オブジェクトに関連付けられている日付を文字列に変換する必要がある場合に、このメソッドを呼び出します。

virtual void OnFormatFileDate(
    const CTime& tmFile,
    CString& str);

パラメーター

tmFile
[in]ファイルに関連付けられている日付。

str
[out]書式設定されたファイルの日付を含む文字列。

解説

CMFCShellListCtrl クラスオブジェクトは、ファイルに関連付けられている日付を表示する場合、その日付を文字列形式に変換する必要があります。 CMFCShellListCtrlでは、このメソッドを使用してその変換を行います。 既定では、このメソッドは現在のロケールを使用して日付を文字列に書式設定します。

CMFCShellListCtrl::OnFormatFileSize

フレームワークは、オブジェクトのサイズを文字列に変換するときに、このメソッドを呼び出します。

virtual void OnFormatFileSize(
    long lFileSize,
    CString& str);

パラメーター

lFileSize
[in]フレームワークが表示するファイルのサイズ。

str
[out]書式設定されたファイル サイズを含む文字列。

解説

CMFCShellListCtrl クラスオブジェクトがファイルのサイズを表示する必要がある場合は、ファイル サイズを文字列形式に変換する必要があります。 CMFCShellListCtrlでは、このメソッドを使用してその変換を行います。 既定では、このメソッドはファイル サイズをバイトからキロバイトに変換し、現在のロケールを使用してサイズを文字列に書式設定します。

CMFCShellListCtrl::OnGetItemIcon

フレームワークはこのメソッドを呼び出して、シェル リスト 項目に関連付けられているアイコンを取得します。

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

パラメーター

iItem
[in]項目インデックス。

pItem
[in]項目を記述するLPAFX_SHELLITEMINFO パラメーター。

戻り値

成功した場合のアイコン イメージのインデックス。関数が失敗した場合は -1。

解説

アイコンイメージのインデックスは、システムイメージリストに基づいています。

既定では、このメソッドは pItem パラメーターに依存します。 iItem の値は、既定の実装では使用されません。 iItemを使用してカスタム動作を実装できます。

CMFCShellListCtrl::OnGetItemText

フレームワークは、シェル項目のテキストを取得する必要がある場合に、このメソッドを呼び出します。

virtual CString OnGetItemText(
    int iItem,
    int iColumn,
    LPAFX_SHELLITEMINFO pItem);

パラメーター

iItem
[in]項目インデックス。

iColumn
[in]関心のある列。

pItem
[in]項目を記述するLPAFX_SHELLITEMINFO パラメーター。

戻り値

アイテムに関連付けられたテキストを含む CString

解説

CMFCShellListCtrl オブジェクト内の各項目は、1 つ以上の列にテキストを含む場合があります。 フレームワークは、このメソッドを呼び出すときに、関心のある列を指定します。 この関数を手動で呼び出す場合は、目的の列も指定する必要があります。

既定では、このメソッドは pItem パラメーターに依存して、処理する項目を決定します。 iItem の値は、既定の実装では使用されません。

CMFCShellListCtrl::OnSetColumns

フレームワークは、列の名前を設定するときにこのメソッドを呼び出します。

virtual void OnSetColumns();

解説

既定では、フレームワークは、 CMFCShellListCtrl オブジェクトに 4 つの列を作成します。 これらの列の名前は、 NameSizeType、および Modified です。 このメソッドをオーバーライドして、列の数とその名前をカスタマイズできます。

CMFCShellListCtrl::Refresh

CMFCShellListCtrl オブジェクトを更新して再描画します。

virtual HRESULT Refresh();

戻り値

S_OK 成功した場合。それ以外の場合はエラー値。

解説

CMFCShellListCtrl オブジェクトによって表示される項目の一覧を更新するには、このメソッドを呼び出します。

CMFCShellListCtrl::SetItemTypes

CMFCShellListCtrl オブジェクトに表示される項目の種類を設定します。

void SetItemTypes(SHCONTF nTypes);

パラメーター

nTypes
[in] CMFCShellListCtrl オブジェクトがサポートする項目の種類の一覧。

解説

項目の種類の一覧の詳細については、「 SHCONTFを参照してください。

関連項目

階層図
クラス
CMFCListCtrl クラス
CMFCShellTreeCtrl クラス