<
meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
body
{
font-size: 15px;
font-family: "Bookman Old Style";
color: black;
text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
text-indent: 1em;
margin-top: 3px;
margin-bottom: 2px;
margin-left: 0px;
margin-right: 0px;
}
ol, ul, dl{
margin-top: 3px;
margin-bottom: 2px;
}
pre
{
padding: 2px;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: 0px;
font-family: "Courier New";
font-size: 15px;
color: #004000;
background-color: #ffd0ff;
}
table { font-size: 15px; }
<
p><
a href="#vveden">Ââåäåíèå<
/a><
/p>
<
p><
a href="#funct">Ôóíêöèè<
/a><
/p>
<
li>tl_node_set_data<
/li>
<
li>tl_node_get_data<
/li>
<
li>tl_node_close_open<
/li>
<
li>tl_node_poi_get_info<
/li>
<
li>tl_node_poi_get_next_info<
/li>
<
li>tl_node_poi_get_data<
/li>
<
li>version_tree_list<
/li>
<
p><
a href="#struc_tree_list">Ñòðóêòóðà tree_list<
/a><
/p>
<
p><
a href="#tree_list_styles">Ñòèëè ýëåìåíòà<
/a><
/p>
<
h1><
a name="#vveden">Ââåäåíèå<
/a><
/h1>
<
p>Âíåøíèé âèä ýëåìåíòà óïðàâëåíèÿ TreeList:<
/p>
<
p><
img src="window_tree_list.png"><
/p>
<
h1><
a name="funct">Ôóíêöèè<
/a><
/h1>
<
p>Êîíñòðóêòîð ýëåìåíòà, íóæíî âûçûâàòü ïåðåä èñïîëüçîâàíèåì ýëåìåíòà äëÿ âûäåëåíèÿ ïàìÿòè è äðóãèõ íàñòðîåê.<
/p>
<
p>Äåñòðóêòîð ýëåìåíòà, ÷èñòèò ïàìÿòü ïî óêàçàòåëÿì: <
b>data_info<
/b>, <
b>data_nodes<
/b>, <
b>data_img<
/b> è <
b>data_img_sys<
/b>. Åñëè â ïðîãðàììå èñïîëüçóåòñÿ <
i>íåñêîëüêî ýëåìåíòîâ ñ îäèíàêîâûìè èêîíêàìè<
/i>, òî óêàçàòåëè data_img è data_img_sys íóæíî ïðèðàâíÿòü ê
0 â äðóãèõ ýëåìåíòàõ, òàê ÷òî-áû ïðè âûçîâå äåñòðóêòîðîâ íå áûëî ïîâòîðíîãî óäàëåíèÿ îäíèõ è òåõ æå èêîíîê.<
/p>
<
p>Î÷èñòêà ñïèñêà îò âñåõ óçëîâ. Ýòî äåéñòâèå íåëüçÿ îòìåíèòü ôóíêöèåé <
b>tl_info_undo<
/b>.<
/p>
<
p>Ôóíêöèÿ êîòîðóþ íóæíî âûçûâàòü ïðè íàæàòèè íà êëàâèàòóðó.<
/p>
<
p>Ôóíêöèÿ äëÿ ñîáûòèé îò ìûøè.<
/p>
<
p>Ïîëíàÿ ïåðåðèñîâêà îêíà ýëåìåíòà.<
/p>
<
p>Îòìåíÿåò äîáàâëåíèå óçëîâ. Äåéñòâóåò òîëüêî íà âåñü óçåë öåëèêîì, íå ó÷èòûâàÿ èçìåíåíèÿ âíóòðè óçëîâ. Ò. å. íåëüçÿ îòìåíèòü äåéñòâèÿ âûïîëíåííûå íàïðèìåð ôóíêöèÿìè: <
b>tl_node_set_data<
/b>, <
b>tl_node_lev_inc<
/b> è èì ïîäîáíûì.<
/p>
<
p>Äîáàâëÿåò óçåë, â ïîçèöèþ óêàçàííóþ êóðñîðîì. Ïðèìåð äîáàâëåíèÿ óçëà:<
/p>
push dword 0x10002
push dword data_buffer
call dword
[tl_node_add
]<
/pre>
<
p>ãäå: <
b>tree1<
/b> - ñòðóêòóðà tree_list; <
b>0x10002<
/b> - ïàðàìåòðû óçëà
(ñòàðøèå áàéòû 0x0001 - èíäåêñ èêîíêè, îòîáðàæàåìîé âîçëå óçëà; ìåíüøèé áàéò 0x02 - óðîâåíü âëîæåíîñòè óçëà
); <
b>data_buffer<
/b> - óêàçàòåëü íà äûííûå, äîáàâëÿåìûå â óçåë.<
/p>
<
h2>tl_node_set_data<
/h2>
<
p>Óñòàíàâëèâàåò íîâûå äàííûå
(ïîëüçîâàòåëüñêèå è ïîäïèñü
) â óçåë ïîä êóðñîðîì.<
/p>
<
h2>tl_node_get_data<
/h2>
<
p>Áåðåò óêàçàòåëü íà äàííûå
(ïîëüçîâàòåëüñêèå è ïîäïèñü
) èç óçëà ïîä êóðñîðîì.<
/p>
<
p>Óäàëÿåò óçåë, íî íå îêîí÷àòåëüíî, ïðè íåîáõîäèìîñòè óçåë ìîæíî âåðíóòü ôóíêöèåé <
b>tl_info_undo<
/b>.<
/p>
<
p>Ñòàâèò êóðñîð â íà÷àëî ñïèñêà, ïåðåìàòûâàåò ñêðîëëèíã åñëè íóæíî.<
/p>
<
p>Ïåðåíîñèò êóðñîð íèæå.<
/p>
<
p>Ïåðåíîñèò êóðñîð âûøå.<
/p>
<
h2>tl_node_close_open<
/h2>
<
p>Îòêðûâàåò èëè çàêðûâàåò ðîäèòåëüñêèé óçåë. Åñëè ó óçëà íåò äî÷åðíèõ ýëåìåíòîâ,
òî íè÷åãî íå äåëàåò. Àâòîìàòè÷åñêè ïåðåðèñîâûâàåò îêíî åñëè ñîñòîÿíèå óçëà èçìåíèëîñü.<
/p>
<
p>Äîáàâèòü óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë äî÷åðíèì.<
/p>
<
p>Óìåíüøàåò óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë ðîäèòåëüñêèì.<
/p>
<
h2>tl_node_poi_get_info<
/h2>
<
p>Áåðåò âíóòðåííèé óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë.<
/p>
<
h2>tl_node_poi_get_next_info<
/h2>
<
p>Áåðåò óêàçàòåëü íà ñëåäóþùèé ýëåìåíò â öåïè, áåç ó÷åòà îòêðûòèÿ
/çàêðûòèÿ äî÷åðíèõ óçëîâ.<
/p>
<
h2>tl_node_poi_get_data<
/h2>
<
p>Áåðåò óêàçàòåëü íà äàííûå
(ïîëüçîâàòåëüñêèå è ïîäïèñü
) èç óçëà óêàçàííîãî â óêàçàòåëå.<
/p>
<
p>Ôóíêöèÿìè tl_node_poi_get_info, tl_node_poi_get_next_info è tl_node_poi_get_data ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà.<
/p>
<
h2>version_tree_list<
/h2>
<
h1><
a name="struc_tree_list">Ñòðóêòóðà tree_list<
/a><
/h1>
<
pre>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,\
el_focus, p_scrol,p_sb_draw,on_press {
.data_info dd 0
.info_size dw info_size
.info_max_count dd info_max_count
.style dd style
.data_nodes dd 0
.data_img dd 0
.img_cx dw img_cx
.img_cy dw img_cy
.data_img_sys dd 0
.ch_tim dd 0
.ls_tim dd 0
.tim_undo dd 0
.cur_pos dd 0
.col_bkg dd col_bkg
.col_zag dd col_zag
.col_txt dd col_txt
.box_lert dd box_l
.box_top dd box_t
.box_width dd box_w
.box_height dd box_h
.capt_cy dw capt_cy
.info_capt_offs dd info_capt_offs
.el_focus dd el_focus
.p_scrol dd p_scrol
.p_sb_draw dd p_sb_draw
.on_activate dd 0
.on_press dd on_press
<
p><
b>info_size<
/b> - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé
(ðåãóëèðóåòñÿ ÷åðåç <
i>info_capt_offs<
/i>
) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.<
/p>
<
p><
b>info_max_count<
/b> - ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò.<
/p>
<
p><
b>style<
/b> - ñòèëè ýëåìåíòà.<
/p>
<
p><
b>data_nodes<
/b> - óêàçàòåëü íà âíóòðåííèå ñòðóêòóðû óçëîâ
(<
i>TreeList<
/i>
).<
/p>
<
p><
b>data_img<
/b> - óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ.<
/p>
<
p><
b>data_img_sys<
/b> - óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ
(êóðñîð, ïëþñèêè, ëèíèè, ... âñå êðîìå èêîíîê óçëîâ
).<
/p>
<
p><
b>capt_cy<
/b> - âûñîòà ñòðîêè äëÿ ïîäïèñè ââåðõó ýëåìåíòà, åñëè ìåíüøå
9 ïîäïèñü íå âûâîäèòñÿ.<
/p>
<
p><
b>p_scrol<
/b> - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.<
/p>
<
p><
b>p_sb_draw<
/b> - óêàçàòåëü íà ôóíêöèþ ïåðåðèñîâêè âåðòèêàëüíîãî ñêðîëëèíãà
(<
i>scrollbar_ver_draw<
/i>
).<
/p>
<
p><
b>on_press<
/b> - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæèòèè <
b>
[Enter
]<
/b>. Åñëè óêàçàòåëü ðàâåí
0 òî íè÷åãî íå áóäåò âûçûâàòñÿ.<
/p>
<
p>Ïðèìåð ñîçäàíèÿ ñòðóêòóðû:<
/p>
<
pre>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,\
el_focus, wScr,scrollbar_ver_draw,fun_on_enter<
/pre>
<
h1><
a name="tree_list_styles">Ñòèëè ýëåìåíòà<
/a><
/h1>
<
p>Ýëåìåíò íåëüçÿ ðåäàêòèðîâàòü íà êëàâèàòóðå
(èçìåíÿòü óðîâíè, óäàëÿòü
). Ñòàâüòå ýòîò ñòèëü åñëè íóæíî ñîçäàòü ýëåìåíò òîëüêî äëÿ ïðîñìîòðà äàííûõ.<
/p>
<
h2>tl_draw_par_line<
/h2>
<
p>Ðèñîâàòü ëèíèè ê ðîäèòåëüñêîìó óçëó.<
/p>
<
h2>tl_list_box_mode<
/h2>
<
p>Ñòèëü íå îòîáðàæàåò óðîâíè
(êàê â ListBox âñå óçëû îäíîãî óðîâíÿ
).<
/p>
<
p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 23.11.09.<
/p>