CMFCShellTreeCtrl (clase)
La clase CMFCShellTreeCtrl
amplía la funcionalidad de CTreeCtrl (clase) mostrando una jerarquía de elementos de Shell.
Para obtener información más detallada, consulta el código fuente que se ubica en la carpeta VC\atlmfc\src\mfc de la instalación de Visual Studio.
Sintaxis
class CMFCShellTreeCtrl : public CTreeCtrl
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
CMFCShellTreeCtrl::EnableShellContextMenu | Habilita o deshabilita el menú contextual. |
CMFCShellTreeCtrl::GetFlags | Devuelve una combinación de marcas que se pasan a IShellFolder::EnumObjects. |
CMFCShellTreeCtrl::GetItemPath | Recupera la ruta de acceso a un elemento. |
CMFCShellTreeCtrl::GetRelatedList | Devuelve un puntero al objeto CMFCShellListCtrl (clase) que se usa junto con este objeto CMFCShellTreeCtrl para crear una ventana similar al Explorador. |
CMFCShellTreeCtrl::OnChildNotify | Esta ventana primaria de la ventana llama a esta función miembro cuando recibe un mensaje de notificación que se aplica a esta ventana. (Reemplaza a CWnd::OnChildNotify). |
CMFCShellTreeCtrl::OnGetItemIcon | |
CMFCShellTreeCtrl::OnGetItemText | |
CMFCShellTreeCtrl::Refresh | Actualiza y vuelve a pintar el objeto actual CMFCShellTreeCtrl . |
CMFCShellTreeCtrl::SelectPath | Selecciona el elemento de control de árbol adecuado en función de una ruta de acceso de cadena o PIDL proporcionada. |
CMFCShellTreeCtrl::SetFlags | Establece marcas para filtrar el contexto de árbol (similar a las marcas usadas por IShellFolder::EnumObjects ). |
CMFCShellTreeCtrl::SetRelatedList | Establece una relación entre el objeto actual CMFCShellTreeCtrl y un objeto CMFCShellListCtrl . |
Comentarios
Esta clase amplía la clase CTreeCtrl
al permitir que el programa incluya elementos de Windows Shell en el árbol. Esta clase se puede asociar a un objeto CMFCShellListCtrl
para crear una ventana completa del Explorador. A continuación, al seleccionar un elemento en el árbol se mostrará una lista de elementos de Windows Shell en la lista asociada.
Jerarquía de herencia
CMFCShellTreeCtrl
Requisitos
Encabezado: afxshelltreeCtrl.h
Ejemplo
En el ejemplo siguiente se muestra cómo crear un objeto de la clase CMFCShellTreeCtrl
. Este fragmento de código forma parte del ejemplo del Explorador.
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
Habilita el menú contextual.
void EnableShellContextMenu(BOOL bEnable = TRUE);
Parámetros
bEnable
[in] Valor booleano que especifica si se debería habilitar el menú contextual.
CMFCShellTreeCtrl::GetFlags
Devuelve las marcas establecidas para el objeto CMFCShellTreeCtrl (clase).
DWORD GetFlags() const;
Valor devuelto
Valor DWORD que especifica la combinación de marcas establecidas actualmente.
Comentarios
Las marcas establecidas en CMFCShellTreeCtrl
se envían al método IShellFolder::EnumObjects cada vez que se actualiza el objeto. Puede cambiar las marcas con el método CMFCShellTreeCtrl::SetFlags.
CMFCShellTreeCtrl::GetItemPath
Recupera la ruta de acceso de un elemento en el objeto CMFCShellTreeCtrl Class.
BOOL GetItemPath(
CString& strPath,
HTREEITEM htreeItem = NULL) const;
Parámetros
strPath
[out] Referencia a un parámetro de cadena. El método escribe la ruta de acceso del elemento en este parámetro.
htreeItem
[in] El método recupera la ruta de acceso para este elemento de control de árbol.
Valor devuelto
Su valor será distinto de cero en caso correcto, de lo contrario, será cero.
Comentarios
Si se produce un error en este método, strPath contiene la cadena vacía.
Si no especifica hTreeItem, este método intenta obtener la cadena del elemento seleccionado actualmente. Si no se selecciona ningún elemento y hTreeItem es NULL, se produce un error en este método.
CMFCShellTreeCtrl::GetRelatedList
Devuelve un puntero al objeto CMFCShellListCtrl (clase) asociado a este objeto CMFCShellTreeCtrl.
CMFCShellListCtrl* GetRelatedList() const;
Valor devuelto
Puntero al objeto CMFCShellListCtrl
asociado a este objeto de control de árbol.
Comentarios
Mediante el uso de un objeto CMFCShellListCtrl
junto con un objeto CMFCShellTreeCtrl
, puede crear una ventana similar al Explorador. Use el método CMFCShellTreeCtrl::SetRelatedList para asociar las dos clases. Una vez asociadas, el marco actualiza CMFCShellListCtrl
automáticamente si cambia la selección de CMFCShellTreeCtrl
.
CMFCShellTreeCtrl::OnChildNotify
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pLResult);
Parámetros
[in] message
[in] wParam
[in] lParam
[in] pLResult
Valor devuelto
Comentarios
CMFCShellTreeCtrl::OnGetItemIcon
virtual int OnGetItemIcon(
LPAFX_SHELLITEMINFO pItem,
BOOL bSelected);
Parámetros
[in] pItem
[in] bSelected
Valor devuelto
Comentarios
CMFCShellTreeCtrl::OnGetItemText
virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);
Parámetros
[in] pItem
Valor devuelto
Comentarios
CMFCShellTreeCtrl::Refresh
Actualiza y vuelve a pintar CMFCShellTreeCtrl.
void Refresh();
Comentarios
Llame a este método para actualizar la jerarquía de los elementos mostrados en CMFCShellTreeCtrl
.
CMFCShellTreeCtrl::SelectPath
Selecciona un elemento de la clase CMFCShellTreeCtrl en función de la ruta de acceso proporcionada.
BOOL SelectPath(LPCTSTR lpszPath);
BOOL SelectPath(LPCITEMIDLIST lpidl);
Parámetros
lpszPath
[in] Cadena que especifica la ruta de acceso de un elemento.
lpidl
[in] PIDL que especifica el elemento.
Valor devuelto
S_OK si es correcto. En caso contrario, E_FAIL.
CMFCShellTreeCtrl::SetFlags
Establece marcas para filtrar el contexto de árbol.
void SetFlags(
DWORD dwFlags,
BOOL bRefresh = TRUE);
Parámetros
dwFlags
[in] Marcas que se van a establecer.
bRefresh
[in] Valor booleano que especifica si CMFCShellTreeCtrl
se debe actualizar inmediatamente.
Comentarios
CMFCShellTreeCtrl
pasa todas las marcas establecidas a IShellFolder::EnumObjects. Para obtener más información sobre los valores de diferentes marcas, vea IShellFolder::EnumObjects.
CMFCShellTreeCtrl::SetRelatedList
Asocia un objeto CMFCShellListCtrl a un objeto CMFCShellTreeCtrl.
void SetRelatedList(CMFCShellListCtrl* pShellList);
Parámetros
pShellList
[in] Un puntero a un objeto CMFCShellListCtrl
.
Comentarios
Este método asocia CMFCShellListCtrl
con CMFCShellTreeCtrl
. Estos objetos se pueden mostrar como una ventana similar al Explorador: si el usuario selecciona un objeto en CMFCShellTreeCtrl
, los elementos asociados de CMFCShellListCtrl
se actualizarán automáticamente.
Use el método CMFCShellTreeCtrl::GetRelatedList para recuperar el objeto CMFCShellListCtrl
asociado a CMFCShellTreeCtrl
.
Consulte también
Gráfico de jerarquías
Clases
CTreeCtrl (clase)
CMFCShellListCtrl (clase)