Rev 3089 | Rev 3204 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1432 | mario79 | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;Basic macros for use EditBox ; |
||
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
4 | ed_width equ [edi] ;ширина компонента |
||
5 | ed_left equ [edi+4] ;положение по оси х |
||
6 | ed_top equ [edi+8] ;положение по оси у |
||
7 | ed_color equ [edi+12] ;цвет фона компонента |
||
8 | shift_color equ [edi+16] ;=0x6a9480 для примера возьем желеный цвет бокса |
||
9 | ed_focus_border_color equ [edi+20] ;цвет рамки компонента |
||
10 | ed_blur_border_color equ [edi+24] ;цвет не активного компонента |
||
11 | ed_text_color equ [edi+28] ;цвет текста |
||
12 | ed_max equ [edi+32] ;кол-во символов которые можно максимально ввести |
||
13 | ed_text equ [edi+36] ;указатель на буфер |
||
14 | ed_mouse_variable equ [edi+40] ; указатель на переменную для бокса/группы |
||
15 | ed_flags equ [edi+44] ;флаги |
||
16 | bp_flags equ [ebp+44] ;в некоторых процедурах edi используется, взамен указатель храниться в ebp |
||
17 | ed_size equ [edi+48] ;кол-во символов |
||
18 | bp_size equ [ebp+48] ;кол-во симвполов, для адресации испльзуется ebpб edi занят |
||
19 | ed_pos equ [edi+52] ;позиция курсора |
||
20 | ed_offset equ [edi+56] ;смещение |
||
21 | cl_curs_x equ [edi+60] ;предыдущее координата курсора по х |
||
22 | cl_curs_y equ [edi+64] ;предыдущее координата курсора по у |
||
23 | ed_shift_pos equ [edi+68] ;положение курсора |
||
24 | ed_shift_pos_old equ [edi+72] ;старое положение курсора |
||
25 | |||
26 | ed_struc_size=76 |
||
27 | |||
28 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
29 | ;Bit mask from editbox |
||
30 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
31 | ed_figure_only= 1000000000000000b ;одни символы |
||
32 | ed_always_focus= 100000000000000b |
||
33 | ed_focus= 10b ;фокус приложения |
||
3089 | IgorA | 34 | ed_pass= 1b ;поле с паролем |
1432 | mario79 | 35 | ed_shift_on= 1000b ;если не установлен -значит впервые нажат shift,если был установлен, значит мы уже что - то делали удерживая shift |
36 | ed_shift_on_off=1111111111110111b |
||
37 | ed_shift= 100b ;включается при нажатии на shift т.е. если нажимаю |
||
38 | ed_shift_off= 1111111111111011b |
||
39 | ed_shift_bac= 10000b ;бит для очистки выделеного shift т.е. при установке говорит что есть выделение |
||
40 | ed_shift_bac_cl=1111111111101111b ;очистка при удалении выделения |
||
41 | ed_shift_cl= 1111111111100011b |
||
42 | ed_shift_mcl= 1111111111111011b |
||
43 | ed_left_fl= 100000b |
||
44 | ed_right_fl= 1111111111011111b |
||
45 | ed_offset_fl= 1000000b |
||
46 | ed_offset_cl= 1111111110111111b |
||
47 | ed_insert= 10000000b |
||
48 | ed_insert_cl= 1111111101111111b |
||
49 | ed_mouse_on = 100000000b |
||
50 | ed_mous_adn_b= 100011000b |
||
51 | ed_mouse_on_off=1111111011111111b |
||
52 | ed_height=14 ; высота |
||
53 | |||
54 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
||
55 | blur_border_color,text_color,max,text,mouse_variable,flags,size,pos |
||
56 | { |
||
57 | .width dd width |
||
58 | .left dd left |
||
59 | .top dd top |
||
60 | .color dd color |
||
61 | .shift_color dd shift_color |
||
62 | .focus_border_color dd focus_border_color |
||
63 | .blur_border_color dd blur_border_color |
||
64 | .text_color dd text_color |
||
65 | .max dd max |
||
66 | .text dd text |
||
67 | .mouse_variable dd mouse_variable |
||
68 | .flags dd flags+0 |
||
69 | .size dd size+0 |
||
70 | .pos dd pos+0 |
||
71 | .offset dd 0 |
||
72 | .cl_curs_x dd 0 |
||
73 | .cl_curs_y dd 0 |
||
74 | .shift dd 0 |
||
75 | .shift_old dd 0 |
||
76 | } |
||
77 | |||
78 | macro edit_boxes_set_sys_color start,end,color_table |
||
79 | { |
||
80 | mov edi,start |
||
81 | mov ecx,((end-start)/ed_struc_size) |
||
82 | mov esi,color_table |
||
83 | @@: |
||
2159 | IgorA | 84 | mov eax,dword [esi+36] ;цвет графики в окне (разделительные линии и т.п.) |
85 | mov ebx,dword [esi+20] ;цвет рабочей области окна |
||
1432 | mario79 | 86 | push dword eax |
87 | pop dword ed_focus_border_color |
||
88 | shr bh,1 |
||
89 | shr bl,1 |
||
90 | shr ah,1 |
||
91 | shr al,1 |
||
92 | add ah,bh |
||
93 | add al,bl |
||
94 | ror eax,16 |
||
95 | ror ebx,16 |
||
96 | shr bl,1 |
||
97 | shr al,1 |
||
98 | add al,bl |
||
99 | ror eax,16 |
||
100 | mov dword ed_blur_border_color,eax |
||
101 | mov dword shift_color,eax |
||
2159 | IgorA | 102 | push dword [esi+32] ;цвет текста в рабочей области окна |
103 | pop dword ed_text_color |
||
1432 | mario79 | 104 | add edi,ed_struc_size |
105 | loop @b |
||
106 | } |
||
3178 | IgorA | 107 | |
108 | |||
1432 | mario79 | 109 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
110 | ;Basic macros for use CheckBox ; |
||
3178 | IgorA | 111 | ;Last change 17.01.2013 ; |
1432 | mario79 | 112 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3178 | IgorA | 113 | ch_text_margin equ [edi+8] ;=4 расстояние от прямоугольника чек бокса до надписи |
1640 | Lrz | 114 | ch_color equ [edi+12] ;цвет внутри checkbox |
115 | ch_border_color equ [edi+16] ; or [edi+4] ;цвет рамки checkbox ее можно задать самостоятельно |
||
116 | ch_text_color equ [edi+20] ;[edi+4] ;цвет текста |
||
117 | ch_text_ptr equ [edi+24] ;указатель на начало текстовой строки |
||
3178 | IgorA | 118 | ch_flags equ [edi+28] ;флаги |
1432 | mario79 | 119 | |
1682 | lrz | 120 | ch_struc_size=36 ;размер структуры |
121 | ch_flag_en=10b ;флаг установленного чек бокса. |
||
122 | ch_flag_top=0x0 ;флаг расположения текста вверху т.е. 3-й бит |
||
123 | ch_flag_middle=100b ;флаг расположения текста в центре т.е. 4-й бит. |
||
124 | ch_flag_bottom=1000b ;флаг расположения текста в низу т.е. по умолчанию принимается значение внизу т.е. отсуствие 3-го и 4-го бита |
||
125 | |||
126 | 2ch_left_s equ [ebp] ;кордината начала рисования по х |
||
127 | 2ch_top_s equ [ebp+4] ;координата начала рисования по у |
||
128 | 2ch_text_margin equ [ebp+8] ;=4 расстояние от прямоугольника чек бокса до надписи |
||
129 | 2ch_color equ [ebp+12] ;цвет внутри checkbox |
||
130 | 2ch_border_color equ [ebp+16] ; or [edi+4] ;цвет рамки checkbox ее можно задать самостоятельно |
||
131 | 2ch_text_color equ [ebp+20] ;[edi+4] ;цвет текста |
||
132 | 2ch_text_ptr equ [ebp+24] ;указатель на начало текстовой строки |
||
133 | 2ch_flags equ [ebp+28] ;флаги |
||
134 | 2ch_sz_str equ [ebp+32] ;длинна строки, вычисляется при инициализации компонента |
||
135 | |||
136 | struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags |
||
137 | { ;структура параметров для чек бокса |
||
138 | .left_s: dd left_s ;+0 положение по х dw + размер dw |
||
139 | .top_s: dd top_s ;+4 положение по у dw + размер dw |
||
140 | .ch_text_margin: dd ch_text_margin ;расстояние от прямоугольника чек бокса до надписи |
||
141 | .color: dd color ;цвет внутри чекбокса |
||
142 | .border_color: dd border_color ;цвет рамки |
||
143 | .text_color: dd text_color ;цвет надписи |
||
144 | .text: dd text ;адрес в коде программы где расположен текст |
||
145 | .flags: dd flags+0 ;флаги |
||
146 | .size_of_str: dd 0x0 ;длинна строки, вычисляется при инициализации компонента |
||
147 | } |
||
148 | |||
149 | ;Макрос проверки щелчка мышки над группой checkboxes. |
||
3178 | IgorA | 150 | macro init_checkboxes2 start,end_cb |
1682 | lrz | 151 | { |
3178 | IgorA | 152 | if start+ch_struc_size eq end_cb |
153 | ;когда один элемент |
||
154 | push start ;указатель на checkbox |
||
155 | call [init_checkbox] ;настройка checkbox'а |
||
156 | else |
||
157 | ;когда несколько элементов |
||
1682 | lrz | 158 | mov ebp,start |
3178 | IgorA | 159 | mov ecx,((end_cb-start)/ch_struc_size) |
1682 | lrz | 160 | @@: |
161 | push ebp ;указатель на первый checkbox |
||
3178 | IgorA | 162 | call [init_checkbox] ;настройка checkbox'ов |
1682 | lrz | 163 | add ebp,ch_struc_size |
164 | loop @b |
||
3178 | IgorA | 165 | end if |
1682 | lrz | 166 | } |
167 | |||
168 | ;Макрос проверки мышки группы checkboxes. |
||
3178 | IgorA | 169 | macro checkboxes_mouse2 start,end_cb |
1682 | lrz | 170 | { |
3178 | IgorA | 171 | if start+ch_struc_size eq end_cb |
172 | ;когда один элемент |
||
173 | push start ;указатель на checkbox |
||
174 | call [check_box_mouse] ;макрос проверки мышки над checkbox'ом |
||
175 | else |
||
176 | ;когда несколько элементов |
||
1682 | lrz | 177 | mov ebp,start |
3178 | IgorA | 178 | mov ecx,((end_cb-start)/ch_struc_size) |
1682 | lrz | 179 | @@: |
180 | push ebp ;указатель на первый checkbox |
||
3178 | IgorA | 181 | call [check_box_mouse] ;макрос проверки мышки над checkbox'ами |
1682 | lrz | 182 | add ebp,ch_struc_size |
183 | loop @b |
||
3178 | IgorA | 184 | end if |
1682 | lrz | 185 | } |
186 | |||
187 | ;Макрос отрисовки группы checkboxes. |
||
3178 | IgorA | 188 | macro checkboxes_draw2 start,end_cb |
1682 | lrz | 189 | { |
3178 | IgorA | 190 | if start+ch_struc_size eq end_cb |
191 | ;когда один элемент |
||
192 | push start ;указатель на checkbox |
||
193 | call [check_box_draw] ;нарисовать checkbox |
||
194 | else |
||
195 | ;когда несколько элементов |
||
1682 | lrz | 196 | mov ebp,start |
3178 | IgorA | 197 | mov ecx,((end_cb-start)/ch_struc_size) |
1682 | lrz | 198 | @@: |
199 | push ebp ;указатель на первый checkbox |
||
3178 | IgorA | 200 | call [check_box_draw] ;нарисовать checkbox'ы |
1682 | lrz | 201 | add ebp,ch_struc_size |
202 | loop @b |
||
3178 | IgorA | 203 | end if |
1682 | lrz | 204 | } |
205 | |||
206 | macro check_boxes_set_sys_color2 start,end,color_table |
||
207 | { |
||
208 | mov ebp,start |
||
209 | mov ecx,((end-start)/ch_struc_size) |
||
210 | mov esi,color_table |
||
211 | @@: |
||
212 | push dword [esi+32] ;цвет текста в рабочей области окна |
||
1685 | lrz | 213 | or dword [esp],0x80000000 ;необходимо для вывода ASCIIZ строк |
214 | pop dword 2ch_text_color |
||
1682 | lrz | 215 | push dword [esi+36] ;цвет графики в окне (разделительные линии и т.п.) |
1685 | lrz | 216 | pop dword 2ch_border_color |
1682 | lrz | 217 | add ebp,ch_struc_size |
218 | loop @b |
||
219 | } |
||
220 | |||
221 | |||
222 | |||
223 | |||
224 | |||
225 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
1432 | mario79 | 226 | ;Basic macros for use OptionBox ; |
227 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
228 | |||
229 | struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags |
||
230 | { ;структура параметров для чек бокса |
||
231 | op_flag_en=10b |
||
232 | .option_group: dd point_gr |
||
233 | .left: dw left ;+0 ;положение по х |
||
234 | .top: dw top ;положение по у |
||
235 | .ch_text_margin: dd op_text_margin ;расстояние от прямоугольника чек бокса до надписи |
||
236 | .ch_size: dd op_size ;размер квадрата чек бокса, для примера 12 |
||
237 | .color: dd color ;цвет внутри чекбокса |
||
238 | .border_color: dd border_color ;цвет рамки |
||
239 | .text_color: dd text_color ;цвет надписи |
||
240 | .text: dd text ;адрес в коде программы где расположен текст |
||
241 | .ch_text_length: dd op_text_length ;длинна строки с символами |
||
242 | .flags: dd flags+0 ; флаги |
||
243 | } |
||
244 | |||
2159 | IgorA | 245 | ;op_struc_size equ |
1476 | IgorA | 246 | option_group equ [edi] |
247 | op_left equ [edi+4] ;координата начала рисования по х |
||
248 | op_top equ [edi+6] ;координата начала рисования по у |
||
249 | op_text_margin equ [edi+8] ;=4 расстояние от прямоугольника чек бокса до надписи |
||
250 | op_size equ [edi+12] ;12 размер квадрата чек бокса |
||
251 | op_color equ [edi+16] |
||
2159 | IgorA | 252 | op_border_color equ [edi+20] ; or [edi+4] ;цвет рамки optionbox ее можно задать самостоятельно |
1476 | IgorA | 253 | op_text_color equ [edi+24];[edi+4] ;цвет текста |
254 | op_text_ptr equ [edi+28] ;указатель на начало текстовой строки |
||
255 | op_text_length equ [edi+32] |
||
256 | op_flags equ [edi+36] ;флаги |
||
257 | |||
2159 | IgorA | 258 | macro option_boxes_set_sys_color color_table,group |
259 | { |
||
260 | mov ecx,group |
||
261 | mov esi,color_table |
||
262 | mov edi,[ecx] |
||
263 | mov eax,[esi+24] ;цвет кнопки в рабочей области окна |
||
264 | mov ebx,[esi+28] ;цвет текста на кнопке |
||
265 | @@: |
||
266 | mov op_border_color,eax |
||
267 | mov op_color,ebx |
||
268 | push dword [esi+32] ;цвет текста в рабочей области окна |
||
269 | pop dword op_text_color |
||
270 | add ecx,4 |
||
271 | mov edi,[ecx] |
||
272 | cmp edi,0 |
||
273 | jne @b |
||
274 | } |
||
1457 | IgorA | 275 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
276 | ;Basic macros for use TreeList ; |
||
277 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
278 | |||
1432 | mario79 | 279 | struc tree_list info_size,info_max_count,style, img_cx,img_cy,\ |
280 | col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\ |
||
281 | info_capt_len,el_focus, p_scrol,on_press { |
||
282 | .data_info dd 0 |
||
283 | .info_size dw info_size |
||
284 | .info_max_count dd info_max_count |
||
285 | .style dd style |
||
286 | .data_nodes dd 0 |
||
287 | .data_img dd 0 |
||
288 | .img_cx dw img_cx |
||
289 | .img_cy dw img_cy |
||
290 | .data_img_sys dd 0 |
||
291 | .ch_tim dd 0 |
||
292 | .ls_tim dd 0 |
||
293 | .tim_undo dd 0 |
||
294 | .cur_pos dd 0 |
||
295 | .col_bkg dd col_bkg |
||
296 | .col_zag dd col_zag |
||
297 | .col_txt dd col_txt |
||
298 | .box_left dd box_l |
||
299 | .box_top dd box_t |
||
300 | .box_width dd box_w |
||
301 | .box_height dd box_h |
||
302 | .capt_cy dw capt_cy |
||
303 | .info_capt_offs dw info_capt_offs |
||
304 | .info_capt_len dw info_capt_len |
||
305 | .el_focus dd el_focus |
||
306 | .p_scrol dd p_scrol |
||
307 | rb 4 |
||
308 | .on_activate dd 0 |
||
309 | .on_press dd on_press |
||
310 | } |
||
311 | |||
1449 | IgorA | 312 | tl_info_size equ word[edi +4] ;размер данных выделяемых для каждого узла (пользовательськие данные + текст для подписи) |
313 | tl_info_max_count equ dword[edi+6] ;максимальное количество узлов, которые можно добавить в элемент |
||
314 | tl_style equ dword[edi+10] ;стили элемента |
||
315 | tl_data_nodes equ dword[edi+14] ;указатель на структуры узлов |
||
316 | tl_data_img equ dword[edi+18] ;указатель на изображения с иконками узлов |
||
317 | tl_img_cx equ word[edi+22] ;ширина иконок |
||
318 | tl_img_cy equ word[edi+24] ;высота иконок |
||
319 | tl_data_img_sys equ dword[edi+26] ;указатель на системные изображения (стрелки, плюсики) |
||
320 | tl_ch_tim equ dword[edi+30] ;количество изменений в файле |
||
321 | tl_tim_undo equ dword[edi+38] ;количество отмененных действий |
||
322 | tl_cur_pos equ dword[edi+42] ;позиция курсора |
||
323 | tl_col_bkg equ dword[edi+46] ;цвет фона |
||
324 | tl_col_zag equ dword[edi+50] ;цвет заголовка |
||
325 | tl_col_txt equ dword[edi+54] ;цвет текста |
||
326 | tl_box_left equ dword[edi+58] |
||
327 | tl_box_top equ dword[edi+62] |
||
328 | tl_box_width equ dword[edi+66] |
||
329 | tl_box_height equ dword[edi+70] |
||
330 | tl_capt_cy equ word[edi+74] ;высота подписи |
||
331 | tl_info_capt_offs equ word[edi+76] ;сдвиг для начала текста (подписи узла) |
||
332 | tl_info_capt_len equ word[edi+78] ;длинна текста подписи узла (если = 0 то до конца структуры) |
||
333 | tl_el_focus equ dword[edi+80] ;указатель на структуру элемента в фокусе |
||
334 | tl_p_scrol equ dword[edi+84] ;указатель на структуру скроллинга |
||
335 | tl_on_press equ dword[edi+96] ;указатель на функцию, которая вызывается при нажатии Enter |
||
336 | |||
337 | ;data_info dd ? ;+ 0 указатель на основные даные |
||
338 | ;ls_tim dd ? ;+34 время последнего сохранения |
||
339 | ;on_activate dd ? ;+92 указатель на функцию при активировании узла |
||
340 | |||
1432 | mario79 | 341 | ;константы стиля |
342 | tl_key_no_edit equ 1b ;элемент нельзя редактировать на клавиатуре (изменять уровни, удалять) |
||
343 | tl_draw_par_line equ 10b ;рисовать линии к родительскому узлу |
||
344 | tl_list_box_mode equ 100b ;стиль не отображает уровни (как в ListBox все одного уровня) |
||
345 | |||
346 | ;константы для функций |
||
347 | tl_err_save_memory_size equ 10b ;не хватает памяти для сохранения элемента |
||
348 | tl_err_load_caption equ 1b ;в памяти нет заголовка 'tree' |
||
349 | tl_err_load_info_size equ 100b ;не совпадает размер информационной структуры при открытии |
||
350 | tl_load_mode_add equ 0x20000 ;опция считывания в режиме добавления информации |
||
351 | tl_save_load_heder_size equ 26 ;размер заголовка для записи/чтения элементов |
||
1619 | IgorA | 352 | tl_offs_box equ 58 ;начало BOX структуры для tree_list |
1457 | IgorA | 353 | |
354 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
355 | ;Basic macros for use TextEditor ; |
||
356 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
357 | |||
358 | ted_wnd_l equ dword[edi+ 0] ;окно редактора: отступ слева |
||
359 | ted_wnd_t equ dword[edi+ 4] ;окно редактора: отступ сверху |
||
360 | ted_wnd_w equ dword[edi+ 8] ;окно редактора: ширина |
||
361 | ted_wnd_h equ dword[edi+12] ;окно редактора: высота |
||
362 | ted_rec_l equ dword[edi+16] ;ширина панели в окне |
||
363 | ted_rec_t equ dword[edi+20] ;высота панели в окне |
||
364 | ted_rec_w equ dword[edi+24] ;ширина символа (знакоместа) в окне |
||
365 | ted_rec_h equ dword[edi+28] ;высота символа (знакоместа) в окне |
||
366 | ted_drag_m equ byte[edi+32] ;выделение от мыши |
||
367 | ted_drag_k equ byte[edi+33] ;выделение от клавиатуры |
||
368 | ted_sel_x0 equ dword[edi+34] ;координата выделения x0 |
||
369 | ted_sel_y0 equ dword[edi+38] ;координата выделения y0 |
||
370 | ted_sel_x1 equ dword[edi+42] ;координата выделения x1 |
||
371 | ted_sel_y1 equ dword[edi+46] ;координата выделения y1 |
||
372 | ;запасные координаты выделения |
||
373 | ted_seln_x0 equ dword[edi+50] |
||
374 | ted_seln_y0 equ dword[edi+54] |
||
375 | ted_seln_x1 equ dword[edi+58] |
||
376 | ted_seln_y1 equ dword[edi+62] |
||
377 | |||
378 | ted_tex equ dword[edi+66] ;указатель на память для хранения текста |
||
379 | ted_tex_1 equ dword[edi+70] ;указатель на 1-ю стркутру символа |
||
380 | ted_tex_end equ dword[edi+74] ;указатель на последнюю структуру символа |
||
381 | ted_cur_x equ dword[edi+78] ;координата x курсора |
||
382 | ted_cur_y equ dword[edi+82] ;координата y курсора |
||
383 | ted_max_chars equ dword[edi+86] ;максимальное число символов в одном документе |
||
384 | ted_colors_text_count equ dword[edi+90] ;колличество цветов текста |
||
385 | ted_key_words_count equ dword[edi+94] ;колличество ключевых слов |
||
386 | ted_color_cursor equ dword[edi+98] ;цвет курсора |
||
387 | ted_color_wnd_capt equ dword[edi+102] ;цвет полей вокруг окна |
||
388 | ted_color_wnd_work equ dword[edi+106] ;цвет фона окна |
||
389 | ted_color_wnd_bord equ dword[edi+110] ;цвет текста на полях |
||
390 | ted_color_select equ dword[edi+114] ;цвет выделения |
||
391 | ted_color_cur_text equ dword[edi+118] ;цвет символа под курсором |
||
392 | ted_color_wnd_text equ dword[edi+122] ;цвет текста в окне |
||
393 | ted_syntax_file equ dword[edi+126] ;указатель на начало файла синтаксиса |
||
394 | ted_syntax_file_size equ dword[edi+130] ;максимальный размер файла синтаксиса |
||
395 | ted_text_colors equ dword[edi+134] ;указатель на массив цветов текста |
||
396 | ted_help_text_f1 equ dword[edi+138] ;указатель на текст справки (по нажатии F1) |
||
397 | ted_help_id equ dword[edi+142] ;идентификатор для справки |
||
398 | ted_key_words_data equ dword[edi+146] ;указатель на структуры ключевых слов TexColViv |
||
399 | ted_tim_ch equ dword[edi+150] ;колличество изменений в файле |
||
400 | ted_tim_undo equ dword[edi+154] ;колличество отмененных действий |
||
401 | ted_tim_ls equ dword[edi+158] ;время последнего сохранения |
||
402 | ted_tim_co equ dword[edi+162] ;время последней цветовой разметки |
||
403 | ted_el_focus equ dword[edi+166] ;указатель на переменную элемента в фокусе |
||
404 | ted_err_save equ byte[edi+170] ;ошибка сохранения файла |
||
405 | ted_panel_id equ byte[edi+171] ;номер открытой панели |
||
406 | ted_key_new equ byte[edi+172] ;символ, который будет добавлятся с клавиатуры |
||
407 | ted_symbol_new_line equ byte[edi+173] ;символ завершения строки |
||
408 | ted_scr_w equ dword[edi+174] ;вертикальный скроллинг |
||
409 | ted_scr_h equ dword[edi+178] ;горизонтальный скроллинг |
||
410 | ted_arr_key_pos equ dword[edi+182] ;указатель на массив позиций ключевых слов |
||
411 | ted_buffer equ dword[edi+186] ;указатель на буфер копирования/вставки |
||
412 | ted_buffer_find equ dword[edi+190] ;указатель на буфер для поиска |
||
413 | ted_cur_ins equ byte[edi+194] ;режим работы курсора (обычный или замена) |
||
414 | ted_mode_color equ byte[edi+195] ;режим выделения слов цветом (0-выкл. 1-вкл.) |
||
415 | ted_mode_invis equ byte[edi+196] ;режим показа непечатаемых символов |
||
416 | ted_gp_opt equ byte[edi+197] ;опции возвращаемые функцией ted_get_pos_by_cursor |
||
417 | ted_fun_on_key_ctrl_o equ dword[edi+198] ;указатель на функцию вызываемую при нажатии Ctrl+O (открытие файла) |
||
418 | ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (вызова/скрытия панели поиска) |
||
419 | ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (создание нового документа) |
||
420 | ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S |
||
421 | ted_buffer_size equ dword[edi+214] ;размер буфера копирования/вставки |
||
422 | ted_fun_find_err equ dword[edi+218] ;указатель на функцию вызываемую если поиск закончился неудачно |
||
2707 | IgorA | 423 | ;ted_fun_init_synt_err equ dword[edi+222] ;указатель на функцию вызываемую при ошибочном открытии файла синтаксиса |
1457 | IgorA | 424 | ted_fun_draw_panel_buttons equ dword[edi+226] ;указатель на функцию рисования панели с кнопками |
425 | ted_fun_draw_panel_find equ dword[edi+230] ;указатель на функцию рисования панели поиска |
||
426 | ted_fun_draw_panel_syntax equ dword[edi+234] ;указатель на функцию рисования панели синтаксиса |
||
427 | ted_fun_save_err equ dword[edi+238] ;указатель на функцию вызываемую если сохранение файла закончилось неудачно |
||
1464 | IgorA | 428 | ted_increase_size equ dword[edi+242] ;число символов на которые будет увечиваться память при нехватке |
429 | ted_ptr_free_symb equ dword[edi+246] ;указатель на свободную память, в которую можно добавлять символ (используется внутри элемента для ускорения вставки текста) |
||
1457 | IgorA | 430 | ;------------------------------------------------------------------------------ |
431 | ted_opt_ed_move_cursor equ 1 ;двигать курсор после добавления текста |
||
432 | ted_opt_ed_change_time equ 2 ;добавлять изменения при редактировании текста |
||
433 | ted_offs_sel equ 34 ;смещение структуры sel |
||
434 | ted_offs_seln equ 50 ;смещение структуры seln |
||
435 | ted_offs_count_colors equ 90 ;смещение переменной колличества цветов |
||
436 | ted_offs_key_new equ 172 |
||
437 | ted_offs_symbol_new_line equ 173 ;смещение символа новой строки |
||
438 | ;------------------------------------------------------------------------------ |
||
439 | |||
440 | |||
441 | |||
442 | ; *** scroll bar constant *** |
||
443 | sb_offs_size_x equ 0 |
||
444 | sb_offs_start_x equ 2 |
||
445 | sb_offs_size_y equ 4 |
||
446 | sb_offs_start_y equ 6 |
||
447 | sb_offs_max_area equ 16 |
||
448 | sb_offs_cur_area equ 20 |
||
449 | sb_offs_position equ 24 |
||
1458 | IgorA | 450 | sb_offs_bckg_col equ 28 |
451 | sb_offs_frnt_col equ 32 |
||
452 | sb_offs_line_col equ 36 |
||
1457 | IgorA | 453 | sb_offs_redraw equ 40 |
454 | sb_offs_delta2 equ 46 |
||
455 | sb_offs_all_redraw equ 80 |
||
456 | ;------------------------------------------------------------------------------ |