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
설명하는 구조체에 대한 포인터입니다.
Return Value
S_OK 성공하면
CMFCShellListCtrl::D isplayParentFolder
CMFCShellListCtrl 개체를 업데이트하여 현재 표시된 폴더의 부모 폴더를 표시합니다.
virtual HRESULT DisplayParentFolder();
Return Value
S_OK 성공하면
CMFCShellListCtrl::EnableShellContextMenu
바로 가기 메뉴를 사용하도록 설정합니다.
void EnableShellContextMenu(BOOL bEnable = TRUE);
매개 변수
bEnable
[in] 프레임워크에서 바로 가기 메뉴를 사용할 수 있는지 여부를 지정하는 부울입니다.
CMFCShellListCtrl::GetCurrentFolder
CMFCShellListCtrl 개체에서 현재 선택한 폴더의 경로를 검색합니다.
BOOL GetCurrentFolder(CString& strPath) const;
매개 변수
strPath
[out] 메서드가 경로를 작성하는 문자열 매개 변수에 대한 참조입니다.
Return Value
성공하는 경우 0이 아닌 값입니다. 그렇지 않은 경우 0입니다.
설명
에 선택된 폴더가 없으면 이 메서드가 CMFCShellListCtrl
실패합니다.
CMFCShellListCtrl::GetCurrentFolderName
CMFCShellListCtrl 개체에서 현재 선택한 폴더의 이름을 검색합니다.
BOOL GetCurrentFolderName(CString& strName) const;
매개 변수
strName
[out] 메서드가 이름을 쓰는 문자열 매개 변수에 대한 참조입니다.
Return Value
성공하는 경우 0이 아닌 값입니다. 그렇지 않은 경우 0입니다.
설명
에 선택된 폴더가 없으면 이 메서드가 CMFCShellListCtrl
실패합니다.
CMFCShellListCtrl::GetCurrentItemIdList
현재 선택한 항목의 PIDL을 반환합니다.
LPITEMIDLIST GetCurrentItemIdList() const;
Return Value
현재 항목의 PIDL입니다.
CMFCShellListCtrl::GetCurrentShellFolder
CMFCShellListCtrl 개체에서 현재 선택한 항목에 대한 포인터를 가져옵니다.
const IShellFolder* GetCurrentShellFolder() const;
Return Value
선택한 개체의 IShellFolder 인터페이스 에 대한 포인터입니다.
설명
현재 선택된 개체가 없는 경우 이 메서드는 NULL을 반환합니다.
CMFCShellListCtrl::GetItemPath
항목의 경로를 검색합니다.
BOOL GetItemPath(
CString& strPath,
int iItem) const;
매개 변수
strPath
[out] 경로를 수신하는 문자열에 대한 참조입니다.
iItem
[in] 목록 항목의 인덱스입니다.
Return Value
성공하면 TRUE이고, 그렇지 않으면 FALSE입니다.
설명
iItem에서 제공하는 인덱스는 CMFCShellListCtrl 클래스 개체에 의해 현재 표시되는 항목을 기반으로 합니다.
CMFCShellListCtrl::GetItemTypes
CMFCShellListCtrl 개체에 의해 표시되는 항목의 형식을 반환합니다.
SHCONTF GetItemTypes() const;
Return Value
에 나열된 CMFCShellListCtrl
항목의 형식을 포함하는 SHCONTF 값입니다.
설명
목록에 나열된 CMFCShellListCtrl
항목의 유형을 설정하려면 CMFCShellListCtrl::SetItemTypes를 호출 합니다.
CMFCShellListCtrl::IsDesktop
CMFCShellListCtrl 개체에 표시되는 폴더가 데스크톱 폴더인지 여부를 확인합니다.
BOOL IsDesktop() const;
Return Value
표시된 폴더가 데스크톱 폴더이면 TRUE이고, 그렇지 않으면 FALSE입니다.
CMFCShellListCtrl::OnCompareItems
더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.
virtual int OnCompareItems(
LPARAM lParam1,
LPARAM lParam2,
int iColumn);
매개 변수
[in] lParam1
[in] lParam2
[in] iColumn
Return Value
설명
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 매개 변수입니다.
Return Value
성공하면 아이콘 이미지의 인덱스입니다. 함수가 실패하면 -1입니다.
설명
아이콘 이미지 인덱스는 시스템 이미지 목록을 기반으로 합니다.
기본적으로 이 메서드는 pItem 매개 변수를 사용합니다. iItem의 값은 기본 구현에서 사용되지 않습니다. iItem을 사용하여 사용자 지정 동작을 구현할 수 있습니다.
CMFCShellListCtrl::OnGetItemText
프레임워크는 셸 항목의 텍스트를 검색해야 하는 경우 이 메서드를 호출합니다.
virtual CString OnGetItemText(
int iItem,
int iColumn,
LPAFX_SHELLITEMINFO pItem);
매개 변수
iItem
[in] 항목 인덱스입니다.
iColumn
[in] 관심 있는 열입니다.
pItem
[in] 항목을 설명하는 LPAFX_SHELLITEMINFO 매개 변수입니다.
Return Value
CString
항목과 연결된 텍스트가 들어 있는 A입니다.
설명
개체의 각 항목에는 CMFCShellListCtrl
하나 이상의 열에 텍스트가 있을 수 있습니다. 프레임워크에서 이 메서드를 호출할 때 관심 있는 열을 지정합니다. 이 함수를 수동으로 호출하는 경우 관심 있는 열도 지정해야 합니다.
기본적으로 이 메서드는 pItem 매개 변수를 사용하여 처리할 항목을 결정합니다. iItem의 값은 기본 구현에서 사용되지 않습니다.
CMFCShellListCtrl::OnSetColumns
프레임워크는 열의 이름을 설정하는 경우 이 메서드를 호출합니다.
virtual void OnSetColumns();
설명
기본적으로 프레임워크는 개체에 CMFCShellListCtrl
4개의 열을 만듭니다. 이러한 열의 이름은 이름, 크기, 형식 및 수정됨입니다. 이 메서드를 재정의하여 열 수와 이름을 사용자 지정할 수 있습니다.
CMFCShellListCtrl::Refresh
CMFCShellListCtrl 개체를 새로 고치고 다시 칠합니다.
virtual HRESULT Refresh();
Return Value
S_OK
성공하면
설명
개체가 표시하는 항목 목록을 새로 고치려면 이 메서드를 호출합니다 CMFCShellListCtrl
.
CMFCShellListCtrl::SetItemTypes
CMFCShellListCtrl 개체에 나열된 항목의 형식을 설정합니다.
void SetItemTypes(SHCONTF nTypes);
매개 변수
nTypes
[in] 개체가 CMFCShellListCtrl
지원하는 항목 형식 목록입니다.
설명
항목 유형 목록에 대한 자세한 내용은 SHCONTF를 참조하세요.