forked from KolibriOS/kolibrios
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:
parent
b70514e695
commit
88d9c9e6b1
Binary file not shown.
@ -46,6 +46,36 @@ proc insert_text_prop, p_obj:dword,index:dword
|
||||
ret
|
||||
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
|
||||
{
|
||||
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
|
||||
}
|
||||
macro insert_i65p
|
||||
{
|
||||
stdcall [ted_text_add], tedit0,txt_i65p,7,ted_opt_ed_move_cursor
|
||||
}
|
||||
|
||||
|
||||
;
|
||||
macro insert_but_beg
|
||||
@ -151,7 +176,7 @@ popad
|
||||
; esi - óêàçàòåëü íà óçåë
|
||||
align 4
|
||||
code_gen_obj:
|
||||
push ebx
|
||||
push ebx edx
|
||||
.beg_iterat:
|
||||
cmp esi,0
|
||||
je .find_no
|
||||
@ -165,9 +190,24 @@ push ebx
|
||||
je .find_no
|
||||
|
||||
cmp dword[eax],C_STR
|
||||
jne @f
|
||||
stdcall insert_text,txt_struct
|
||||
jne .no_struct
|
||||
stdcall get_obj_text_col, eax,1 ;edx - óêàçàòåëü íà 1-å ñâîéñòâî ñòðóêòóðû
|
||||
stdcall insert_text,txt_struc
|
||||
cmp byte[edx],0
|
||||
jne @f
|
||||
stdcall insert_text,txt_t
|
||||
@@:
|
||||
insert_sp
|
||||
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
|
||||
|
||||
stdcall dword[tl_node_poi_get_next_info], esi,tree2
|
||||
@ -181,9 +221,16 @@ push ebx
|
||||
call code_gen_obj ;ðåêóðñèâíûé âûçîâ äî÷åðíèõ îáúåêòîâ
|
||||
pop bx
|
||||
.end_st:
|
||||
cmp byte[edx],0
|
||||
je @f
|
||||
;åñëè ñòðóêòóðà çàäàíà ìàêðîñîì
|
||||
stdcall insert_text, txt_skob_fc
|
||||
insert_nl
|
||||
jmp .beg_iterat
|
||||
@@:
|
||||
stdcall insert_text,txt_ends
|
||||
jmp .beg_iterat
|
||||
@@:
|
||||
.no_struct:
|
||||
cmp dword[eax],C_TXT
|
||||
jne @f
|
||||
stdcall get_code_text,eax ;îáðàáîòêà îáúåêòà
|
||||
@ -218,7 +265,7 @@ push ebx
|
||||
|
||||
jmp .beg_iterat
|
||||
.find_no:
|
||||
pop ebx
|
||||
pop edx ebx
|
||||
ret
|
||||
|
||||
;äîáàâëåíèå îáúåêòà ñ ïðîãðàìíûì êîäîì (òåêñòîì)
|
||||
@ -238,6 +285,14 @@ proc get_code_auto, p_obj:dword
|
||||
pushad
|
||||
insert_nl
|
||||
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
|
||||
jae @f
|
||||
;àâòîìàòè÷åñêèå ñîáûòèÿ îò ìûøè
|
||||
@ -254,12 +309,23 @@ proc get_code_auto, p_obj:dword
|
||||
test_bool_prop ebx,BIT_MOD_ACD
|
||||
jae @f
|
||||
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
|
||||
|
||||
mov edx,C_LIB
|
||||
stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè
|
||||
cmp eax,0
|
||||
je @f
|
||||
insert_nl
|
||||
stdcall insert_text, txt_head_i
|
||||
stdcall insert_text, txt_d_poi
|
||||
insert_nl
|
||||
@ -281,7 +347,6 @@ proc get_code_auto, p_obj:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
align 4
|
||||
proc get_code_auto_m
|
||||
pushad
|
||||
@ -299,19 +364,13 @@ proc get_code_auto_m
|
||||
cmp dword[ebx],C_EDB
|
||||
jne @f
|
||||
stdcall insert_text, txt_std_mouse_ed
|
||||
;insert_sp
|
||||
stdcall get_obj_text_col,ebx,0
|
||||
stdcall str_len,edx
|
||||
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
|
||||
stdcall insert_text_prop, ebx,0
|
||||
insert_nl
|
||||
@@:
|
||||
cmp dword[ebx],C_CHB
|
||||
jne @f
|
||||
stdcall insert_text, txt_std_mouse_cb
|
||||
;insert_sp
|
||||
stdcall get_obj_text_col,ebx,0
|
||||
stdcall str_len,edx
|
||||
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
|
||||
stdcall insert_text_prop, ebx,0
|
||||
insert_nl
|
||||
@@:
|
||||
|
||||
@ -361,7 +420,7 @@ proc get_code_auto_data_el
|
||||
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
stdcall insert_text, edx
|
||||
|
||||
stdcall insert_text, txt_mouse_dd
|
||||
|
||||
@ -396,13 +455,95 @@ proc get_code_auto_data_el
|
||||
@@:
|
||||
cmp dword[ebx],C_DTT
|
||||
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
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id_str, ebx,edx
|
||||
stdcall insert_text,edx
|
||||
stdcall insert_text, txt_db
|
||||
stdcall insert_text_prop, ebx,0
|
||||
stdcall insert_text, edx
|
||||
stdcall insert_text, txt_coma
|
||||
|
||||
;ôëàãè
|
||||
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
|
||||
.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
|
||||
@ -610,6 +751,10 @@ pushad
|
||||
cmp dword[ecx],C_IFN
|
||||
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
|
||||
stdcall insert_text_prop, ecx,0
|
||||
stdcall insert_text, txt_dd
|
||||
@ -634,6 +779,10 @@ pushad
|
||||
cmp dword[ecx],C_IFN
|
||||
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
|
||||
stdcall insert_text_prop, edx,3 ;ïðèñòàâêà ê ôóíêöèè
|
||||
stdcall insert_text_prop, ecx,0
|
||||
@ -715,6 +864,10 @@ proc get_code_auto_data_dop
|
||||
insert_0
|
||||
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
|
||||
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó
|
||||
@ -913,9 +1066,7 @@ proc get_code_window, p_obj:dword
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ebx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,2
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,4
|
||||
stdcall insert_2_prop_16_bit, ebx,2,4
|
||||
insert_nl
|
||||
|
||||
;mov ecx,...
|
||||
@ -923,9 +1074,7 @@ proc get_code_window, p_obj:dword
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ecx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,3
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,5
|
||||
stdcall insert_2_prop_16_bit, ebx,3,5
|
||||
insert_nl
|
||||
|
||||
;mov edx,...
|
||||
@ -1004,18 +1153,14 @@ proc get_code_draw_obj
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ebx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,1
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,3
|
||||
stdcall insert_2_prop_16_bit, ebx,1,3
|
||||
insert_nl
|
||||
|
||||
insert_tab
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ecx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,2
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,4
|
||||
stdcall insert_2_prop_16_bit, ebx,2,4
|
||||
insert_nl
|
||||
|
||||
insert_tab
|
||||
@ -1060,18 +1205,14 @@ proc get_code_draw_obj
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ebx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,1
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,3
|
||||
stdcall insert_2_prop_16_bit, ebx,1,3
|
||||
insert_nl
|
||||
|
||||
insert_tab
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ecx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,2
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,4
|
||||
stdcall insert_2_prop_16_bit, ebx,2,4
|
||||
insert_nl
|
||||
|
||||
insert_tab
|
||||
@ -1098,9 +1239,7 @@ proc get_code_draw_obj
|
||||
stdcall insert_text, txt_mov
|
||||
insert_reg txt_ebx
|
||||
insert_coma
|
||||
stdcall insert_text_prop, ebx,1
|
||||
insert_i65p
|
||||
stdcall insert_text_prop, ebx,2
|
||||
stdcall insert_2_prop_16_bit, ebx,1,2
|
||||
insert_nl
|
||||
|
||||
insert_tab
|
||||
@ -1215,6 +1354,10 @@ endp
|
||||
txt_str_beg db 39,0
|
||||
txt_str_end db 39,',0',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_0 db '0',0
|
||||
txt_1 db '1',0
|
||||
@ -1257,8 +1400,13 @@ txt_bit_28 db '0x10000000',0
|
||||
txt_bit_29 db '0x20000000',0
|
||||
txt_bit_30 db '0x40000000',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_struct db 'struct ',0
|
||||
txt_struc db 'struc',0
|
||||
txt_t db 't',0
|
||||
txt_met_end db '.end',0
|
||||
txt_ends db 'ends',13,13,0
|
||||
txt_mov db 'mov ',0
|
||||
@ -1278,15 +1426,22 @@ txt_esi db 'esi',0
|
||||
txt_align_4 db 'align 4',13,0
|
||||
txt_d_poi db ':',0
|
||||
txt_ret db 'ret',13,0
|
||||
txt_i65p db '*65536+',0
|
||||
txt_shl_16 db ' shl 16',0
|
||||
txt_std_mouse_ed:
|
||||
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:
|
||||
db 9,'stdcall [check_box_mouse], ',0
|
||||
txt_std_key_ed:
|
||||
db 9,'stdcall [edit_box_key], ',0
|
||||
txt_incl:
|
||||
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_editb_draw:
|
||||
db 9,'stdcall [edit_box_draw], ',0
|
||||
|
@ -207,50 +207,108 @@ locals
|
||||
coor_x dd ?
|
||||
coor_y dd ?
|
||||
ot_txt dd ? ;®âáâ㯠¤«ï ⥪áâ
|
||||
size_wh dd ? ;à §¬¥à ª¢ ¤à ⨪
|
||||
size_w dd ? ;à §¬¥à ª¢ ¤à ⨪ w
|
||||
size_h dd ? ;à §¬¥à ª¢ ¤à ⨪ h
|
||||
col_txt dd ? ;梥â ⥪âá
|
||||
endl
|
||||
pushad
|
||||
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
|
||||
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
|
||||
mov [coor_y],eax
|
||||
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
|
||||
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
|
||||
dec eax ;à §¬¥à ¬¥ìè¥ 1 ¯¨ªá¥«ì
|
||||
mov [size_wh],eax
|
||||
stdcall get_obj_text_col,ebx,5
|
||||
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,7 ;col_frame
|
||||
stdcall conv_str_to_int,edx
|
||||
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_y]
|
||||
sub dword[size_wh],2
|
||||
stdcall get_obj_text_col,ebx,4
|
||||
sub dword[size_w],2
|
||||
sub dword[size_h],2
|
||||
stdcall get_obj_text_col,ebx,6 ;col_fon
|
||||
stdcall conv_str_to_int,edx
|
||||
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
|
||||
mov [col_txt],eax
|
||||
mov eax,[ot_txt]
|
||||
add eax,[size_wh]
|
||||
add eax,2-1 ;sub dword[size_wh],2 ;inc dword[coor_x]
|
||||
add [coor_x],eax ;¢ëç¨á«ï¥¬ ª®®à¤¨ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
|
||||
add [coor_y],5-1 ;inc dword[coor_y]
|
||||
stdcall get_obj_text_col,ebx,3
|
||||
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,dword[coor_x],dword[coor_y],\
|
||||
mov eax,[coor_x]
|
||||
add eax,[size_w]
|
||||
add eax,[ot_txt] ;¢ëç¨á«ï¥¬ ª®®à¤¨ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
|
||||
|
||||
test_bool_prop ebx,BIT_MOD_CHE_T
|
||||
jc .end_txt_align ;if text aligment = top
|
||||
|
||||
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] ;à¨á㥬 áâபã á ⥪á⮬
|
||||
popad
|
||||
ret
|
||||
|
@ -20,7 +20,7 @@ include 'obj_codes.inc'
|
||||
|
||||
@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'
|
||||
|
||||
@ -43,23 +43,27 @@ WND_CAPT_COLOR equ 0xb0d0ff
|
||||
BUF_SIZE equ 1000
|
||||
|
||||
;modif
|
||||
BIT_MOD_ACI equ 0 ;¯®¤ª«î票ï ä ©«®¢
|
||||
BIT_MOD_ACI equ 0 ;¯¥à¢® ç «ìë¥ áâனª¨ í«¥¬¥â®¢
|
||||
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ®â ¬ëè¨
|
||||
BIT_MOD_ACD equ 2 ;¤ ë¥ ®¡ê¥ªâ®¢
|
||||
BIT_MOD_ABU equ 3 ;á¢ï§ë¢ ¨¥ ª®¯®ª
|
||||
;CPP_MOD_WI_CA equ 16 ; áâ¨«ì ®ª ¯®¤¯¨áì
|
||||
;CPP_MOD_WI_AO equ 32 ; áâ¨«ì ®ª ª®®à¤¨ âë ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« áâ¨
|
||||
;CPP_MOD_WI_RD equ 64 ; áâ¨«ì ®ª ¯¥à¥à¨á®¢ª ®ª
|
||||
;CPP_MOD_WI_GR equ 128 ; áâ¨«ì ®ª £à ¤¨¥â
|
||||
;CPP_MOD_CHE equ 512 ; ch_flag_en - ¢ë¡à CheckBox
|
||||
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_WI_CA equ 16 ;áâ¨«ì ®ª ¯®¤¯¨áì
|
||||
;CPP_MOD_WI_AO equ 32 ;áâ¨«ì ®ª ª®®à¤¨ âë ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« áâ¨
|
||||
;CPP_MOD_WI_RD equ 64 ;áâ¨«ì ®ª ¯¥à¥à¨á®¢ª ®ª
|
||||
;CPP_MOD_WI_GR equ 128 ;áâ¨«ì ®ª £à ¤¨¥â
|
||||
BIT_MOD_CHE equ 0 ; ch_flag_en - ¢ë¡à CheckBox
|
||||
BIT_MOD_CHE_T equ 1 ;ᢥàåã
|
||||
BIT_MOD_CHE_M equ 2 ;¯® æ¥âàã
|
||||
BIT_MOD_CHE_B equ 3 ;ᨧã
|
||||
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_RE_GR equ 1 ; £à ¤¨¥âë© ¯àאַ㣮«ì¨ª
|
||||
BIT_MOD_BUT_NFON equ 0 ; á⨫ì Button ¥ à¨á®¢ âì ª®¯ªã
|
||||
BIT_MOD_BUT_NBORD equ 1 ; á⨫ì Button ¥ à¨á®¢ âì £à ¨æã
|
||||
;CPP_MOD_RE_GR equ 1 ;£à ¤¨¥âë© ¯àאַ㣮«ì¨ª
|
||||
BIT_MOD_BUT_NFON equ 0 ;á⨫ì Button ¥ à¨á®¢ âì ª®¯ªã
|
||||
BIT_MOD_BUT_NBORD equ 1 ;á⨫ì Button ¥ à¨á®¢ âì £à ¨æã
|
||||
BIT_MOD_IMPORT_FUNCT_COMMENT equ 0 ;ª®¬¥â¨à®¢ âì äãªæ¨î
|
||||
|
||||
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨©
|
||||
{
|
||||
|
Binary file not shown.
@ -41,9 +41,9 @@ ObjOpt C_EDB, 1,1,'
|
||||
ObjOpt C_OPT, 1,1,'<27> ¤¨® ª®¯ª ','¨¬ï*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì*®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
<40, 50, 60, 80,100,120,180,190, 0, 0, 0>,\
|
||||
< 9, 15, 16, 25, 25, 25, 4, 26, 27, -1, -1>
|
||||
ObjOpt C_CHB, 1,1,'”« ¦®ª','***¯®¤¯¨áì*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *®âáâ㯠¤® ¤¯¨á¨*à §¬¥à ª¢ ¤à â ',\
|
||||
<40, 50, 60,120,140,160,180,190, 0, 0, 0>,\
|
||||
< 8, 15, 16, 4, 25, 25, 25, 26, 27, -1, -1>,\
|
||||
ObjOpt C_CHB, 1,1,'”« ¦®ª','¨¬ï áâàãªâãàë*®âáâ㯠᫥¢ *®âáâ㯠ᢥàåã*è¨à¨ *¢ëá®â *®âáâ㯠¤® ¤¯¨á¨*梥â ä® ¢ãâà¨*梥â à ¬ª¨ ¨ ¢ãâà. £ «®çª¨*梥â ⥪áâ *¯®¤¯¨áì',\
|
||||
<40, 50, 60, 70, 80, 90,110,130,150, 0, 0>,\
|
||||
< 8, 15, 16, 26, 27, 26, 25, 25, 25, 4,-1>,\
|
||||
txt_bit_che
|
||||
ObjOpt C_TXT, 1,0,'asm ª®¤','',\
|
||||
< 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>
|
||||
ObjOpt C_IFN, 1,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*梥â ⥪áâ *梥â ä® (¥á«¨ ¥áâì)',\
|
||||
<40, 50, 60, 80, 0, 0, 0, 0, 0, 0, 0>,\
|
||||
< 4, 15, 16, 25, 25, -1, -1, -1, -1, -1, -1>,\
|
||||
@ -81,7 +82,7 @@ ObjOpt 0x0d, 1,0, '-','',\
|
||||
dd 0 ;à §¤¥«¨â¥«ì
|
||||
|
||||
; §¢ ¨ï ¡¨â®¢ëå ᢮©áâ¢
|
||||
txt_bit_auto db '¯®¤ª«î票ï ä ©«®¢',0
|
||||
txt_bit_auto db '¯¥à¢® ç «ìë¥ áâனª¨ í«¥¬¥â®¢',0
|
||||
db 'ᮡëâ¨ï ®â ¬ëè¨',0
|
||||
db 'ª®¤ë í«¥¬¥â®¢',0
|
||||
db ' ¦ â¨ï ª®¯ª¨',0
|
||||
@ -95,6 +96,9 @@ txt_bit_edit db '
|
||||
db 'æ¨äàë ®â 0-9',0
|
||||
db 0
|
||||
txt_bit_che db 'check_box ¢ë¡à ',0
|
||||
db '⥪áâ c¢¥àåã',0
|
||||
db '⥪áâ ¯® æ¥âàã',0
|
||||
db '⥪áâ c¨§ã',0
|
||||
db 0
|
||||
txt_bit_but db '¥ à¨á®¢ âì ª®¯ªã',0
|
||||
db '¥ à¨á®¢ âì £à ¨æ㠯ਠ¦ ⨨',0
|
||||
@ -103,5 +107,5 @@ txt_bit_caption db '
|
||||
db '§ «¨¢ª ä® ',0
|
||||
db '2-© èà¨äâ',0
|
||||
db 0
|
||||
|
||||
|
||||
txt_bit_ifn db '§ ª®¬¥â¨à®¢ âì äãªæ¨î',0
|
||||
db 0
|
||||
|
@ -3,18 +3,18 @@
|
||||
;
|
||||
|
||||
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_INC equ ('#' shl 24) ;include
|
||||
C_TXT equ ('d' shl 24) ;¡«®ª ª®¤ (¤ ëå)
|
||||
C_VAR equ ('-' shl 24) ;¯¥à¥¬¥ ï
|
||||
C_COM equ (';' 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_EDB equ ('e' shl 24) ;EditBox
|
||||
C_BUT equ ('b' shl 24) ;Button
|
||||
C_DTT equ ('x' shl 24) ;à¨á®¢ âì ⥪áâ
|
||||
C_DTT equ 'Text' ;à¨á®¢ âì ⥪áâ
|
||||
C_REC equ 'Rect' ;à¨á®¢ âì ¯àאַ㣮«ì¨ª
|
||||
C_KEY equ ('k' shl 24) ;ª« ¢¨ âãà
|
||||
C_LIB equ 'Libr' ;¡¨¡«¨®â¥ª
|
||||
|
@ -22,7 +22,9 @@ init_checkbox2:
|
||||
jnz @b
|
||||
.ex_loop:
|
||||
|
||||
mov dword 2ch_sz_str,ebx ;запишим длинну строки с учетом отступа от квадратика
|
||||
mov dword 2ch_sz_str,ebx ;запишем длинну строки с учетом отступа от квадратика
|
||||
or dword 2ch_text_color,0x80000000 ;добавляем бит для вывода ASCIIZ-строки
|
||||
;на случай если пользователь забыл его самостоятельно поставить в структуре
|
||||
popad
|
||||
ret 4
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user