Compartir a través de


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

CObject

CCmdTarget

CWnd

CTreeCtrl

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)