CMFCShellListCtrl クラス
このクラスは CMFCShellListCtrl
、Windows リスト コントロール機能を提供し、シェル項目の一覧を表示する機能を含めることで展開します。
構文
class CMFCShellListCtrl : public CMFCListCtrl
メンバー
パブリック メソッド
解説
このクラスは 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();
継承階層
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、Size、Type、Modified です。 このメソッドをオーバーライドして、列の数とその名前をカスタマイズできます。
CMFCShellListCtrl::Refresh
CMFCShellListCtrl オブジェクトを更新して再描画します。
virtual HRESULT Refresh();
戻り値
S_OK
成功した場合。それ以外の場合はエラー値。
解説
オブジェクトによって表示される項目の一覧を更新するには、このメソッドを CMFCShellListCtrl
呼び出します。
CMFCShellListCtrl::SetItemTypes
CMFCShellListCtrl オブジェクトに表示される項目の種類を設定します。
void SetItemTypes(SHCONTF nTypes);
パラメーター
nTypes
[in]オブジェクトがサポートする項目の種類の CMFCShellListCtrl
一覧。
解説
項目タイプのリストの詳細については、SHCONTF を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示