20,7 → 20,7 |
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
|
hed db 'kol_f_edit 10.12.10',0 |
hed db 'kol_f_edit 13.12.10',0 |
|
sizeof.TreeList equ 20 ;need for element 'tree_list' |
|
43,29 → 43,24 |
BUF_SIZE equ 1000 |
|
;modif |
CPP_MOD_ACM equ 2 ;ᮡëâ¨ï ¬ëè¨ |
BIT_MOD_ACM equ 1 ;ᮡëâ¨ï ¬ëè¨ |
CPP_MOD_ACI equ 4 ; ¢ª«î票ï |
BIT_MOD_ACI equ 2 ; ¢ª«î票ï |
CPP_MOD_ACD equ 8 ;¤ ë¥ ®¡ê¥ªâ®¢ |
BIT_MOD_ACD equ 3 ;¤ ë¥ ®¡ê¥ªâ®¢ |
CPP_MOD_ABU equ 16 ;á¢ï§ë¢ ¨¥ ª®¯®ª |
BIT_MOD_ABU equ 4 ;á¢ï§ë¢ ¨¥ ª®¯®ª |
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_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_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 |
CPP_MOD_TXT_ASCII_0 equ 1 ; ⥪áâ § ª 稢. 0 |
CPP_MOD_TXT_TRAN equ 4 ; ⥪á⠯஧à çë© |
CPP_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 ; £à ¤¨¥âë© ¯àאַ㣮«ì¨ª |
CPP_MOD_BUT_NFON equ 1 ; á⨫ì Button ¥ à¨á®¢ âì ª®¯ªã |
CPP_MOD_BUT_NBORD equ 2 ; á⨫ì Button ¥ à¨á®¢ âì £à ¨æã |
|
macro load_image_file path,buf,size ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
{ |
copy_path path,sys_path,fp_icon,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
106,21 → 101,20 |
ends |
|
struct object |
c db ? ;0 |
txt rb MAX_LEN_OBJ_TXT ;1 |
lvl db 0 ;1+mt |
clo db 0 ;2+mt |
rb 8 ;3+mt ¥ ¨á¯®«ì§ã¥âáï, ®âáâ «®áì ®â Win ¢¥àᨨ |
typid dd ? ;3+8+mt |
modif dd ? ;7+8+mt |
id dd ? ;¨¤¥â¨ä¨ª â®à ®¡ê¥ªâ |
txt rb MAX_LEN_OBJ_TXT ;⥪áâ®¢ë¥ á¢®©á⢠|
lvl db 0 |
clo db 0 |
typid dd ? ;®¬¥à ®¡ê¥ªâ ®¯à¥¤¥«ïî饣® ⨯ ¯¥à¥¬¥®© |
modif dd ? ;¡¨â®¢ë¥ ᢮©á⢠|
ends |
|
struct ObjOpt |
db ? |
dd ? |
bl_type db ? |
graph db ? |
info rb 30 |
caption rb 200 |
caption rb MAX_OPT_CAPTION |
Col rw MAX_OPT_FIELDS |
img rw MAX_OPT_FIELDS ;¨¤¥ªáë ª à⨮ª (¢ ä ©«¥ 'icon.bmp') |
bit_prop dd 0 ;¡¨â®¢ë¥ ᢮©á⢠|
151,6 → 145,12 |
|
fn_syntax db 'asm.syn',0 ;¨¬ï § £à㦠¥¬®£® ä ©« á¨â ªá¨á |
|
;¬ ªà®á ¤«ï ¯à®¢¥àª¨ ¡¨â®¢®£® ᢮©á⢠|
macro test_bool_prop obj_reg,n_prop |
{ |
bt dword[obj_reg+u_object.modif-u_object],n_prop |
} |
|
include 'ced_wnd_m.inc' |
include 'ced_wnd_prop.inc' ;ä ©« á äãªæ¨ï¬¨ ®ª ᢮©á⢠®¡ê¥ªâ |
include 'ced_constr.inc' ;ä ©« á äãªæ¨ï¬¨ ®ª ª®áâàãªâ®à |
268,8 → 268,8 |
|
mov eax,obj_opt ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë |
@@: |
mov bl,byte[eax] |
cmp bl,0 |
mov ebx,dword[eax] |
cmp ebx,0 |
je @f |
;xor ecx,ecx ;¢ ecx ¡ã¤¥â ¨¤¥ªá ¨ª®ª¨ |
mov cx,word[eax+obj_opt.img-obj_opt] |
617,8 → 617,8 |
stdcall dword[tl_info_clear], tree2 |
mov eax,ced_info ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâë |
@@: |
mov bl,byte[eax] |
cmp bl,0 |
mov ebx,dword[eax] |
cmp ebx,0 |
je @f |
|
call find_obj_in_opt ;edi = pointer to ObjOpt struct |
629,10 → 629,10 |
xor cx,cx ;çâ®-¡ë ¥ £«î稫® á ®âà¨æ ⥫ìë¬ ¨¤¥ªá®¬ |
.zero: |
shl ecx,16 ;¢ ecx ¨¤¥ªá ¨ª®ª¨ |
mov cl,byte[eax+1+MAX_LEN_OBJ_TXT] ;ã஢¥ì ®¡ê¥ªâ |
mov cl,byte[eax++u_object.lvl-u_object] ;ã஢¥ì ®¡ê¥ªâ |
|
;tl_node_close_open - ¥ ¯®¤å®¤¨â, â.ª. ¤¥©áâ¢ã¥â ã§«ë ¨¬¥î騥 ¤®ç¥à¨¥ |
mov ch,byte[eax+2+MAX_LEN_OBJ_TXT] ;§ ªàëâë©/®âªàëâë© |
mov ch,byte[eax++u_object.clo-u_object] ;§ ªàëâë©/®âªàëâë© |
|
stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ |
|
666,20 → 666,19 |
pop esi ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
|
mov bl,byte[edx+2] ;bl - ã஢¥ì ®¡ê¥ªâ |
mov byte[esi+1+MAX_LEN_OBJ_TXT],bl |
mov byte[esi+u_object.lvl-u_object],bl |
mov bl,byte[edx+3] ;bl - ®âªàë⨥/§ ªàë⨥ ®¡ê¥ªâ |
mov byte[esi+2+MAX_LEN_OBJ_TXT],bl |
mov byte[esi+u_object.clo-u_object],bl |
|
;¢ëç¨á«ï¥¬ ®¢ë© ¨¤¥ªá ¤«ï ⨯ ®¡ê¥ªâ |
mov ebx,[esi+3+8+MAX_LEN_OBJ_TXT] ;ebx - ⨯ ®¡ê¥ªâ |
mov ebx,[esi+u_object.typid-u_object] ;ebx - ⨯ ®¡ê¥ªâ |
;á®åà 塞 ⨯ ®¡ê¥ªâ |
push ebx |
imul ebx,sizeof.TreeList |
add ebx,[tree2.data_nodes] ;ebx - 㪠§ â¥«ì ®¡ê¥ªâ 㪠§ë¢ î騩 ⨯ |
stdcall get_obj_npp,ebx |
mov [esi+3+8+MAX_LEN_OBJ_TXT],eax |
mov [esi+u_object.typid-u_object],eax |
mov eax,esi |
|
;ª®¯¨à㥬 ®¡ê¥ªâ ¢ ¯ ¬ïâì ¤«ï á®åà ¥¨ï |
xor ecx,ecx |
mov cx,word[tree2.info_size] |
686,14 → 685,14 |
cld |
rep movsb |
;¢®ááâ ¢«¨¢ ¥¬ ⨯ ®¡ê¥ªâ |
pop dword[eax+3+8+MAX_LEN_OBJ_TXT] |
pop dword[eax+u_object.typid-u_object] |
|
stdcall [tl_node_poi_get_next_info], edx,tree2 |
pop edx ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
jmp @b |
@@: |
mov byte[edi],0 |
inc edi |
mov dword[edi],0 ;¬¥âª ª®æ ä ©« |
add edi,4 |
mov ecx,edi |
sub ecx,ced_info ;ecx - à §¬¥à á®åà 塞®£® ä ©« |
|
807,30 → 806,6 |
;call draw_window |
ret |
|
align 4 |
proc set_obj_win_param, col:dword, edit:dword |
pushad |
stdcall get_obj_text_col, [foc_obj], [col] ;edx - text |
stdcall get_obj_text_len_col, [foc_obj], [col] ;eax - ¤«¨ ¯®«ï |
mov edi,[edit] |
cmp eax,1 |
jl @f |
dec eax |
mov ed_max,eax ;ed_max = edi+.max |
mov ed_focus_border_color, dword 0xff |
mov ed_blur_border_color, dword 0x808080 |
stdcall [edit_box_set_text], edi,edx ;®¡®¢«ï¥¬ editbox |
jmp .end_f |
@@: |
mov ed_max,dword MAX_LEN_OBJ_TXT |
mov ed_focus_border_color, dword 0xffffff ;¤¥« ¥¬ ¥¢¨¤¨¬ãî ªâ¨¢ãî à ¬ªã |
mov ed_blur_border_color, dword 0xffffff ;¤¥« ¥¬ ¥¢¨¤¨¬ãî ä®®¢ãî à ¬ªã |
stdcall [edit_box_set_text], edi,txt_null |
.end_f: |
popad |
ret |
endp |
|
;äãªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ¦ ⨨ Enter ¢ ®ª¥ tree1 |
;¤®¡ ¢«ï¥â ®¢ë© ®¡ê¥ªâ ¢ ®ª® tree2 |
align 4 |
844,8 → 819,8 |
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ |
shl ecx,16 |
stdcall mem_clear, u_object,sizeof.object |
mov bl,byte[eax] |
mov byte[u_object.c],bl |
mov ebx,dword[eax] |
mov dword[u_object.id],ebx |
stdcall dword[tl_node_add], u_object, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ |
@@: |
pop ecx ebx eax |
956,11 → 931,11 |
el_focus dd tree1 |
;¤¥à¥¢® ᮠᯨ᪮¬ ¢®§¬®¦ëå ⨯®¢ ®¡ê¥ªâ®¢ |
tree1 tree_list sizeof.ObjOpt,20+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\ |
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,280, 0,3,0, el_focus,\ |
16,16, 0xffffff,0xb0d0ff,0xd000ff, 5,50,125,280, 0,obj_opt.info-obj_opt,0, el_focus,\ |
w_scr_t1,on_add_object |
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥ |
tree2 tree_list sizeof.object,MAX_CED_OBJECTS+2, tl_draw_par_line,\ |
16,16, 0xffffff,0xb0d0ff,0xd000ff, 155,50,130,280, 13,1,MAX_LEN_OBJ_TXT, el_focus,\ |
16,16, 0xffffff,0xb0d0ff,0xd000ff, 155,50,130,280, 13,u_object.txt-u_object,MAX_LEN_OBJ_TXT, el_focus,\ |
w_scr_t2,on_file_object_select |
|
msgbox_0: |
1168,6 → 1143,7 |
cur_x dd 0 |
cur_y dd 0 |
foc_obj dd 0 ;®¡ê¥ªâ ¢ 䮪ãᥠ|
obj_count_txt_props dd 0 ;ª®«¨ç¥á⢮ ¨á¯®«ì§ã¥¬ëå ⥪á⮢ëå ᢮©á⢠|
obj_m_win dd 0 ;áâàãªâãà £« ¢®£® ®ª |
|
; |