Share via


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 オブジェクトを作成する方法と、現在表示されているフォルダーの親フォルダーを表示する方法を示します。 このコード スニペットは、エクスプローラー サンプル一部です。

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

必要条件

ヘッダー: 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 インターフェイス へのポインター。

解説

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

CMFCShellListCtrl::GetItemPath

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

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

パラメーター

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

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

戻り値

成功した場合は TRUE。FAL Standard Editionそれ以外の場合。

解説

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

CMFCShellListCtrl::GetItemTypes

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

SHCONTF GetItemTypes() const;

戻り値

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

解説

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

CMFCShellListCtrl::IsDesktop

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

BOOL IsDesktop() const;

戻り値

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

CMFCShellListCtrl::OnCompareItems

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

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

パラメーター

[in] lParam1
[in] lParam2
[in] 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アイテムに関連付けられているテキストを含む A。

解説

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

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

CMFCShellListCtrl::OnSetColumns

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

virtual void OnSetColumns();

解説

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

CMFCShellListCtrl::Refresh

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

virtual HRESULT Refresh();

戻り値

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

解説

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

CMFCShellListCtrl::SetItemTypes

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

void SetItemTypes(SHCONTF nTypes);

パラメーター

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

解説

項目タイプのリストの詳細については、SHCONTF を参照してください

関連項目

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