Subversion Repositories Kolibri OS

Rev

Rev 1705 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. <html>
  2. <head>
  3. <title>ýëåìåíò Tree List</title>
  4. <meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
  5. <link href="../style.css" type=text/css rel=stylesheet>
  6. </head>
  7. <body>
  8. <p><a href="../box_lib.htm">Íà ãëàâíóþ &uarr;</a></p>
  9. <h1>Îãëàâëåíèå</h1>
  10. <p><a href="#vveden">Ââåäåíèå</a></p>
  11. <p><a href="#funct">Ôóíêöèè</a></p>
  12. <ul>
  13. <li><a href="#fun_init">tl_data_init</a></li>
  14. <li><a href="#fun_clear1">tl_data_clear</a></li>
  15. <li><a href="#fun_clear2">tl_info_clear</a></li>
  16. <li><a href="#fun_key">tl_key</a></li>
  17. <li><a href="#fun_mouse">tl_mouse</a></li>
  18. <li><a href="#fun_draw">tl_draw</a></li>
  19. <li><a href="#fun_undo">tl_info_undo</a></li>
  20. <li><a href="#fun_redo">tl_info_redo</a></li>
  21. <li><a href="#fun_add">tl_node_add</a></li>
  22. <li><a href="#fun_set_d">tl_node_set_data</a></li>
  23. <li><a href="#fun_get_d">tl_node_get_data</a></li>
  24. <li><a href="#fun_delete">tl_node_delete</a></li>
  25. <li><a href="#fun_cur_b">tl_cur_beg</a></li>
  26. <li><a href="#fun_cur_n">tl_cur_next</a></li>
  27. <li><a href="#fun_cur_p">tl_cur_perv</a></li>
  28. <li><a href="#fun_clo_opn">tl_node_close_open</a></li>
  29. <li><a href="#fun_lev_i">tl_node_lev_inc</a></li>
  30. <li><a href="#fun_lev_d">tl_node_lev_dec</a></li>
  31. <li><a href="#fun_mov_u">tl_node_move_up</a></li>
  32. <li><a href="#fun_mov_d">tl_node_move_down</a></li>
  33. <li><a href="#fun_poi_gi">tl_node_poi_get_info</a></li>
  34. <li><a href="#fun_poi_gni">tl_node_poi_get_next_info</a></li>
  35. <li><a href="#fun_poi_gd">tl_node_poi_get_data</a></li>
  36. <li><a href="#fun_sme">tl_save_mem</a></li>
  37. <li><a href="#fun_lme">tl_load_mem</a></li>
  38. <li><a href="#fun_gme">tl_get_mem_size</a></li>
  39. <li><a href="#version">version_tree_list</a></li>
  40. </ul>
  41. <p><a href="#struc_tree_list">Ñòðóêòóðà tree_list</a></p>
  42. <p><a href="#tree_list_styles">Ñòèëè ýëåìåíòà</a></p>
  43.  
  44. <h1><a name="vveden">Ââåäåíèå</a></h1>
  45. <p>Âíåøíèé âèä ýëåìåíòà óïðàâëåíèÿ TreeList:</p>
  46. <p><img src="window_tree_list.png"></p>
  47. <p>Ðèñ. 1. Îêíî ïðîãðàììû ñ ýëåìåíòîì TreeList</p>
  48.  
  49. <h1><a name="funct">Ôóíêöèè</a></h1>
  50.  
  51. <h2><a name="fun_init">tl_data_init</a></h2>
  52. <p>Êîíñòðóêòîð ýëåìåíòà, íóæíî âûçûâàòü ïåðåä èñïîëüçîâàíèåì ýëåìåíòà äëÿ âûäåëåíèÿ ïàìÿòè è äðóãèõ íàñòðîåê.</p>
  53. <h2><a name="fun_clear1">tl_data_clear</a></h2>
  54. <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>
  55.  
  56. <h2><a name="fun_clear2">tl_info_clear</a></h2>
  57. <p>Î÷èñòêà ñïèñêà îò âñåõ óçëîâ. Ýòî äåéñòâèå íåëüçÿ îòìåíèòü ôóíêöèåé <b>tl_info_undo</b>.</p>
  58.  
  59. <h2><a name="fun_key">tl_key</a></h2>
  60. <p>Ôóíêöèÿ êîòîðóþ íóæíî âûçûâàòü ïðè íàæàòèè íà êëàâèàòóðó.
  61.  Êíîïêè, êîòîðûå íå äîñòóïíû åñëè åñòü ñòèëü <i>tl_key_no_edit</i>: [<b>Enter</b>], [<b>Delete</b>], [<b>&larr;</b>], [<b>&rarr;</b>].
  62.  Âñåãäà äîñòóïíû: [<b>&uarr;</b>], [<b>&darr;</b>], [<b>Page Up</b>], [<b>Page Dn</b>], [<b>Space</b>].
  63.  Ôóíêöèÿ ïðîâåðÿåò âêëþ÷åí ëè ðåæèì scan êîäîâ, è â ñëó÷àå íåîáõîäèìîñòè ñàìà ïðåîáðàçóåò êîäû.</p>
  64.  
  65. <h2><a name="fun_mouse">tl_mouse</a></h2>
  66. <p>Ôóíêöèÿ äëÿ ñîáûòèé îò ìûøè.</p>
  67.  
  68. <h2><a name="fun_draw">tl_draw</a></h2>
  69. <p>Ïîëíàÿ ïåðåðèñîâêà îêíà ýëåìåíòà.</p>
  70.  
  71. <h2><a name="fun_undo">tl_info_undo</a></h2>
  72. <p>Îòìåíÿåò äîáàâëåíèå óçëîâ. Äåéñòâóåò òîëüêî íà âåñü óçåë öåëèêîì, íå ó÷èòûâàÿ èçìåíåíèÿ âíóòðè óçëîâ. Ò. å. íåëüçÿ îòìåíèòü äåéñòâèÿ âûïîëíåííûå íàïðèìåð ôóíêöèÿìè: <b>tl_node_set_data</b>, <b>tl_node_lev_inc</b> è èì ïîäîáíûì.</p>
  73.  
  74. <h2><a name="fun_redo">tl_info_redo</a></h2>
  75. <p>Ïîâòîð îòìåíåííûõ äåéñòâèé. Îáðàòíàÿ ôóíêöèÿ ïî îòíîøåíèþ ê <b>tl_info_undo</b>.</p>
  76.  
  77. <h2><a name="fun_add">tl_node_add</a></h2>
  78. <p>Äîáàâëÿåò óçåë, â ïîçèöèþ óêàçàííóþ êóðñîðîì. Ïðèìåð äîáàâëåíèÿ óçëà:</p>
  79. <pre>   stdcall dword[tl_node_add], tree1,0x10002,data_buffer</pre>
  80. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  81.  <b>0x10002</b> - ïàðàìåòðû óçëà (ñòàðøèå áàéòû 0x0001 - èíäåêñ èêîíêè, îòîáðàæàåìîé âîçëå óçëà; ìåíüøèé áàéò 0x02 - óðîâåíü âëîæåíîñòè óçëà); <b>data_buffer</b> - óêàçàòåëü íà äûííûå, äîáàâëÿåìûå â óçåë.</p>
  82.  
  83. <h2><a name="fun_set_d">tl_node_set_data</a></h2>
  84. <p>Óñòàíàâëèâàåò íîâûå äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) â óçåë ïîä êóðñîðîì.</p>
  85.  
  86. <h2><a name="fun_get_d">tl_node_get_data</a></h2>
  87. <p>Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà ïîä êóðñîðîì.</p>
  88. <p>Ïðèìåð 1:</p>
  89. <pre>   stdcall [tl_node_get_data], tree1</pre>
  90. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  91.  <b>eax</b> - óêàçàòåëü íà äûííûå óçëà.</p>
  92.  
  93. <p>Ïðèìåð 2:</p>
  94. <pre>   NODE_SIZE equ 200
  95.         node_data rb NODE_SIZE
  96. .........
  97. push eax ecx esi edi
  98.         stdcall [tl_node_get_data], tree1
  99.         mov esi,eax
  100.         mov edi,node_data
  101.         mov ecx,NODE_SIZE
  102.         cld
  103.         rep movsb
  104. pop edi esi ecx eax</pre>
  105. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  106.  <b>NODE_SIZE</b> - ðàçìåð äûííûõ óçëà;
  107.  <b>node_data</b> - êîïèÿ íà äûííûõ óçëà.</p>
  108.  
  109. <h2><a name="fun_delete">tl_node_delete</a></h2>
  110. <p>Óäàëÿåò óçåë, íî íå îêîí÷àòåëüíî, ïðè íåîáõîäèìîñòè óçåë ìîæíî âåðíóòü ôóíêöèåé <b>tl_info_undo</b>.</p>
  111.  
  112. <h2><a name="fun_cur_b">tl_cur_beg</a></h2>
  113. <p>Ñòàâèò êóðñîð â íà÷àëî ñïèñêà, ïåðåìàòûâàåò ñêðîëëèíã åñëè íóæíî.</p>
  114.  
  115. <h2><a name="fun_cur_n">tl_cur_next</a></h2>
  116. <p>Ïåðåíîñèò êóðñîð íà îäíó ïîçèöèþ íèæå.</p>
  117.  
  118. <h2><a name="fun_cur_p">tl_cur_perv</a></h2>
  119. <p>Ïåðåíîñèò êóðñîð íà îäíó ïîçèöèþ âûøå.</p>
  120.  
  121. <h2><a name="fun_clo_opn">tl_node_close_open</a></h2>
  122. <p>Îòêðûâàåò èëè çàêðûâàåò ðîäèòåëüñêèé óçåë. Åñëè ó óçëà íåò äî÷åðíèõ ýëåìåíòîâ,
  123.  òî íè÷åãî íå äåëàåò. Àâòîìàòè÷åñêè ïåðåðèñîâûâàåò îêíî åñëè ñîñòîÿíèå óçëà èçìåíèëîñü.</p>
  124.  
  125. <h2><a name="fun_lev_i">tl_node_lev_inc</a></h2>
  126. <p>Äîáàâèòü óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë äî÷åðíèì.</p>
  127.  
  128. <h2><a name="fun_lev_d">tl_node_lev_dec</a></h2>
  129. <p>Óìåíüøàåò óðîâåíü óçëà ïîä êóðñîðîì. Äåëàåò óçåë ðîäèòåëüñêèì.</p>
  130.  
  131. <h2><a name="fun_mov_u">tl_node_move_up</a></h2>
  132. <p>Ïåðåìåùàåò ââåðõ óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  133. <pre>   push dword tree1
  134.         call dword[tl_node_move_up] ;ïåðåìåñòèòü óçåë</pre>
  135. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list</p>
  136.  
  137. <h2><a name="fun_mov_d">tl_node_move_down</a></h2>
  138. <p>Ïåðåìåùàåò âíèç óçåë ïîä êóðñîðîì. Âìåñòå ñ óçëîì äâèãàåòñÿ òàêæå è êóðñîð. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  139. <pre>   push dword tree1
  140.         call dword[tl_node_move_down] ;ïåðåìåñòèòü óçåë</pre>
  141. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list</p>
  142.  
  143. <h2><a name="fun_poi_gi">tl_node_poi_get_info</a></h2>
  144. <p>Áåðåò âíóòðåííèé óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  145. <pre>   stdcall dword[tl_node_poi_get_info], tree1, 0</pre>
  146. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  147. <b>0</b> - ïîçèöèÿ óçëà, ñ êîòîðîãî áåðåòñÿ óêàçàòåëü;
  148. <b>eax</b> - óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë.</p>
  149. <p><b>Çàìå÷àíèå.</b> Åñëè óçåë ñ óêàçàííûì èíäåêñîì íå íàéäåí, â óêàçàòåëå âîçâðàùàåòñÿ 0.</p>
  150.  
  151. <h2><a name="fun_poi_gni">tl_node_poi_get_next_info</a></h2>
  152. <p>Áåðåò óêàçàòåëü íà ñëåäóþùèé ýëåìåíò â öåïè, áåç ó÷åòà îòêðûòèÿ/çàêðûòèÿ äî÷åðíèõ óçëîâ. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  153. <pre>   stdcall dword[tl_node_poi_get_next_info], tree1, eax</pre>
  154. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  155. <b>eax</b> - äî âûçîâà ôóíêöèè óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë, ïîñëå âûçîâà óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ ñëåäóùèé óçåë â öåïè.</p>
  156. <p><b>Çàìå÷àíèå.</b> Åñëè ñëåäóùèé óçåë íå íàéäåí, â óêàçàòåëå âîçâðàùàåòñÿ 0.</p>
  157.  
  158. <h2><a name="fun_poi_gd">tl_node_poi_get_data</a></h2>
  159. <p>Áåðåò óêàçàòåëü íà äàííûå (ïîëüçîâàòåëüñêèå è ïîäïèñü) èç óçëà óêàçàííîãî â óêàçàòåëå. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  160. <pre>   stdcall dword[tl_node_poi_get_data], tree1,esi</pre>
  161. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  162. <b>esi</b> - óêàçàòåëü íà ñòðóêòóðó îïèñûâàþùóþ óçåë;
  163. <b>eax</b> - óêàçàòåëü íà äàííûå óçëà, îïèñàííîãî â esi.</p>
  164. <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> ìîæíî ñ÷èòûâàòü èíôîðìàöèþ î óçëàõ ýëåìåíòà, ïðè ýòîì íå ìåíÿÿ òåêóùåãî ïîëîæåíèÿ êóðñîðà. Ò. å. ìîæíî îðãàíèçîâàòü äîñòóï ê äàíûì ýëåìåíòà â &quot;ôîíîâîì ðåæèìå&quot;.</p>
  165.  
  166. <h2><a name="fun_sme">tl_save_mem</a></h2>
  167. <p>Ñîõðàíÿåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà â ïàìÿòü. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  168. <pre>   MEM_SIZE equ 5000
  169.         node_data rb MEM_SIZE
  170. .........
  171.         stdcall dword[tl_save_mem], tree1, 0, node_data, MEM_SIZE</pre>
  172. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  173.  <b>0</b> - îïöèÿ ñîõðàíåíèÿ â íà÷àëî áëîêà ïàìÿòè (åñëè = 1, òî äîáàâëÿåò ýëåìåíò ïîñëå äðóãèõ ñîõðàíåííûõ ðàíåå);
  174.  <b>node_data</b> - óêàçàòåëü íà áëîê ïàìÿòè;
  175.  <b>MEM_SIZE</b> - ðàçìåð áëîêà ïàìÿòè äëÿ ñîõðàíåíèÿ.
  176.  ðåãèñòð <b>eax</b> ïèøåòñÿ çíà÷åíèå 0 èëè çàïèñûâàþòñÿ êîäû îøèáîê ñîõðàíåíèÿ.</p>
  177.  
  178. <h2><a name="fun_lme">tl_load_mem</a></h2>
  179. <p>Çàãðóæàåò èíôîðìàöèþ îá óçëàõ ýëåìåíòà èç ïàìÿòè. Ïðèìåð èñïîëüçîâàíèÿ ôóíêöèè:</p>
  180. <pre>   MEM_SIZE equ 5000
  181.         node_data rb MEM_SIZE
  182. .........
  183.         stdcall dword[tl_load_mem], tree1, 0, node_data, MEM_SIZE</pre>
  184. <p>ãäå: <b>tree1</b> - ñòðóêòóðà tree_list;
  185.  <b>0</b> - èíäåêñ ñ÷èòûâàåìîãî ýëåìåíòà;
  186.  <b>node_data</b> - óêàçàòåëü íà áëîê ïàìÿòè;
  187.  <b>MEM_SIZE</b> - ðàçìåð áëîêà ïàìÿòè äëÿ ñîõðàíåíèÿ.
  188.  ðåãèñòð <b>eax</b> ïèøåòñÿ çíà÷åíèå 0 èëè çàïèñûâàþòñÿ êîäû îøèáîê ñ÷èòûâàíèÿ.</p>
  189.  
  190. <h2><a name="fun_gme">tl_get_mem_size</a></h2>
  191. <p>Âû÷èñëÿåò ðàçìåð áëîêà ïàìÿòè (â êîòîðûé áûëè ðàíüøå ñîõðàíåíû ýëåìåíòû).
  192.  Ýòó ôóíêöèþ ìîæíî èñïîëüçîâàòü ïåðåä ñîõðàíåíèåì íà äèñê, äëÿ ïîëó÷åíèÿ òî÷íîãî ðàçìåðà ñîõðàíÿåìûõ äàííûõ. Ïðèìåð:</p>
  193. <pre>   MEM_SIZE equ 5000
  194.         node_data rb MEM_SIZE
  195. .........
  196.         ;ñîõðàíÿåì äàííûå â 'node_data'
  197.         stdcall dword[tl_save_mem], tree1, 0, node_data, MEM_SIZE
  198.         pop eax ;êîä îøèáêè
  199. .........
  200.         ;ïîëó÷àåì ðàçìåð äàííûõ â 'node_data'
  201.         stdcall dword[tl_get_mem_size], tree1, node_data
  202.         pop ecx ;ðàçìåð äàííûõ, äîëæåí áûòü &lt;= MEM_SIZE</pre>
  203.  
  204. <h2><a name="version">version_tree_list</a></h2>
  205. <p>Âåðñèÿ ýëåìåíòà</p>
  206.  
  207. <h1><a name="struc_tree_list">Ñòðóêòóðà tree_list</a></h1>
  208. <pre>struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
  209.         col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
  210.         info_capt_len,el_focus, p_scroll,on_press
  211. {
  212. .box_left    dd box_l
  213. .box_top     dd box_t
  214. .box_width   dd box_w
  215. .box_height  dd box_h
  216. .data_info   dd 0
  217. .info_size   dw info_size
  218. .info_max_count dd info_max_count
  219. .style       dd style
  220. .data_nodes  dd 0
  221. .data_img    dd 0
  222. .img_cx      dw img_cx
  223. .img_cy      dw img_cy
  224. .data_img_sys dd 0
  225. .ch_tim      dd 0
  226. .tim_undo    dd 0
  227. .cur_pos     dd 0
  228. .col_bkg     dd col_bkg
  229. .col_zag     dd col_zag
  230. .col_txt     dd col_txt
  231. .capt_cy     dw capt_cy
  232. .info_capt_offs dw info_capt_offs
  233. .info_capt_len dw info_capt_len
  234. .el_focus    dd el_focus
  235. .p_scroll    dd p_scroll
  236. .on_press    dd on_press
  237. }</pre>
  238. <p><b>info_size</b> - êîëè÷åñòâî áàéò, êîòîðîå áóäåò âûäåëåíî äëÿ êàæäîãî óçëà. ×àñòü ýòîé ïàìÿòè ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü äëÿ ñâîèõ öåëåé (ðåãóëèðóåòñÿ ÷åðåç <i>info_capt_offs</i> è <i>info_capt_len</i> ñì. ðèñ. 2) à îñòàëüíàÿ ÷àñòü áóäåò èñïîëüçîâàíà êàê ïîäïèñü óçëà.</p>
  239. <p><b>info_max_count</b> - ìàêñèìàëüíîå êîëè÷åñòâî óçëîâ, êîòîðûå ìîæíî äîáàâèòü â ýëåìåíò.</p>
  240. <p><b>style</b> - ñòèëè ýëåìåíòà.</p>
  241. <p><b>data_nodes</b> - óêàçàòåëü íà âíóòðåííèå ñòðóêòóðû óçëîâ (<i>TreeList</i>).</p>
  242. <p><b>data_img</b> - óêàçàòåëü íà èçîáðàæåíèÿ ñ èêîíêàìè óçëîâ. Ôîðìàò èçîáðàæåíèÿ òàêîé æå êàê è â ñèñò. ô. 7: <i>BBGGRRBBGGRR...</i>.</p>
  243. <p><b>img_cx</b> - øèðèíà îäíîé èêîíêè.</p>
  244. <p><b>img_cy</b> - âûñîòà îäíîé èêîíêè.</p>
  245. <p><b>data_img_sys</b> - óêàçàòåëü íà ñèñòåìíûå èçîáðàæåíèÿ (êóðñîð, ïëþñèêè, ëèíèè, ... âñå êðîìå èêîíîê óçëîâ). Ôîðìàò èçîáðàæåíèÿ òàêîé æå êàê è â ñèñò. ô. 7: <i>BBGGRRBBGGRR...</i></p>
  246. <p><b>col_bkg</b> - öâåò ôîíà.</p>
  247. <p><b>col_zag</b> - öâåò ñòðîêè çàãîëîâêà (åñëè îíà çàäàíà) è êíîïîê è ïîëçóíêà âåðòèêàëüíîé ïîëîñû ïðîêðóòêè (åñëè îíà åñòü).</p>
  248. <p><b>col_txt</b> - öâåò òåêñòà.</p>
  249. <p><b>capt_cy</b> - âûñîòà ñòðîêè äëÿ ïîäïèñè ââåðõó ýëåìåíòà, åñëè ìåíüøå 9 ïîäïèñü íå âûâîäèòñÿ.</p>
  250. <p><b>info_capt_len</b> - äëèííà òåêñòà äëÿ ïîäïèñè. Åñëè ðàâíî 0, òî äëèííà ñ÷èòàåòñÿ òàê: <i>info_size - info_capt_offs</i>.</p>
  251. <p><b>p_scroll</b> - óêàçàòåëü íà ñòðóêòóðó ñêðîëëèíãà, ñâÿçàííîãî ñ äàííûì ýëåìåíòîì.</p>
  252. <p><b>on_press</b> - óêàçàòåëü íà ôóíêöèþ, êîòîðàÿ áóäåò âûçâàíà ïðè íàæàòèè [<b>Enter</b>]. Åñëè óêàçàòåëü ðàâåí 0 òî íè÷åãî íå áóäåò âûçûâàòüñÿ.</p>
  253.  
  254. <p><img src="info_size.png"></p>
  255. <p>Ðèñ. 2. Ïàðàìåòðû <i>info_size</i>, <i>info_capt_offs</i> è <i>info_capt_len</i> â óçëå</p>
  256.  
  257. <p>Ïðèìåð ñîçäàíèÿ ñòðóêòóðû:</p>
  258. <pre>tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
  259.         0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
  260.         el_focus, wScr,fun_on_enter</pre>
  261.  
  262. <h1><a name="tree_list_styles">Ñòèëè ýëåìåíòà</a></h1>
  263. <h2>tl_key_no_edit</h2>
  264. <p>Ýëåìåíò íåëüçÿ ðåäàêòèðîâàòü íà êëàâèàòóðå (èçìåíÿòü óðîâíè, óäàëÿòü). Ñòàâüòå ýòîò ñòèëü åñëè íóæíî ñîçäàòü ýëåìåíò òîëüêî äëÿ ïðîñìîòðà äàííûõ.</p>
  265. <h2>tl_draw_par_line</h2>
  266. <p>Ðèñîâàòü ëèíèè ê ðîäèòåëüñêîìó óçëó.</p>
  267. <h2>tl_list_box_mode</h2>
  268. <p>Ñòèëü íå îòîáðàæàåò óðîâíè (êàê â ListBox âñå óçëû îäíîãî óðîâíÿ).</p>
  269.  
  270. <hr>
  271. <p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.11.15.</p>
  272. </body>
  273. </html>