Windows Shell Controls | |
Содержание:
Главная Компоненты Shell Shell Tree Control Shell List Control Новости О проекте Контакты |
Shell Tree ControlИнтерфейсы и методыinterface IShellTreeCtrl: [id(1), helpstring("method InitShellTreeRoot")] HRESULT InitShellTreeRoot(); - инициализация дерева и заполнение его папками. Корневым элементом устанавливается Desktop. [id(2), helpstring("method ModifyTreeStyle")] HRESULT ModifyTreeStyle([in] LONG lRemove,[in] LONG lAdd); - действует аналогично ATL методу CWindow::ModifyStyle(). В параметре lRemove стили окна подлежащие удалению, lAdd - стили, которые следует добавить. [id(3), helpstring("method GetSelectedItem")] HRESULT GetSelectedItem([out,retval] LONG *pidlSelected); - в параметре pidlSelected возвращается PIDL (см. MSDN) текущего селектированного элемента. Для использования его нужно преобразовать к типу LPITEMIDLIST (например: LPITEMIDLIST pidl = (LPITEMIDLIST)pidlSelected; [id(4), helpstring("method GetPathFromPIDL")] HRESULT GetPathFromPIDL([in] LONG pidl, [out, retval] BSTR *lpPath); - в параметре lpPath возвращается физический путь (если он существует) к объекту идентифицируемому параметром pidl. Эта функция рекомендуется для использования только клиентами автоматизации (JavaScript/VBScript и т.д.). Другие приложения должны использовать системную функцию SHGetPathFromIDList(). [id(5), helpstring("method DisplayCopyright")] HRESULT DisplayCopyright(); - отображает MessageBox с копирайтом автора. Данный ActiveX компонент поддерживает точки подключения (connection points). Как воспользоваться этой возможностью можно посмотреть в тестовых приложениях, которые можно скачать с этого сайта. dispinterface _IShellTreeCtrlEvents: [id(1), helpstring("method OnSelChanged")] HRESULT OnSelChanged(LONG pidlSelected); - вызывается, когда в дереве изменяется селектированый элемент. pidlSelected - PIDL нового элемента. [id(2), helpstring("method OnTreeContextMenu")] HRESULT OnTreeContextMenu(LONG points); - вызыватся при клике правой кнопкой мыши на элементе. points - x,y координаты точки клика. Чтобы выделить координаты в программе на Visual C++ можно воспользоваться макросами GET_X_LPARAM/GET_Y_LPARAM или LOWORD/HIWORD. Тестовый примерТестовый пример на VC++ представляет собой MFC-диалоговое приложение, использующее компонент. ВНИМАНИЕ! Компонент должен быть зарегистрирован в системе (например с помощью утилиты regsvr32.exe). Приложение демонстрирует базовые возможности по применению компонента, включая использование connection points. Скачать пример. |
Copyright © 2003-2004 Andy V. Sofronov. All rights reserved. |