Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Класс 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
Класс CMFCShellListCtrl