Rev 1374 | Rev 1634 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1374 | IgorA | 1 | |
2 | |||
3 |
|
||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 |
|
||
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | |||
27 | |||
28 | |||
29 | |||
30 | |||
31 | |||
32 | |||
33 | |||
34 | |||
35 | |||
36 | |||
37 | |||
38 | |||
39 | |||
40 | |||
41 | |||
42 | |||
43 | |||
44 |
|
||
45 |
|
||
46 | |||
47 |
|
||
48 | |||
49 |
|
||
50 | |||
51 |
|
||
52 |
|
||
53 |
|
||
54 |
|
||
55 | |||
56 |
|
||
57 |
|
||
58 | |||
59 |
|
||
60 |
|
||
61 | Кнопки, которые не доступны если есть стиль tl_key_no_edit: [Enter], [Delete], [←], [→]. |
||
62 | Всегда доступны: [↑], [↓], [Page Up], [Page Dn], [Space]. |
||
63 | Функция проверяет включен ли режим scan кодов, и в случае необходимости сама преобразует коды. |
||
64 | |||
65 |
|
||
66 |
|
||
67 | |||
68 |
|
||
69 |
|
||
70 | |||
71 |
|
||
72 |
|
||
73 | |||
74 |
|
||
75 |
|
||
76 | |||
77 |
|
||
78 |
|
||
79 | push dword tree1 |
||
80 | push dword 0x10002 |
||
81 | push dword data_buffer |
||
82 | call dword[tl_node_add] |
||
83 |
|
||
84 | 0x10002 - параметры узла (старшие байты 0x0001 - индекс иконки, отображаемой возле узла; меньший байт 0x02 - уровень вложености узла); data_buffer - указатель на дынные, добавляемые в узел. |
||
85 | |||
86 |
|
||
87 |
|
||
88 | |||
89 |
|
||
90 |
|
||
1609 | IgorA | 91 |
|
92 | stdcall [tl_node_get_data], tree1 |
||
93 | pop eax |
||
94 |
|
||
95 | eax - указатель на дынные узла. |
||
1374 | IgorA | 96 | |
1609 | IgorA | 97 |
|
98 | NODE_SIZE equ 200 |
||
99 | node_data rb NODE_SIZE |
||
100 | ......... |
||
101 | push ecx esi edi |
||
102 | stdcall [tl_node_get_data], tree1 |
||
103 | pop esi |
||
104 | mov edi,node_data |
||
105 | mov ecx,NODE_SIZE |
||
106 | cld |
||
107 | rep movsb |
||
108 | pop edi esi ecx |
||
109 |
|
||
110 | NODE_SIZE - размер дынных узла; |
||
111 | node_data - копия на дынных узла. |
||
112 | |||
1374 | IgorA | 113 |
|
114 |
|
||
115 | |||
116 |
|
||
117 |
|
||
118 | |||
119 |
|
||
120 |
|
||
121 | |||
122 |
|
||
123 |
|
||
124 | |||
125 |
|
||
126 |
|
||
127 | то ничего не делает. Автоматически перерисовывает окно если состояние узла изменилось. |
||
128 | |||
129 |
|
||
130 |
|
||
131 | |||
132 |
|
||
133 |
|
||
134 | |||
135 |
|
||
136 |
|
||
137 | push dword tree1 |
||
138 | call dword[tl_node_move_up] ;переместить узел |
||
139 |
|
||
140 | |||
141 |
|
||
142 |
|
||
143 | push dword tree1 |
||
144 | call dword[tl_node_move_down] ;переместить узел |
||
145 |
|
||
146 | |||
147 |
|
||
148 |
|
||
149 |
|
||
150 |
|
||
151 |
|
||
152 |
|
||
153 | |||
154 |
|
||
155 | |||
156 |
|
||
157 |
|
||
158 | MEM_SIZE equ 5000 |
||
159 | node_data rb MEM_SIZE |
||
160 | ......... |
||
161 | push dword tree1 |
||
162 | push dword 0 |
||
163 | push dword node_data |
||
164 | push dword MEM_SIZE |
||
165 | call dword[tl_save_mem] |
||
166 | pop eax |
||
167 |
|
||
168 | 0 - опция сохранения в начало блока памяти (если = 1, то добавляет элемент после других сохраненных ранее); |
||
169 | node_data - указатель на блок памяти; |
||
170 | MEM_SIZE - размер блока памяти для сохранения. |
||
171 | В регистр eax пишется значение 0 или записываются коды ошибок сохранения. |
||
172 | |||
173 |
|
||
174 |
|
||
175 | MEM_SIZE equ 5000 |
||
176 | node_data rb MEM_SIZE |
||
177 | ......... |
||
178 | push dword tree1 |
||
179 | push dword 0 |
||
180 | push dword node_data |
||
181 | push dword MEM_SIZE |
||
182 | call dword[tl_load_mem] |
||
183 | pop eax |
||
184 |
|
||
185 | 0 - индекс считываемого элемента; |
||
186 | node_data - указатель на блок памяти; |
||
187 | MEM_SIZE - размер блока памяти для сохранения. |
||
188 | В регистр eax пишется значение 0 или записываются коды ошибок считывания. |
||
189 | |||
190 |
|
||
191 |
|
||
192 | Эту функцию можно использовать перед сохранением на диск, для получения точного |
||
193 | размера сохраняемых данных. |
||
194 | |||
195 |
|
||
196 |
|
||
197 | |||
198 |
|
||
199 | struc tree_list info_size,info_max_count,style, img_cx,img_cy,\ |
||
200 | col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\ |
||
201 | info_capt_len,el_focus, p_scrol,on_press { |
||
202 | .data_info dd 0 |
||
203 | .info_size dw info_size |
||
204 | .info_max_count dd info_max_count |
||
205 | .style dd style |
||
206 | .data_nodes dd 0 |
||
207 | .data_img dd 0 |
||
208 | .img_cx dw img_cx |
||
209 | .img_cy dw img_cy |
||
210 | .data_img_sys dd 0 |
||
211 | .ch_tim dd 0 |
||
212 | .ls_tim dd 0 |
||
213 | .tim_undo dd 0 |
||
214 | .cur_pos dd 0 |
||
215 | .col_bkg dd col_bkg |
||
216 | .col_zag dd col_zag |
||
217 | .col_txt dd col_txt |
||
218 | .box_left dd box_l |
||
219 | .box_top dd box_t |
||
220 | .box_width dd box_w |
||
221 | .box_height dd box_h |
||
222 | .capt_cy dw capt_cy |
||
223 | .info_capt_offs dw info_capt_offs |
||
224 | .info_capt_len dw info_capt_len |
||
225 | .el_focus dd el_focus |
||
226 | .p_scrol dd p_scrol |
||
227 | rb 4 |
||
228 | .on_activate dd 0 |
||
229 | .on_press dd on_press |
||
230 | } |
||
231 |
|
||
232 |
|
||
233 |
|
||
234 |
|
||
235 |
|
||
236 |
|
||
237 |
|
||
238 |
|
||
239 |
|
||
240 |
|
||
241 | |||
242 | |||
243 |
|
||
244 | |||
245 |
|
||
246 | tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\ |
||
247 | 0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\ |
||
248 | el_focus, wScr,fun_on_enter |
||
249 | |||
250 |
|
||
251 |
|
||
252 |
|
||
253 |
|
||
254 |
|
||
255 |
|
||
256 |
|
||
257 | |||
258 | |||
1609 | IgorA | 259 |
|
1374 | IgorA | 260 | |
261 |