30,9 → 30,9 |
<li><a href="#fun_lev_d">tl_node_lev_dec</a></li> |
<li><a href="#fun_mov_u">tl_node_move_up</a></li> |
<li><a href="#fun_mov_d">tl_node_move_down</a></li> |
<li>tl_node_poi_get_info</li> |
<li>tl_node_poi_get_next_info</li> |
<li>tl_node_poi_get_data</li> |
<li><a href="#fun_poi_gi">tl_node_poi_get_info</a></li> |
<li><a href="#fun_poi_gni">tl_node_poi_get_next_info</a></li> |
<li><a href="#fun_poi_gd">tl_node_poi_get_data</a></li> |
<li><a href="#fun_sme">tl_save_mem</a></li> |
<li><a href="#fun_lme">tl_load_mem</a></li> |
<li><a href="#fun_gme">tl_get_mem_size</a></li> |
76,10 → 76,10 |
|
<h2><a name="fun_add">tl_node_add</a></h2> |
<p>Äîáàâëÿåò óçåë, â ïîçèöèþ óêàçàííóþ êóðñîðîì. Ïðèìåð äîáàâëåíèÿ óçëà:</p> |
<pre> push dword tree1 |
push dword 0x10002 |
push dword data_buffer |
call dword[tl_node_add]</pre> |
<pre> push dword tree1 |
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> |
|
134,36 → 134,57 |
|
<h2><a name="fun_mov_u">tl_node_move_up</a></h2> |
<p>Ïåðåìåùàåò ââåðõ óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> push dword tree1 |
call dword[tl_node_move_up] ;ïåðåìåñòèòü óçåë</pre> |
<pre> push dword tree1 |
call dword[tl_node_move_up] ;ïåðåìåñòèòü óçåë</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list</p> |
|
<h2><a name="fun_mov_d">tl_node_move_down</a></h2> |
<p>Ïåðåìåùàåò âíèç óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> push dword tree1 |
call dword[tl_node_move_down] ;ïåðåìåñòèòü óçåë</pre> |
<pre> push dword tree1 |
call dword[tl_node_move_down] ;ïåðåìåñòèòü óçåë</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list</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> |
<h2><a name="fun_poi_gi">tl_node_poi_get_info</a></h2> |
<p>Áåðåò âíóòðåííèé óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> push dword tree1 |
push dword 0 |
call dword[tl_node_poi_get_info] |
pop esi</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list; |
<b>0</b> - ïîçèöèÿ óçëà, ñ êîòîðîãî áåðåòñÿ óêàçàòåëü; |
<b>esi</b> - óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë.</p> |
|
<p>Ôóíêöèÿìè tl_node_poi_get_info, tl_node_poi_get_next_info è tl_node_poi_get_data ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà. Ò. å. ìîæíî îðãàíèçîâàòü äîñòóï ê äàíûì ýëåìåíòà â "ôîíîâîì ðåæèìå".</p> |
<h2><a name="fun_poi_gni">tl_node_poi_get_next_info</a></h2> |
<p>Áåðåò óêàçàòåëü íà ñëåäóþùèé ýëåìåíò â öåïè, áåç ó÷åòà îòêðûòèÿ/çàêðûòèÿ äî÷åðíèõ óçëîâ. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> push tree1 |
push esi |
call dword[tl_node_poi_get_next_info] |
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list; |
<b>esi</b> - äî âûçîâà ôóíêöèè óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë, ïîñëå âûçîâà óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ ñëåäóùèé óçåë â öåïè.</p> |
|
<h2><a name="fun_poi_gd">tl_node_poi_get_data</a></h2> |
<p>Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà óêàçàííîãî â óêàçàòåëå. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> push dword tree1 |
push dword esi |
call dword[tl_node_poi_get_data] |
pop eax ;ïîëó÷àåì äàííûå óçëà</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list; |
<b>esi</b> - óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë; |
<b>eax</b> - óêàçàòåëü íà äàííûå óçëà, îïèñààíîãî â esi.</p> |
<p>Óêàçàòåëü, âîçâðàùàåìûé ôóíêöèåé <i>tl_node_poi_get_data</i> àíàëîãè÷åí óêàçàòåëþ âîçâðàùàåìîìó ôóíêöèåé <i>tl_node_get_data</i>. Îòëè÷èå ôóíêöèé â òîì, ÷òî <i>tl_node_poi_get_data</i> ðàáîòàåò áåç çàäåéñòâîâàíèÿ êóðñîðà. Ôóíêöèÿìè <i>tl_node_poi_get_info</i>, <i>tl_node_poi_get_next_info</i> è <i>tl_node_poi_get_data</i> ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà. Ò. å. ìîæíî îðãàíèçîâàòü äîñòóï ê äàíûì ýëåìåíòà â "ôîíîâîì ðåæèìå".</p> |
|
<h2><a name="fun_sme">tl_save_mem</a></h2> |
<p>Ñîõðàíÿåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà â ïàìÿòü. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> MEM_SIZE equ 5000 |
node_data rb MEM_SIZE |
<pre> 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</pre> |
push dword tree1 |
push dword 0 |
push dword node_data |
push dword MEM_SIZE |
call dword[tl_save_mem] |
pop eax</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list; |
<b>0</b> - îïöèÿ ñîõðàíåíèÿ â íà÷àëî áëîêà ïàìÿòè (åñëè = 1, òî äîáàâëÿåò ýëåìåíò ïîñëå äðóãèõ ñîõðàíåííûõ ðàíåå); |
<b>node_data</b> - óêàçàòåëü íà áëîê ïàìÿòè; |
172,15 → 193,15 |
|
<h2><a name="fun_lme">tl_load_mem</a></h2> |
<p>Çàãðóæàåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà èç ïàìÿòè. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p> |
<pre> MEM_SIZE equ 5000 |
node_data rb MEM_SIZE |
<pre> 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</pre> |
push dword tree1 |
push dword 0 |
push dword node_data |
push dword MEM_SIZE |
call dword[tl_load_mem] |
pop eax</pre> |
<p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list; |
<b>0</b> - èíäåêñ ñ÷èòûâàåìîãî ýëåìåíòà; |
<b>node_data</b> - óêàçàòåëü íà áëîê ïàìÿòè; |
197,8 → 218,9 |
|
<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,\ |
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,12 → 254,17 |
<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>data_img</b> - óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ. Ôîðìàò èçîáðàæåíèÿ òàêîé æå êàê è â ñèñò. ô. 7: <i>BBGGRRBBGGRR...</i>.</p> |
<p><b>img_cx</b> - øèðèíà îäíîé èêîíêè.</p> |
<p><b>img_cy</b> - âûñîòà îäíîé èêîíêè.</p> |
<p><b>data_img_sys</b> - óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ (êóðñîð, ïëþñèêè, ëèíèè, ... âñå êðîìå èêîíîê óçëîâ). Ôîðìàò èçîáðàæåíèÿ òàêîé æå êàê è â ñèñò. ô. 7: <i>BBGGRRBBGGRR...</i></p> |
<p><b>col_bkg</b> - öâåò ôîíà.</p> |
<p><b>col_zag</b> - öâåò ñòðîêè çàãîëîâêà (åñëè îíà çàäàíà) è êíîïîê è ïîëçóíêà âåðòèêàëüíîé ïîëîñû ïðîêðóòêè (åñëè îíà åñòü).</p> |
<p><b>col_txt</b> - öâåò òåêñòà.</p> |
<p><b>capt_cy</b> - âûñîòà ñòðîêè äëÿ ïîäïèñè ââåðõó ýëåìåíòà, åñëè ìåíüøå 9 ïîäïèñü íå âûâîäèòñÿ.</p> |
<p><b>info_capt_len</b> - äëèííà òåêñòà äëÿ ïîäïèñè. Åñëè ðàâíî 0, òî äëèííà ñ÷èòàåòñÿ òàê: <i>info_size - info_capt_offs</i>.</p> |
<p><b>p_scrol</b> - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.</p> |
<p><b>on_press</b> - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæèòèè [<b>Enter</b>]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòñÿ.</p> |
<p><b>on_press</b> - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæàòèè [<b>Enter</b>]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòüñÿ.</p> |
|
<p><img src="info_size.png"></p> |
<p>Ðèñ. 2. Ïàðàìåòðû <i>info_size</i>, <i>info_capt_offs</i> è <i>info_capt_len</i> â óçëå</p> |
244,8 → 271,8 |
|
<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,0,\ |
el_focus, wScr,fun_on_enter</pre> |
0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\ |
el_focus, wScr,fun_on_enter</pre> |
|
<h1><a name="tree_list_styles">Ñòèëè ýëåìåíòà</a></h1> |
<h2>tl_key_no_edit</h2> |
256,6 → 283,6 |
<p>Ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå óçëû îäíîãî óðîâíÿ).</p> |
|
<hr> |
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 08.09.10.</p> |
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 30.09.10.</p> |
</body> |
</html> |