Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour créer un contrôle d’arborescence, utilisez la fonction CreateWindowEx , en spécifiant la valeur WC_TREEVIEW de la classe de fenêtre. La classe de fenêtre d’arborescence est inscrite dans l’espace d’adressage de l’application lorsque la DLL de contrôle commune est chargée. Pour vous assurer que la DLL est chargée, utilisez la fonction InitCommonControls .
Ce que vous devez savoir
Technologies
Conditions préalables
- C/C++
- Programmation de l’interface utilisateur Windows
Les instructions
Créer une instance d’un contrôle Tree-View
L’exemple suivant crée un contrôle d’arborescence dimensionné pour s’adapter à la zone cliente de la fenêtre parente. Il utilise également des fonctions définies par l’application pour associer une liste d’images au contrôle et ajouter des éléments au contrôle.
// Create a tree-view control.
// Returns the handle to the new control if successful,
// or NULL otherwise.
// hwndParent - handle to the control's parent window.
// lpszFileName - name of the file to parse for tree-view items.
// g_hInst - the global instance handle.
// ID_TREEVIEW - the resource ID of the control.
HWND CreateATreeView(HWND hwndParent)
{
RECT rcClient; // dimensions of client area
HWND hwndTV; // handle to tree-view control
// Ensure that the common control DLL is loaded.
InitCommonControls();
// Get the dimensions of the parent window's client area, and create
// the tree-view control.
GetClientRect(hwndParent, &rcClient);
hwndTV = CreateWindowEx(0,
WC_TREEVIEW,
TEXT("Tree View"),
WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES,
0,
0,
rcClient.right,
rcClient.bottom,
hwndParent,
(HMENU)ID_TREEVIEW,
g_hInst,
NULL);
// Initialize the image list, and add items to the control.
// InitTreeViewImageLists and InitTreeViewItems are application-
// defined functions, shown later.
if (!InitTreeViewImageLists(hwndTV) ||
!InitTreeViewItems(hwndTV))
{
DestroyWindow(hwndTV);
return FALSE;
}
return hwndTV;
}
Remarques
Lorsque vous créez un contrôle d’arborescence, vous pouvez également l’envoyer à un message WM_SETFONT pour définir la police à utiliser pour le texte. Vous devez envoyer ce message avant d’insérer des éléments. Par défaut, une arborescence utilise la police de titre de l’icône. Bien que vous puissiez personnaliser la police par élément à l’aide du dessin personnalisé, le contrôle d’arborescence utilise les dimensions de la police spécifiée par le message WM_SETFONT pour déterminer l’espacement et la disposition.