Класс CMFCShellTreeCtrl
Класс CMFCShellTreeCtrl
расширяет функциональные возможности класса CTreeCtrl, отображая иерархию элементов оболочки.
Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.
Синтаксис
class CMFCShellTreeCtrl : public CTreeCtrl
Участники
Открытые методы
Имя | Описание |
---|---|
CMFCShellTreeCtrl::EnableShellContextMenu | Включает или отключает контекстное меню. |
CMFCShellTreeCtrl::GetFlags | Возвращает сочетание флагов, передаваемых в IShellFolder::EnumObjects. |
CMFCShellTreeCtrl::GetItemPath | Извлекает путь к элементу. |
CMFCShellTreeCtrl::GetRelatedList | Возвращает указатель на объект класса CMFCShellListCtrl, который используется вместе с этим CMFCShellTreeCtrl объектом для создания окна, аналогичного проводнику. |
CMFCShellTreeCtrl::OnChildNotify | Эта функция-член вызывается родительским окном этого окна при получении сообщения уведомления, которое применяется к этому окну. (Переопределения CWnd::OnChildNotify.) |
CMFCShellTreeCtrl::OnGetItemIcon | |
CMFCShellTreeCtrl::OnGetItemText | |
CMFCShellTreeCtrl::Refresh | Обновляет и переопределяет текущий CMFCShellTreeCtrl объект. |
CMFCShellTreeCtrl::SelectPath | Выбирает соответствующий элемент управления деревом на основе предоставленного PIDL или строкового пути. |
CMFCShellTreeCtrl::SetFlags | Задает флаги для фильтрации контекста дерева (аналогично флагам, используемым IShellFolder::EnumObjects ). |
CMFCShellTreeCtrl::SetRelatedList | Задает отношение между текущим CMFCShellTreeCtrl объектом и CMFCShellListCtrl объектом. |
Замечания
Этот класс расширяет CTreeCtrl
класс, позволяя программе включать элементы оболочки Windows в дерево. Этот класс можно связать с CMFCShellListCtrl
объектом для создания полного окна обозревателя. Затем при выборе элемента в дереве отобразится список элементов оболочки Windows в связанном списке.
Иерархия наследования
CMFCShellTreeCtrl
Требования
Заголовок: afxshelltreeCtrl.h
Пример
В следующем примере показывается, как создать объект класса CMFCShellTreeCtrl
. Этот фрагмент кода является частью примера Обозревателя.
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.
Замечания
Если этот метод завершается ошибкой, strPath содержит пустую строку.
Если не указать hTreeItem, этот метод пытается получить строку для выбранного элемента. Если элемент не выбран и hTreeItem имеет значение NULL, этот метод завершается ошибкой.
CMFCShellTreeCtrl::GetRelatedList
Возвращает указатель на объект класса CMFCShellListCtrl, связанный с этим объектом CMFCShellTreeCtrl .
CMFCShellListCtrl* GetRelatedList() const;
Возвращаемое значение
Указатель на объект, связанный CMFCShellListCtrl
с этим объектом управления деревом.
Замечания
Используя CMFCShellListCtrl
объект вместе с CMFCShellTreeCtrl
объектом, можно создать окно, подобное проводнику. Используйте метод CMFCShellTreeCtrl::SetRelatedList , чтобы связать два класса. После их связи платформа автоматически обновляет CMFCShellListCtrl
выбор в изменениях CMFCShellTreeCtrl
.
CMFCShellTreeCtrl::OnChildNotify
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pLResult);
Параметры
[in] Сообщение
[in] wParam
[in] lParam
[in] pLResult
Возвращаемое значение
Замечания
CMFCShellTreeCtrl::OnGetItemIcon
virtual int OnGetItemIcon(
LPAFX_SHELLITEMINFO pItem,
BOOL bSelected);
Параметры
[in] pItem
[in] bSelected
Возвращаемое значение
Замечания
CMFCShellTreeCtrl::OnGetItemText
virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);
Параметры
[in] 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 , чтобы получить связанный CMFCShellListCtrl
с ним CMFCShellTreeCtrl
объект.
См. также
Диаграмма иерархии
Классы
CTreeCtrl Class
Класс CMFCShellListCtrl