1) small update 'init_checkbox2' in 'box_lib.obj'

2) update 'kol_f_edit' now can create element 'checkbox2'

git-svn-id: svn://kolibrios.org@1720 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2010-12-18 10:13:51 +00:00
parent b70514e695
commit 88d9c9e6b1
8 changed files with 314 additions and 91 deletions

View File

@ -46,6 +46,36 @@ proc insert_text_prop, p_obj:dword,index:dword
ret ret
endp endp
;ôóíêöèÿ âñòàâëÿåò 2 ïàðàìåòðà ïî 16 áèò â âèäå:
; (_p1_ shl 16 + _p2_)
align 4
proc insert_2_prop_16_bit, obj:dword, p_hi:dword, p_lo:dword
stdcall insert_text, txt_skob_o
stdcall insert_text_prop, [obj],[p_hi]
stdcall insert_text, txt_shl_16
stdcall insert_text, txt_skob_c
stdcall insert_text, txt_plus
stdcall insert_text_prop, [obj],[p_lo]
ret
endp
;âñòàâëÿåì ñòðîêó âèäà:
; txt_(n) db (s)
align 4
proc insert_text_label_data, obj:dword, col:dword
push eax edx
mov eax,[obj]
stdcall insert_text, txt_txt
mov edx,fp_icon
stdcall get_obj_id_str, eax,edx ;edx = 'n'
stdcall str_cat, edx,txt_db ;edx = 'n db '
stdcall insert_text, edx
stdcall insert_text_prop, eax,[col]
insert_nl
pop edx eax
ret
endp
macro insert_tab macro insert_tab
{ {
stdcall [ted_text_add], tedit0,txt_tab,1,ted_opt_ed_move_cursor stdcall [ted_text_add], tedit0,txt_tab,1,ted_opt_ed_move_cursor
@ -82,11 +112,6 @@ macro insert_reg8 reg_name
{ {
stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor
} }
macro insert_i65p
{
stdcall [ted_text_add], tedit0,txt_i65p,7,ted_opt_ed_move_cursor
}
; ;
macro insert_but_beg macro insert_but_beg
@ -151,7 +176,7 @@ popad
; esi - óêàçàòåëü íà óçåë ; esi - óêàçàòåëü íà óçåë
align 4 align 4
code_gen_obj: code_gen_obj:
push ebx push ebx edx
.beg_iterat: .beg_iterat:
cmp esi,0 cmp esi,0
je .find_no je .find_no
@ -165,9 +190,24 @@ push ebx
je .find_no je .find_no
cmp dword[eax],C_STR cmp dword[eax],C_STR
jne .no_struct
stdcall get_obj_text_col, eax,1 ;edx - óêàçàòåëü íà 1-å ñâîéñòâî ñòðóêòóðû
stdcall insert_text,txt_struc
cmp byte[edx],0
jne @f jne @f
stdcall insert_text,txt_struct stdcall insert_text,txt_t
@@:
insert_sp
stdcall insert_text_prop, eax,0 stdcall insert_text_prop, eax,0
cmp byte[edx],0
je @f
;åñëè ñòðóêòóðà çàäàíà ìàêðîñîì
insert_sp
stdcall insert_text_prop, eax,1
insert_nl
stdcall insert_text, txt_skob_fo
@@:
insert_nl insert_nl
stdcall dword[tl_node_poi_get_next_info], esi,tree2 stdcall dword[tl_node_poi_get_next_info], esi,tree2
@ -181,9 +221,16 @@ push ebx
call code_gen_obj ;ðåêóðñèâíûé âûçîâ äî÷åðíèõ îáúåêòîâ call code_gen_obj ;ðåêóðñèâíûé âûçîâ äî÷åðíèõ îáúåêòîâ
pop bx pop bx
.end_st: .end_st:
stdcall insert_text,txt_ends cmp byte[edx],0
je @f
;åñëè ñòðóêòóðà çàäàíà ìàêðîñîì
stdcall insert_text, txt_skob_fc
insert_nl
jmp .beg_iterat jmp .beg_iterat
@@: @@:
stdcall insert_text,txt_ends
jmp .beg_iterat
.no_struct:
cmp dword[eax],C_TXT cmp dword[eax],C_TXT
jne @f jne @f
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà
@ -218,7 +265,7 @@ push ebx
jmp .beg_iterat jmp .beg_iterat
.find_no: .find_no:
pop ebx pop edx ebx
ret ret
;äîáàâëåíèå îáúåêòà ñ ïðîãðàìíûì êîäîì (òåêñòîì) ;äîáàâëåíèå îáúåêòà ñ ïðîãðàìíûì êîäîì (òåêñòîì)
@ -238,6 +285,14 @@ proc get_code_auto, p_obj:dword
pushad pushad
insert_nl insert_nl
mov ebx,dword[p_obj] mov ebx,dword[p_obj]
test_bool_prop ebx,BIT_MOD_ACI
jae @f
mov edx,C_CHB
stdcall find_obj_in_file,edx ;eax - 㪠§ â¥«ì ­  áâàãªâãàã check_box
cmp eax,0
je @f
stdcall insert_text, txt_std_init_cb
@@:
test_bool_prop ebx,BIT_MOD_ACM test_bool_prop ebx,BIT_MOD_ACM
jae @f jae @f
;àâòîìàòè÷åñêèå ñîáûòèÿ îò ìûøè ;àâòîìàòè÷åñêèå ñîáûòèÿ îò ìûøè
@ -254,12 +309,23 @@ proc get_code_auto, p_obj:dword
test_bool_prop ebx,BIT_MOD_ACD test_bool_prop ebx,BIT_MOD_ACD
jae @f jae @f
call get_code_auto_data_el call get_code_auto_data_el
mov edx,C_CHB
stdcall find_obj_in_file,edx ;eax - 㪠§ â¥«ì ­  áâàãªâãàã check_box
cmp eax,0
je .no_check
stdcall insert_text, txt_cb_b
call get_code_auto_data_el_cbox
stdcall insert_text, txt_cb_e
.no_check:
call get_code_auto_data_dop call get_code_auto_data_dop
mov edx,C_LIB mov edx,C_LIB
stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè
cmp eax,0 cmp eax,0
je @f je @f
insert_nl
stdcall insert_text, txt_head_i stdcall insert_text, txt_head_i
stdcall insert_text, txt_d_poi stdcall insert_text, txt_d_poi
insert_nl insert_nl
@ -281,7 +347,6 @@ proc get_code_auto, p_obj:dword
ret ret
endp endp
align 4 align 4
proc get_code_auto_m proc get_code_auto_m
pushad pushad
@ -299,19 +364,13 @@ proc get_code_auto_m
cmp dword[ebx],C_EDB cmp dword[ebx],C_EDB
jne @f jne @f
stdcall insert_text, txt_std_mouse_ed stdcall insert_text, txt_std_mouse_ed
;insert_sp stdcall insert_text_prop, ebx,0
stdcall get_obj_text_col,ebx,0
stdcall str_len,edx
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
insert_nl insert_nl
@@: @@:
cmp dword[ebx],C_CHB cmp dword[ebx],C_CHB
jne @f jne @f
stdcall insert_text, txt_std_mouse_cb stdcall insert_text, txt_std_mouse_cb
;insert_sp stdcall insert_text_prop, ebx,0
stdcall get_obj_text_col,ebx,0
stdcall str_len,edx
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
insert_nl insert_nl
@@: @@:
@ -361,7 +420,7 @@ proc get_code_auto_data_el
mov edx,fp_icon mov edx,fp_icon
stdcall get_obj_id_str, ebx,edx stdcall get_obj_id_str, ebx,edx
stdcall insert_text,edx stdcall insert_text, edx
stdcall insert_text, txt_mouse_dd stdcall insert_text, txt_mouse_dd
@ -396,13 +455,95 @@ proc get_code_auto_data_el
@@: @@:
cmp dword[ebx],C_DTT cmp dword[ebx],C_DTT
jne @f jne @f
stdcall insert_text_label_data, ebx,0
@@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó
jmp .beg_iterat
.find_no:
popad
ret
endp
align 4
proc get_code_auto_data_el_cbox
pushad
insert_nl ;îòñòóï äëÿ ôîðìàòèðîâàíèÿ
stdcall dword[tl_node_poi_get_info], 0,tree2
pop esi
.beg_iterat:
cmp esi,0
je .find_no
stdcall dword[tl_node_poi_get_data], esi,tree2
pop ebx ;ïîëó÷àåì äàííûå óçëà
cmp ebx,0
je .find_no
cmp dword[ebx],C_CHB
jne .no_check
;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt
stdcall insert_text_prop, ebx,0
stdcall insert_text, txt_cbox
insert_sp
stdcall insert_2_prop_16_bit, ebx,1,3
stdcall insert_text, txt_coma
stdcall insert_2_prop_16_bit, ebx,2,4
stdcall insert_text, txt_coma
stdcall insert_text_prop, ebx,5
stdcall insert_text, txt_coma
insert_sp
stdcall insert_text_prop, ebx,6
stdcall insert_text, txt_coma
stdcall insert_text_prop, ebx,7
stdcall insert_text, txt_coma
;stdcall insert_text, txt_bit_31
;stdcall insert_text, txt_plus
stdcall insert_text_prop, ebx,8
stdcall insert_text, txt_coma
stdcall insert_text, txt_br
stdcall insert_text, txt_txt stdcall insert_text, txt_txt
mov edx,fp_icon mov edx,fp_icon
stdcall get_obj_id_str, ebx,edx stdcall get_obj_id_str, ebx,edx
stdcall insert_text,edx stdcall insert_text, edx
stdcall insert_text, txt_db stdcall insert_text, txt_coma
stdcall insert_text_prop, ebx,0
;ôëàãè
stdcall insert_text,txt_0
test_bool_prop ebx,BIT_MOD_CHE
jnc @f
stdcall insert_text,txt_plus
stdcall insert_text,txt_bit_che
@@:
test_bool_prop ebx,BIT_MOD_CHE_T
jnc @f
stdcall insert_text,txt_plus
stdcall insert_text,txt_bit_che_t
@@:
test_bool_prop ebx,BIT_MOD_CHE_M
jnc @f
stdcall insert_text,txt_plus
stdcall insert_text,txt_bit_che_m
@@:
test_bool_prop ebx,BIT_MOD_CHE_B
jnc @f
stdcall insert_text,txt_plus
stdcall insert_text,txt_bit_che_b
@@:
insert_nl insert_nl
.no_check:
cmp dword[ebx],C_DTT
jne @f
stdcall insert_text_label_data, ebx,0
@@: @@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2 stdcall dword[tl_node_poi_get_next_info], esi,tree2
@ -610,6 +751,10 @@ pushad
cmp dword[ecx],C_IFN cmp dword[ecx],C_IFN
jne @b jne @b
;âñòàâêà óêàçàòåëÿ íà ôóíêöèþ ;âñòàâêà óêàçàòåëÿ íà ôóíêöèþ
test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT
jae .no_com_0
stdcall insert_text, txt_com
.no_com_0:
insert_tab insert_tab
stdcall insert_text_prop, ecx,0 stdcall insert_text_prop, ecx,0
stdcall insert_text, txt_dd stdcall insert_text, txt_dd
@ -634,6 +779,10 @@ pushad
cmp dword[ecx],C_IFN cmp dword[ecx],C_IFN
jne @b jne @b
;âñòàâêà èìåíè èìïîðòèðîâàííîé ôóíêöèè ;âñòàâêà èìåíè èìïîðòèðîâàííîé ôóíêöèè
test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT
jae .no_com_1
stdcall insert_text, txt_com
.no_com_1:
insert_tab insert_tab
stdcall insert_text_prop, edx,3 ;ïðèñòàâêà ê ôóíêöèè stdcall insert_text_prop, edx,3 ;ïðèñòàâêà ê ôóíêöèè
stdcall insert_text_prop, ecx,0 stdcall insert_text_prop, ecx,0
@ -715,6 +864,10 @@ proc get_code_auto_data_dop
insert_0 insert_0
insert_nl insert_nl
@@: @@:
cmp dword[ebx],C_CHB
jne @f
stdcall insert_text_label_data, ebx,9
@@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2 stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó
@ -913,9 +1066,7 @@ proc get_code_window, p_obj:dword
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ebx insert_reg txt_ebx
insert_coma insert_coma
stdcall insert_text_prop, ebx,2 stdcall insert_2_prop_16_bit, ebx,2,4
insert_i65p
stdcall insert_text_prop, ebx,4
insert_nl insert_nl
;mov ecx,... ;mov ecx,...
@ -923,9 +1074,7 @@ proc get_code_window, p_obj:dword
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ecx insert_reg txt_ecx
insert_coma insert_coma
stdcall insert_text_prop, ebx,3 stdcall insert_2_prop_16_bit, ebx,3,5
insert_i65p
stdcall insert_text_prop, ebx,5
insert_nl insert_nl
;mov edx,... ;mov edx,...
@ -1004,18 +1153,14 @@ proc get_code_draw_obj
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ebx insert_reg txt_ebx
insert_coma insert_coma
stdcall insert_text_prop, ebx,1 stdcall insert_2_prop_16_bit, ebx,1,3
insert_i65p
stdcall insert_text_prop, ebx,3
insert_nl insert_nl
insert_tab insert_tab
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ecx insert_reg txt_ecx
insert_coma insert_coma
stdcall insert_text_prop, ebx,2 stdcall insert_2_prop_16_bit, ebx,2,4
insert_i65p
stdcall insert_text_prop, ebx,4
insert_nl insert_nl
insert_tab insert_tab
@ -1060,18 +1205,14 @@ proc get_code_draw_obj
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ebx insert_reg txt_ebx
insert_coma insert_coma
stdcall insert_text_prop, ebx,1 stdcall insert_2_prop_16_bit, ebx,1,3
insert_i65p
stdcall insert_text_prop, ebx,3
insert_nl insert_nl
insert_tab insert_tab
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ecx insert_reg txt_ecx
insert_coma insert_coma
stdcall insert_text_prop, ebx,2 stdcall insert_2_prop_16_bit, ebx,2,4
insert_i65p
stdcall insert_text_prop, ebx,4
insert_nl insert_nl
insert_tab insert_tab
@ -1098,9 +1239,7 @@ proc get_code_draw_obj
stdcall insert_text, txt_mov stdcall insert_text, txt_mov
insert_reg txt_ebx insert_reg txt_ebx
insert_coma insert_coma
stdcall insert_text_prop, ebx,1 stdcall insert_2_prop_16_bit, ebx,1,2
insert_i65p
stdcall insert_text_prop, ebx,2
insert_nl insert_nl
insert_tab insert_tab
@ -1215,6 +1354,10 @@ endp
txt_str_beg db 39,0 txt_str_beg db 39,0
txt_str_end db 39,',0',0 txt_str_end db 39,',0',0
txt_coma db ',',0 txt_coma db ',',0
txt_skob_o db '(',0
txt_skob_c db ')',0
txt_skob_fo db '{',0 ;ñêîáêà ôèãóðíàÿ îòêðûâàþùàÿ
txt_skob_fc db '}',0 ;ñêîáêà ôèãóðíàÿ çàêðûâàþùàÿ
txt_i_40 db 'int 0x40',13,0 txt_i_40 db 'int 0x40',13,0
txt_0 db '0',0 txt_0 db '0',0
txt_1 db '1',0 txt_1 db '1',0
@ -1257,8 +1400,13 @@ txt_bit_28 db '0x10000000',0
txt_bit_29 db '0x20000000',0 txt_bit_29 db '0x20000000',0
txt_bit_30 db '0x40000000',0 txt_bit_30 db '0x40000000',0
txt_bit_31 db '0x80000000',0 txt_bit_31 db '0x80000000',0
txt_bit_che db 'ch_flag_en',0
txt_bit_che_t db 'ch_flag_top',0
txt_bit_che_m db 'ch_flag_middle',0
txt_bit_che_b db 'ch_flag_bottom',0
txt_0x33000000 db '0x33000000',0 ;tmp txt_0x33000000 db '0x33000000',0 ;tmp
txt_struct db 'struct ',0 txt_struc db 'struc',0
txt_t db 't',0
txt_met_end db '.end',0 txt_met_end db '.end',0
txt_ends db 'ends',13,13,0 txt_ends db 'ends',13,13,0
txt_mov db 'mov ',0 txt_mov db 'mov ',0
@ -1278,15 +1426,22 @@ txt_esi db 'esi',0
txt_align_4 db 'align 4',13,0 txt_align_4 db 'align 4',13,0
txt_d_poi db ':',0 txt_d_poi db ':',0
txt_ret db 'ret',13,0 txt_ret db 'ret',13,0
txt_i65p db '*65536+',0 txt_shl_16 db ' shl 16',0
txt_std_mouse_ed: txt_std_mouse_ed:
db 9,'stdcall [edit_box_mouse], ',0 db 9,'stdcall [edit_box_mouse], ',0
txt_std_init_cb:
db 9,'init_checkboxes2 check_boxes,check_boxes_end',13,0
txt_std_mouse_cb: txt_std_mouse_cb:
db 9,'stdcall [check_box_mouse], ',0 db 9,'stdcall [check_box_mouse], ',0
txt_std_key_ed: txt_std_key_ed:
db 9,'stdcall [edit_box_key], ',0 db 9,'stdcall [edit_box_key], ',0
txt_incl: txt_incl:
db 'include ',0 db 'include ',0
txt_cbox db ' check_box2',0
txt_cb_b db 13,'check_boxes:',0
txt_cb_e db 'check_boxes_end:',13,0
txt_ebox db ' edit_box',0 txt_ebox db ' edit_box',0
txt_editb_draw: txt_editb_draw:
db 9,'stdcall [edit_box_draw], ',0 db 9,'stdcall [edit_box_draw], ',0

View File

@ -207,50 +207,108 @@ locals
coor_x dd ? coor_x dd ?
coor_y dd ? coor_y dd ?
ot_txt dd ? ;®âáâ㯠¤«ï ⥪áâ  ot_txt dd ? ;®âáâ㯠¤«ï ⥪áâ 
size_wh dd ? ;à §¬¥à ª¢ ¤à â¨ª  size_w dd ? ;à §¬¥à ª¢ ¤à â¨ª  w
size_h dd ? ;à §¬¥à ª¢ ¤à â¨ª  h
col_txt dd ? ;梥â ⥪âá  col_txt dd ? ;梥â ⥪âá 
endl endl
pushad pushad
mov ebx,dword[p_obj] mov ebx,dword[p_obj]
;1,2,3, 4,5,6, 7,8 - x,y,txt, col_fon,col_frame,col_txt, w_txt,w_h ;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt
stdcall get_obj_text_col,ebx,1 stdcall get_obj_text_col,ebx,1 ;ot_x
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
mov [coor_x],eax mov [coor_x],eax
stdcall get_obj_text_col,ebx,2 stdcall get_obj_text_col,ebx,2 ;ot_y
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
mov [coor_y],eax mov [coor_y],eax
move_to_skin [coor_x],[coor_y] move_to_skin [coor_x],[coor_y]
stdcall get_obj_text_col,ebx,7 stdcall get_obj_text_col,ebx,5 ;ot_w_txt
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
mov [ot_txt],eax mov [ot_txt],eax
stdcall get_obj_text_col,ebx,8 stdcall get_obj_text_col,ebx,3 ;w
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
mov [size_wh],eax mov [size_w],eax
stdcall get_obj_text_col,ebx,5 stdcall get_obj_text_col,ebx,4 ;h
stdcall conv_str_to_int,edx
dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
mov [size_h],eax
stdcall get_obj_text_col,ebx,7 ;col_frame
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\ stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
dword[size_wh],dword[size_wh], eax dword[size_w],dword[size_h], eax
;§ «¨¢ª  ä®­  checkbox- 
inc dword[coor_x] inc dword[coor_x]
inc dword[coor_y] inc dword[coor_y]
sub dword[size_wh],2 sub dword[size_w],2
stdcall get_obj_text_col,ebx,4 sub dword[size_h],2
stdcall get_obj_text_col,ebx,6 ;col_fon
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\ stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
dword[size_wh],dword[size_wh], eax dword[size_w],dword[size_h], eax
stdcall get_obj_text_col,ebx,6 test_bool_prop ebx,BIT_MOD_CHE
jnc @f
;à¨á®¢ ­¨¥ ®â¬¥âª¨ ¢ checkbox-¥
inc dword[coor_x]
inc dword[coor_y]
sub dword[size_w],2
sub dword[size_h],2
stdcall get_obj_text_col,ebx,7 ;col_frame
stdcall conv_str_to_int,edx
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
dword[size_w],dword[size_h], eax
@@:
;¢®áâ ­ ¢«¨¢ ¥¬ ¯®«®¦¥­¨¥ ¨ à §¬¥àë
stdcall get_obj_text_col,ebx,1 ;ot_x
stdcall conv_str_to_int,edx
mov [coor_x],eax
stdcall get_obj_text_col,ebx,2 ;ot_y
stdcall conv_str_to_int,edx
mov [coor_y],eax
move_to_skin [coor_x],[coor_y]
stdcall get_obj_text_col,ebx,3 ;w
stdcall conv_str_to_int,edx
dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
mov [size_w],eax
stdcall get_obj_text_col,ebx,4 ;h
stdcall conv_str_to_int,edx
dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
mov [size_h],eax
stdcall get_obj_text_col,ebx,8 ;col_txt
stdcall conv_str_to_int,edx stdcall conv_str_to_int,edx
mov [col_txt],eax mov [col_txt],eax
mov eax,[ot_txt] mov eax,[coor_x]
add eax,[size_wh] add eax,[size_w]
add eax,2-1 ;sub dword[size_wh],2 ;inc dword[coor_x] add eax,[ot_txt] ;¢ëç¨á«ï¥¬ ª®®à¤¨­ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
add [coor_x],eax ;¢ëç¨á«ï¥¬ ª®®à¤¨­ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
add [coor_y],5-1 ;inc dword[coor_y] test_bool_prop ebx,BIT_MOD_CHE_T
stdcall get_obj_text_col,ebx,3 jc .end_txt_align ;if text aligment = top
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,dword[coor_x],dword[coor_y],\
test_bool_prop ebx,BIT_MOD_CHE_M
jnc @f
shl [coor_y],1 ;㬭®¦ ¥¬ ­  2
mov ecx,[size_h]
add [coor_y],ecx ;¤®¡ ¢«ï¥¬ ¢ëá®âã checkbox
sub [coor_y],9 ;®â­¨¬ ¥¬ ¢ëá®âã ᨬ¢®« 
shr [coor_y],1 ;¤¥«¨¬ ­  ¯®«ã稢襥áï 2, ¯®«ãç ¥¬ ®âáâ㯠¤«ï áâ®ï饣® ¯® 業âàã ⥪áâ 
jmp .end_txt_align
@@:
test_bool_prop ebx,BIT_MOD_CHE_B
jnc @f
mov ecx,[size_h]
add [coor_y],ecx ;¤®¡ ¢«ï¥¬ ¢ëá®âã checkbox
sub [coor_y],9 ;®â­¨¬ ¥¬ ¢ëá®âã ᨬ¢®« 
;¯®«ãç ¥¬ ®âáâ㯠¤«ï áâ®ï饣® á­¨§ã ⥪áâ 
@@:
.end_txt_align:
stdcall get_obj_text_col,ebx,9 ;txt
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,eax,dword[coor_y],\
dword[col_txt] ;à¨á㥬 áâபã á ⥪á⮬ dword[col_txt] ;à¨á㥬 áâபã á ⥪á⮬
popad popad
ret ret

View File

@ -20,7 +20,7 @@ include 'obj_codes.inc'
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
hed db 'kol_f_edit 13.12.10',0 hed db 'kol_f_edit 18.12.10',0
sizeof.TreeList equ 20 ;need for element 'tree_list' sizeof.TreeList equ 20 ;need for element 'tree_list'
@ -43,23 +43,27 @@ WND_CAPT_COLOR equ 0xb0d0ff
BUF_SIZE equ 1000 BUF_SIZE equ 1000
;modif ;modif
BIT_MOD_ACI equ 0 ®¤ª«î祭¨ï ä ©«®¢ BIT_MOD_ACI equ 0 ¥à¢®­ ç «ì­ë¥ ­ áâனª¨ í«¥¬¥­â®¢
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ®â ¬ëè¨ BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ®â ¬ëè¨
BIT_MOD_ACD equ 2 ;¤ ­­ë¥ ®¡ê¥ªâ®¢ BIT_MOD_ACD equ 2 ;¤ ­­ë¥ ®¡ê¥ªâ®¢
BIT_MOD_ABU equ 3 ;á¢ï§ë¢ ­¨¥ ª­®¯®ª BIT_MOD_ABU equ 3 ;á¢ï§ë¢ ­¨¥ ª­®¯®ª
;CPP_MOD_WI_CA equ 16 ; áâ¨«ì ®ª­  ¯®¤¯¨áì ;CPP_MOD_WI_CA equ 16 ;áâ¨«ì ®ª­  ¯®¤¯¨áì
;CPP_MOD_WI_AO equ 32 ; áâ¨«ì ®ª­  ª®®à¤¨­ âë ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« á⨠;CPP_MOD_WI_AO equ 32 ;áâ¨«ì ®ª­  ª®®à¤¨­ âë ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
;CPP_MOD_WI_RD equ 64 ; áâ¨«ì ®ª­  ¯¥à¥à¨á®¢ª  ®ª­  ;CPP_MOD_WI_RD equ 64 ;áâ¨«ì ®ª­  ¯¥à¥à¨á®¢ª  ®ª­ 
;CPP_MOD_WI_GR equ 128 ; áâ¨«ì ®ª­  £à ¤¨¥­â ;CPP_MOD_WI_GR equ 128 ;áâ¨«ì ®ª­  £à ¤¨¥­â
;CPP_MOD_CHE equ 512 ; ch_flag_en - ¢ë¡à ­ CheckBox BIT_MOD_CHE equ 0 ; ch_flag_en - ¢ë¡à ­ CheckBox
BIT_MOD_TXT_ASCII_0 equ 0 ; ⥪áâ § ª ­ç¨¢. 0 BIT_MOD_CHE_T equ 1 ;ᢥàåã
BIT_MOD_TXT_NO_TRAN equ 1 ; ⥪á⠯஧à ç­ë© BIT_MOD_CHE_M equ 2 ;¯® 業âàã
BIT_MOD_TXT_CHAR2 equ 2 ; ⥪áâ 2-¬ èà¨ä⮬ BIT_MOD_CHE_B equ 3 ;á­¨§ã
;CPP_MOD_EDIT_FOC equ 1 ; EditBox ¢ 䮪ãᥠBIT_MOD_TXT_ASCII_0 equ 0 ;⥪áâ § ª ­ç¨¢. 0
BIT_MOD_TXT_NO_TRAN equ 1 ;⥪á⠯஧à ç­ë©
BIT_MOD_TXT_CHAR2 equ 2 ;⥪áâ 2-¬ èà¨ä⮬
;CPP_MOD_EDIT_FOC equ 1 ;EditBox ¢ 䮪ãá¥
;CPP_MOD_EDIT_FIO equ 2 ; ;CPP_MOD_EDIT_FIO equ 2 ;
;CPP_MOD_RE_GR equ 1 ; £à ¤¨¥­â­ë© ¯àאַ㣮«ì­¨ª ;CPP_MOD_RE_GR equ 1 ;£à ¤¨¥­â­ë© ¯àאַ㣮«ì­¨ª
BIT_MOD_BUT_NFON equ 0 ; á⨫ì Button ­¥ à¨á®¢ âì ª­®¯ªã BIT_MOD_BUT_NFON equ 0 ;á⨫ì Button ­¥ à¨á®¢ âì ª­®¯ªã
BIT_MOD_BUT_NBORD equ 1 ; á⨫ì Button ­¥ à¨á®¢ âì £à ­¨æã BIT_MOD_BUT_NBORD equ 1 ;á⨫ì Button ­¥ à¨á®¢ âì £à ­¨æã
BIT_MOD_IMPORT_FUNCT_COMMENT equ 0 ;ª®¬¥­â¨à®¢ âì äã­ªæ¨î
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨© macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
{ {

View File

@ -41,9 +41,9 @@ ObjOpt C_EDB, 1,1,'
ObjOpt C_OPT, 1,1,'<27> ¤¨® ª­®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\ ObjOpt C_OPT, 1,1,'<27> ¤¨® ª­®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
<40, 50, 60, 80,100,120,180,190, 0, 0, 0>,\ <40, 50, 60, 80,100,120,180,190, 0, 0, 0>,\
< 9, 15, 16, 25, 25, 25, 4, 26, 27, -1, -1> < 9, 15, 16, 25, 25, 25, 4, 26, 27, -1, -1>
ObjOpt C_CHB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ­ ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\ ObjOpt C_CHB, 1,1,'”« ¦®ª','¨¬ï áâàãªâãàë*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨­ *¢ëá®â *®âáâ㯠¤® ­ ¤¯¨á¨*梥â ä®­  ¢­ãâà¨*梥â à ¬ª¨ ¨ ¢­ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì',\
<40, 50, 60,120,140,160,180,190, 0, 0, 0>,\ <40, 50, 60, 70, 80, 90,110,130,150, 0, 0>,\
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>,\ < 8, 15, 16, 26, 27, 26, 25, 25, 25, 4,-1>,\
txt_bit_che txt_bit_che
ObjOpt C_TXT, 1,0,'asm ª®¤','',\ ObjOpt C_TXT, 1,0,'asm ª®¤','',\
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ < 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
@ -63,7 +63,8 @@ ObjOpt C_LIB, 1,0,'
<20, -1, -1, -1, 4, 4, -1, -1, -1, -1, -1> <20, -1, -1, -1, 4, 4, -1, -1, -1, -1, -1>
ObjOpt C_IFN, 1,0,'”ã­ªæ¨ï ¨§ ¡¨¡«¨®â¥ª¨','¯à®£à ¬­®¥ ¨¬ï ä㭪樨*¨¬¯®àâ¨à㥬®¥ ¨¬ï ä㭪樨',\ ObjOpt C_IFN, 1,0,'”ã­ªæ¨ï ¨§ ¡¨¡«¨®â¥ª¨','¯à®£à ¬­®¥ ¨¬ï ä㭪樨*¨¬¯®àâ¨à㥬®¥ ¨¬ï ä㭪樨',\
<100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\ <100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>,\
<21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1> <21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>,\
txt_bit_ifn
ObjOpt C_DTT, 1,1,'<27>¨á®¢ ­¨¥ ⥪áâ ','⥪á⮢ ï áâப *ª®®à¤¨­ â  ¯® x*ª®®à¤¨­ â  ¯® y*梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\ ObjOpt C_DTT, 1,1,'<27>¨á®¢ ­¨¥ ⥪áâ ','⥪á⮢ ï áâப *ª®®à¤¨­ â  ¯® x*ª®®à¤¨­ â  ¯® y*梥â ⥪áâ *梥â ä®­  (¥á«¨ ¥áâì)',\
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\ <40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\ < 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\
@ -81,7 +82,7 @@ ObjOpt 0x0d, 1,0, '-','',\
dd 0 ;à §¤¥«¨â¥«ì dd 0 ;à §¤¥«¨â¥«ì
;­ §¢ ­¨ï ¡¨â®¢ëå ᢮©á⢠;­ §¢ ­¨ï ¡¨â®¢ëå ᢮©áâ¢
txt_bit_auto db ®¤ª«î祭¨ï ä ©«®¢',0 txt_bit_auto db ¥à¢®­ ç «ì­ë¥ ­ áâனª¨ í«¥¬¥­â®¢',0
db 'ᮡëâ¨ï ®â ¬ëè¨',0 db 'ᮡëâ¨ï ®â ¬ëè¨',0
db 'ª®¤ë í«¥¬¥­â®¢',0 db 'ª®¤ë í«¥¬¥­â®¢',0
db '­ ¦ â¨ï ­  ª­®¯ª¨',0 db '­ ¦ â¨ï ­  ª­®¯ª¨',0
@ -95,6 +96,9 @@ txt_bit_edit db '
db 'æ¨äàë ®â 0-9',0 db 'æ¨äàë ®â 0-9',0
db 0 db 0
txt_bit_che db 'check_box ¢ë¡à ­',0 txt_bit_che db 'check_box ¢ë¡à ­',0
db '⥪áâ c¢¥àåã',0
db '⥪áâ ¯® 業âàã',0
db '⥪áâ c­¨§ã',0
db 0 db 0
txt_bit_but db '­¥ à¨á®¢ âì ª­®¯ªã',0 txt_bit_but db '­¥ à¨á®¢ âì ª­®¯ªã',0
db '­¥ à¨á®¢ âì £à ­¨æ㠯ਠ­ ¦ â¨¨',0 db '­¥ à¨á®¢ âì £à ­¨æ㠯ਠ­ ¦ â¨¨',0
@ -103,5 +107,5 @@ txt_bit_caption db '
db '§ «¨¢ª  ä®­ ',0 db '§ «¨¢ª  ä®­ ',0
db '2-© èà¨äâ',0 db '2-© èà¨äâ',0
db 0 db 0
txt_bit_ifn db '§ ª®¬¥­â¨à®¢ âì äã­ªæ¨î',0
db 0

View File

@ -3,18 +3,18 @@
; ;
C_TDF equ 'Type' ;typedef C_TDF equ 'Type' ;typedef
C_ACO equ ('a' shl 24) ; ¢â®¬ â¨ç¥áª¨¥ ª®¤ë (auto code) C_ACO equ 'Auto' ; ¢â®¬ â¨ç¥áª¨¥ ª®¤ë (auto code)
C_STR equ ('s' shl 24) ;struct C_STR equ ('s' shl 24) ;struct
C_INC equ ('#' shl 24) ;include C_INC equ ('#' shl 24) ;include
C_TXT equ ('d' shl 24) ;¡«®ª ª®¤  (¤ ­­ëå) C_TXT equ ('d' shl 24) ;¡«®ª ª®¤  (¤ ­­ëå)
C_VAR equ ('-' shl 24) ;¯¥à¥¬¥­­ ï C_VAR equ ('-' shl 24) ;¯¥à¥¬¥­­ ï
C_COM equ (';' shl 24) ;ª®¬¬¥­â à¨© C_COM equ (';' shl 24) ;ª®¬¬¥­â à¨©
C_WND equ ('w' shl 24) ;®ª­® C_WND equ ('w' shl 24) ;®ª­®
C_CHB equ ('c' shl 24) ;CheckBox C_CHB equ 'ChkB' ;CheckBox
C_OPT equ ('o' shl 24) ;OptionBox C_OPT equ ('o' shl 24) ;OptionBox
C_EDB equ ('e' shl 24) ;EditBox C_EDB equ ('e' shl 24) ;EditBox
C_BUT equ ('b' shl 24) ;Button C_BUT equ ('b' shl 24) ;Button
C_DTT equ ('x' shl 24) ;à¨á®¢ âì ⥪áâ C_DTT equ 'Text' ;à¨á®¢ âì ⥪áâ
C_REC equ 'Rect' ;à¨á®¢ âì ¯àאַ㣮«ì­¨ª C_REC equ 'Rect' ;à¨á®¢ âì ¯àאַ㣮«ì­¨ª
C_KEY equ ('k' shl 24) ;ª« ¢¨ âãà  C_KEY equ ('k' shl 24) ;ª« ¢¨ âãà 
C_LIB equ 'Libr' ;¡¨¡«¨®â¥ª  C_LIB equ 'Libr' ;¡¨¡«¨®â¥ª 

View File

@ -22,7 +22,9 @@ init_checkbox2:
jnz @b jnz @b
.ex_loop: .ex_loop:
mov dword 2ch_sz_str,ebx ;запишим длинну строки с учетом отступа от квадратика mov dword 2ch_sz_str,ebx ;запишем длинну строки с учетом отступа от квадратика
or dword 2ch_text_color,0x80000000 ;добавляем бит для вывода ASCIIZ-строки
;на случай если пользователь забыл его самостоятельно поставить в структуре
popad popad
ret 4 ret 4
} }