diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm index 203dadb44c..d697ccd6b2 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm @@ -30,9 +30,9 @@
Добавляет узел, в позицию указанную курсором. Пример добавления узла:
-push dword tree1 - push dword 0x10002 - push dword data_buffer - call dword[tl_node_add]+
push dword tree1 + push dword 0x10002 + push dword data_buffer + call dword[tl_node_add]
где: tree1 - структура tree_list; 0x10002 - параметры узла (старшие байты 0x0001 - индекс иконки, отображаемой возле узла; меньший байт 0x02 - уровень вложености узла); data_buffer - указатель на дынные, добавляемые в узел.
@@ -134,36 +134,57 @@ pop edi esi ecxПеремещает вверх узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:
-push dword tree1 - call dword[tl_node_move_up] ;переместить узел+
push dword tree1 + call dword[tl_node_move_up] ;переместить узел
где: tree1 - структура tree_list
Перемещает вниз узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:
-push dword tree1 - call dword[tl_node_move_down] ;переместить узел+
push dword tree1 + call dword[tl_node_move_down] ;переместить узел
где: tree1 - структура tree_list
-Берет внутренний указатель на структуру описывающую узел.
-Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов.
-Берет указатель на данные (пользовательские и подпись) из узла указанного в указателе.
+Берет внутренний указатель на структуру описывающую узел. Пример использования функции:
+push dword tree1 + push dword 0 + call dword[tl_node_poi_get_info] + pop esi+
где: tree1 - структура tree_list; +0 - позиция узла, с которого берется указатель; +esi - указатель на структуру описывающую узел.
-Функциями tl_node_poi_get_info, tl_node_poi_get_next_info и tl_node_poi_get_data можно считывать информацию о узлах элемента, при этом не меняя текущего положения курсора. Т. е. можно организовать доступ к даным элемента в "фоновом режиме".
+Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов. Пример использования функции:
+push tree1 + push esi + call dword[tl_node_poi_get_next_info] + pop esi ;переходим к следущему узлу+
где: tree1 - структура tree_list; +esi - до вызова функции указатель на структуру описывающую узел, после вызова указатель на структуру описывающую следущий узел в цепи.
+ +Берет указатель на данные (пользовательские и подпись) из узла указанного в указателе. Пример использования функции:
+push dword tree1 + push dword esi + call dword[tl_node_poi_get_data] + pop eax ;получаем данные узла+
где: tree1 - структура tree_list; +esi - указатель на структуру описывающую узел; +eax - указатель на данные узла, описааного в esi.
+Указатель, возвращаемый функцией tl_node_poi_get_data аналогичен указателю возвращаемому функцией tl_node_get_data. Отличие функций в том, что tl_node_poi_get_data работает без задействования курсора. Функциями tl_node_poi_get_info, tl_node_poi_get_next_info и tl_node_poi_get_data можно считывать информацию о узлах элемента, при этом не меняя текущего положения курсора. Т. е. можно организовать доступ к даным элемента в "фоновом режиме".
Сохраняет информацию об узлах элемента в память. Пример использования функции:
-MEM_SIZE equ 5000 - node_data rb MEM_SIZE +MEM_SIZE equ 5000 + node_data rb MEM_SIZE ......... - push dword tree1 - push dword 0 - push dword node_data - push dword MEM_SIZE - call dword[tl_save_mem] - pop eax+ push dword tree1 + push dword 0 + push dword node_data + push dword MEM_SIZE + call dword[tl_save_mem] + pop eax
где: tree1 - структура tree_list; 0 - опция сохранения в начало блока памяти (если = 1, то добавляет элемент после других сохраненных ранее); node_data - указатель на блок памяти; @@ -172,15 +193,15 @@ pop edi esi ecx
Загружает информацию об узлах элемента из памяти. Пример использования функции:
-MEM_SIZE equ 5000 - node_data rb MEM_SIZE +MEM_SIZE equ 5000 + node_data rb MEM_SIZE ......... - push dword tree1 - push dword 0 - push dword node_data - push dword MEM_SIZE - call dword[tl_load_mem] - pop eax+ push dword tree1 + push dword 0 + push dword node_data + push dword MEM_SIZE + call dword[tl_load_mem] + pop eax
где: tree1 - структура tree_list; 0 - индекс считываемого элемента; node_data - указатель на блок памяти; @@ -197,8 +218,9 @@ pop edi esi ecx
struc tree_list info_size,info_max_count,style, img_cx,img_cy,\ - col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\ - info_capt_len,el_focus, p_scrol,on_press { + col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\ + info_capt_len,el_focus, p_scrol,on_press +{ .data_info dd 0 .info_size dw info_size .info_max_count dd info_max_count @@ -232,20 +254,25 @@ pop edi esi ecx
info_max_count - максимальное количество узлов, которые можно добавить в элемент.
style - стили элемента.
data_nodes - указатель на внутренние структуры узлов (TreeList).
-data_img - указатель на изображения с иконками узлов.
-data_img_sys - указатель на системные изображения (курсор, плюсики, линии, ... все кроме иконок узлов).
+data_img - указатель на изображения с иконками узлов. Формат изображения такой же как и в сист. ф. 7: BBGGRRBBGGRR....
+img_cx - ширина одной иконки.
+img_cy - высота одной иконки.
+data_img_sys - указатель на системные изображения (курсор, плюсики, линии, ... все кроме иконок узлов). Формат изображения такой же как и в сист. ф. 7: BBGGRRBBGGRR...
+col_bkg - цвет фона.
+col_zag - цвет строки заголовка (если она задана) и кнопок и ползунка вертикальной полосы прокрутки (если она есть).
+col_txt - цвет текста.
capt_cy - высота строки для подписи вверху элемента, если меньше 9 подпись не выводится.
info_capt_len - длинна текста для подписи. Если равно 0, то длинна считается так: info_size - info_capt_offs.
p_scrol - указатель на структуру скроллинга, связанного с данным элементом.
-on_press - указатель на функцию, которая будет вызвана при нажитии [Enter]. Если указатель равен 0 то ничего не будет вызыватся.
+on_press - указатель на функцию, которая будет вызвана при нажатии [Enter]. Если указатель равен 0 то ничего не будет вызываться.
Рис. 2. Параметры info_size, info_capt_offs и info_capt_len в узле
Пример создания структуры:
tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\ - 0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\ - el_focus, wScr,fun_on_enter+ 0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\ + el_focus, wScr,fun_on_enter
Стиль не отображает уровни (как в ListBox все узлы одного уровня).
Документация обновлялась последний раз 08.09.10.
+Документация обновлялась последний раз 30.09.10.