Создание элемента управления "Представление дерева"
Чтобы создать элемент управления представлением дерева, используйте функцию CreateWindowEx , указав значение WC_TREEVIEW для класса окна. Класс окна представления дерева регистрируется в адресном пространстве приложения при загрузке библиотеки DLL общего элемента управления. Чтобы убедиться, что библиотека DLL загружена, используйте функцию InitCommonControls .
Это важно знать
Технологии
Необходимые компоненты
- C/C++
- Программирование пользовательского интерфейса Windows
Instructions
Создание экземпляра элемента управления "Представление дерева"
В следующем примере создается элемент управления представлением дерева, который соответствует клиентской области родительского окна. Он также использует определяемые приложением функции для связывания списка изображений с элементом управления и добавления элементов в элемент управления.
// 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;
}
Замечания
При создании элемента управления "Представление дерева" его также можно отправить WM_SETFONT сообщение, чтобы задать шрифт, используемый для текста. Перед вставой элементов необходимо отправить это сообщение. По умолчанию в представлении дерева используется шрифт заголовка значка. Хотя вы можете настроить шрифт для каждого элемента с помощью пользовательского рисования, элемент управления "Представление дерева" использует измерения шрифта, указанного в сообщении WM_SETFONT для определения интервалов и макета.
См. также