mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-27 00:39:41 +03:00
Fixed deletion of selected text in the Editbox with "Backspace"
"Shift+Delete", "Shift+Backspace" with selected text still work wrong. git-svn-id: svn://kolibrios.org@1858 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ba8ddae0aa
commit
4a76b34dcc
@ -62,18 +62,18 @@ pushad
|
|||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®¢¥à塞, çâ® ¦ â® --------------------------------
|
;--- ¯à®¢¥à塞, çâ® ¦ â® --------------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
use_key_process backspase,delete,left,right,home,end,insert
|
use_key_process backspace,delete,left,right,home,end,insert
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;‡ £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪
|
;‡ £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
|
||||||
;--- ¦ â ¤àã£ ï ª« ¢¨è ---
|
;--- ¦ â ¤àã£ ï ª« ¢¨è ---
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;<3B>஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á
|
;<3B>஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥, ¥á«¨ â ª®© ¥®¡å®¤¨¬®á⨠¥â, 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_key_figures_only
|
use_key_figures_only
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;¯à®¢¥àª shift ¡ë« «¨ ¦ â
|
;¯à®¢¥àª shift, ¡ë« «¨ ¦ â
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
are_key_shift_press
|
are_key_shift_press
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -81,7 +81,7 @@ are_key_shift_press
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
are_key_cur_end
|
are_key_cur_end
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;Ž¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right
|
;Ž¡à ¡®âª ª« ¢¨è insert,delete.backspace,home,end,left,right
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
use_work_key
|
use_work_key
|
||||||
}
|
}
|
||||||
@ -149,36 +149,15 @@ use_mouse_func
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬
|
;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬
|
||||||
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
;Œ ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯«ì§ãîâáï ¡®ªá®¬
|
;Œ ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯®«ì§ãîâáï ¡®ªá®¬
|
||||||
macro use_general_func
|
macro use_general_func
|
||||||
{
|
{
|
||||||
;debug_func
|
;debug_func
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠-----------------
|
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠-----------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
edit_box.draw_shift:
|
edit_box.draw_shift:
|
||||||
test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
||||||
@ -237,14 +216,14 @@ edit_box.draw_bg_eax:
|
|||||||
mcall
|
mcall
|
||||||
ret
|
ret
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â
|
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 è¨à¨¥ ª®¬¯®¥â
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
edit_box.get_n:
|
edit_box.get_n:
|
||||||
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â
|
||||||
xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
xor edx,edx ;१ã«ìâ â à ᯮ« £ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪
|
||||||
sub eax,4 ;¢ëç⨬ 4
|
sub eax,4 ;¢ëç⥬ 4
|
||||||
mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì
|
mov ebx,6 ;§ £à㧨¬ ¤¥«¨â¥«ì
|
||||||
div ebx ;à §¬¤¥«¨¬ 6
|
div ebx ;à §¤¥«¨¬ 6
|
||||||
ret
|
ret
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à --------------------------
|
;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à --------------------------
|
||||||
@ -325,8 +304,8 @@ ret
|
|||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, ---
|
;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, ---
|
||||||
;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------
|
;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------
|
||||||
;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥
|
;--- ¥á«¨ ᬥ饨¥ ¡ë«®, ãáâ ®¢ª ä« £ ed_offset_cl, ¨ ç¥,
|
||||||
; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl
|
; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì, â® ¢ëáâ ¢«¥¨¥ ed_offset_fl
|
||||||
; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags
|
; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
edit_box.check_offset:
|
edit_box.check_offset:
|
||||||
@ -337,7 +316,7 @@ pushad
|
|||||||
ja edit_box.sub_8
|
ja edit_box.sub_8
|
||||||
|
|
||||||
push ebx
|
push ebx
|
||||||
call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ edx:eax
|
call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ edx:eax
|
||||||
pop ebx
|
pop ebx
|
||||||
mov edx,ebx
|
mov edx,ebx
|
||||||
add edx,eax ;ed_offset+width editbox
|
add edx,eax ;ed_offset+width editbox
|
||||||
@ -389,11 +368,11 @@ pushad
|
|||||||
xor al,al
|
xor al,al
|
||||||
cld
|
cld
|
||||||
repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al
|
repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al
|
||||||
mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text
|
mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text
|
||||||
|
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
mov esi,dword[text]
|
mov esi,dword[text]
|
||||||
sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max)
|
sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max)
|
||||||
dec ecx
|
dec ecx
|
||||||
mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨
|
mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨
|
||||||
mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨
|
mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨
|
||||||
@ -449,7 +428,7 @@ edit_box_key.sh_n1:
|
|||||||
pop ebx ;¡®«ì襥
|
pop ebx ;¡®«ì襥
|
||||||
pop eax ;¬¥ì襥
|
pop eax ;¬¥ì襥
|
||||||
|
|
||||||
cmp eax,ecx ;áà ¢¥¨¥ á ¬¥ì襣® á offset.
|
cmp eax,ecx ;áà ¢¥¨¥ ¬¥ì襣® á offset.
|
||||||
jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥
|
jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬
|
||||||
@ -494,7 +473,7 @@ edit_box_key.drw_sim:
|
|||||||
call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬
|
call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬
|
||||||
jmp @b
|
jmp @b
|
||||||
;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
;”ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
;”ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
||||||
;‹®£¨ª :
|
;‹®£¨ª :
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
edit_box_key.draw_wigwag:
|
edit_box_key.draw_wigwag:
|
||||||
@ -502,14 +481,14 @@ edit_box_key.draw_wigwag:
|
|||||||
mov ebp,shift_color
|
mov ebp,shift_color
|
||||||
call edit_box.clear_cursor
|
call edit_box.clear_cursor
|
||||||
|
|
||||||
or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« áâ¨
|
or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ ¢ë¤¥«¥®© ®¡« áâ¨
|
||||||
mov ebp,shift_color
|
mov ebp,shift_color
|
||||||
mov eax,dword ed_pos
|
mov eax,dword ed_pos
|
||||||
test word ed_flags,ed_left_fl
|
test word ed_flags,ed_left_fl
|
||||||
jz edit_box_key.low
|
jz edit_box_key.low
|
||||||
jmp @f
|
jmp @f
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
;”ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
;”ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift
|
||||||
;‹®£¨ª :
|
;‹®£¨ª :
|
||||||
;;;;;;;;;;
|
;;;;;;;;;;
|
||||||
edit_box_key.draw_wigwag_cl:
|
edit_box_key.draw_wigwag_cl:
|
||||||
@ -536,7 +515,7 @@ edit_box_key.sh_first_sh:
|
|||||||
or word ed_flags,ed_shift_on
|
or word ed_flags,ed_shift_on
|
||||||
@@: ret
|
@@: ret
|
||||||
;Ž¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift
|
;Ž¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift
|
||||||
;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨¥, ¥á«¨ ¥â shift
|
;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨ï, ¥á«¨ ¥â shift
|
||||||
;¨ ç¥ ¢®®¡é¥ ¢ë室¨â
|
;¨ ç¥ ¢®®¡é¥ ¢ë室¨â
|
||||||
edit_box_key.sh_st_of:
|
edit_box_key.sh_st_of:
|
||||||
test word ed_flags,ed_shift
|
test word ed_flags,ed_shift
|
||||||
@ -546,16 +525,16 @@ edit_box_key.sh_st_of:
|
|||||||
mov ebp,ed_color
|
mov ebp,ed_color
|
||||||
mov ebx,dword ed_shift_pos
|
mov ebx,dword ed_shift_pos
|
||||||
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
||||||
and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣® çâ® ã¡à «¨ ¢ë¤¥«¥¨¥
|
and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣®, çâ® ã¡à «¨ ¢ë¤¥«¥¨¥
|
||||||
jmp edit_box.draw_cursor_text
|
jmp edit_box.draw_cursor_text
|
||||||
@@:
|
@@:
|
||||||
and word ed_flags,ed_shift_off
|
and word ed_flags,ed_shift_off
|
||||||
popad
|
popad
|
||||||
ret 4
|
ret 4
|
||||||
;¯à®¢¥àª á®áâ®ï¨ï shift ¡ë« «¨ ® ¦ â à ìè¥?
|
;¯à®¢¥àª á®áâ®ï¨ï shift, ¡ë« «¨ ® ¦ â à ìè¥?
|
||||||
edit_box_key.sh_enable:
|
edit_box_key.sh_enable:
|
||||||
test word ed_flags,ed_shift
|
test word ed_flags,ed_shift
|
||||||
jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª
|
jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª
|
||||||
|
|
||||||
test word ed_flags,ed_shift_bac
|
test word ed_flags,ed_shift_bac
|
||||||
je @f
|
je @f
|
||||||
@ -563,7 +542,7 @@ edit_box_key.sh_enable:
|
|||||||
|
|
||||||
mov ebp,ed_color
|
mov ebp,ed_color
|
||||||
mov ebx,dword ed_shift_pos
|
mov ebx,dword ed_shift_pos
|
||||||
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â
|
||||||
call edit_box_key.draw_wigwag_cl
|
call edit_box_key.draw_wigwag_cl
|
||||||
and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮
|
and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮
|
||||||
ret
|
ret
|
||||||
@ -576,11 +555,11 @@ edit_box_key.sh_ext_en:
|
|||||||
call edit_box.check_offset
|
call edit_box.check_offset
|
||||||
test word ed_flags,ed_offset_fl
|
test word ed_flags,ed_offset_fl
|
||||||
je @f
|
je @f
|
||||||
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
mov eax,dword ed_shift_pos
|
mov eax,dword ed_shift_pos
|
||||||
mov ebx,dword ed_pos
|
mov ebx,dword ed_pos
|
||||||
mov ecx,dword ed_shift_pos_old
|
mov ecx,dword ed_shift_pos_old
|
||||||
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
||||||
cmp eax,ecx
|
cmp eax,ecx
|
||||||
je edit_box_key.1_shem
|
je edit_box_key.1_shem
|
||||||
jb edit_box_key.smaller
|
jb edit_box_key.smaller
|
||||||
@ -645,7 +624,7 @@ edit_box_key.del_char:
|
|||||||
cmp eax,ecx
|
cmp eax,ecx
|
||||||
jae edit_box_key.dh_n
|
jae edit_box_key.dh_n
|
||||||
|
|
||||||
mov ed_pos,eax ;çâ® ¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à
|
mov ed_pos,eax ;çâ®¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à
|
||||||
mov ebp,ecx
|
mov ebp,ecx
|
||||||
sub ebp,eax
|
sub ebp,eax
|
||||||
add ebx,eax ;eax ¬¥ìè¥
|
add ebx,eax ;eax ¬¥ìè¥
|
||||||
@ -664,7 +643,7 @@ edit_box_key.dh_n:
|
|||||||
mov dword ed_shift_pos,ebp
|
mov dword ed_shift_pos,ebp
|
||||||
jmp edit_box_key.del_ch_sh
|
jmp edit_box_key.del_ch_sh
|
||||||
|
|
||||||
@@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãää¥àã
|
@@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãä¥àã
|
||||||
mov ebx,esi
|
mov ebx,esi
|
||||||
inc esi
|
inc esi
|
||||||
cld
|
cld
|
||||||
@ -701,7 +680,7 @@ edit_box_key.clear_bg:
|
|||||||
@@: mov ebx,ed_pos
|
@@: mov ebx,ed_pos
|
||||||
push ebx
|
push ebx
|
||||||
sub eax,ebx
|
sub eax,ebx
|
||||||
mov ebx,eax ;It is don't optimal
|
mov ebx,eax ;It is not optimal
|
||||||
|
|
||||||
pop eax ;ed_pos
|
pop eax ;ed_pos
|
||||||
mov ecx,ed_offset
|
mov ecx,ed_offset
|
||||||
@ -757,9 +736,9 @@ pusha ;
|
|||||||
@@:edit_ex
|
@@:edit_ex
|
||||||
}
|
}
|
||||||
;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï
|
;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï
|
||||||
macro use_key_process backspase,delete,left,right,home,end,insert
|
macro use_key_process backspace,delete,left,right,home,end,insert
|
||||||
{
|
{
|
||||||
if backspase eq
|
if backspace eq
|
||||||
else
|
else
|
||||||
cmp ah,8
|
cmp ah,8
|
||||||
jz edit_box_key.backspace
|
jz edit_box_key.backspace
|
||||||
@ -846,7 +825,7 @@ end if
|
|||||||
|
|
||||||
macro use_key_figures_only
|
macro use_key_figures_only
|
||||||
{
|
{
|
||||||
test word ed_flags,ed_figure_only ; ⮫쪮 æ¨äàë ?
|
test word ed_flags,ed_figure_only ; ⮫쪮 æ¨äàë?
|
||||||
jz @f
|
jz @f
|
||||||
cmp ah,'0'
|
cmp ah,'0'
|
||||||
jb edit_box.editbox_exit
|
jb edit_box.editbox_exit
|
||||||
@ -906,7 +885,7 @@ macro are_key_cur_end
|
|||||||
cmp ecx,ebx ;…᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥
|
cmp ecx,ebx ;…᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥
|
||||||
je edit_box_key.In_k
|
je edit_box_key.In_k
|
||||||
|
|
||||||
test dword bp_flags,ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp
|
test dword bp_flags,ed_insert ;IF insert is enabled â.ª. edi ¨§¬¥¥, ¤à¥á㥬 ç¥à¥§ ebp
|
||||||
jne edit_box_key.ins_v
|
jne edit_box_key.ins_v
|
||||||
;clear
|
;clear
|
||||||
pusha
|
pusha
|
||||||
@ -915,7 +894,7 @@ pusha
|
|||||||
call edit_box_key.clear_bg
|
call edit_box_key.clear_bg
|
||||||
popa
|
popa
|
||||||
sub ecx,ebx ;<3B> ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï.
|
sub ecx,ebx ;<3B> ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï.
|
||||||
inc edi ;‘¬¥á⨬ è¨ á¨¬¢®«ë ¢ ¯à ¢®
|
inc edi ;‘¬¥á⨬ è¨ á¨¬¢®«ë ¢¯à ¢®
|
||||||
std
|
std
|
||||||
inc ecx
|
inc ecx
|
||||||
@@:
|
@@:
|
||||||
@ -976,12 +955,12 @@ edit_box_key.bac_del:
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;--- ¦ â ª« ¢¨è backspace ---
|
;--- ¦ â ª« ¢¨è backspace ---
|
||||||
edit_box_key.backspace:
|
edit_box_key.backspace:
|
||||||
; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ?
|
test word ed_flags,ed_shift_on
|
||||||
|
jne edit_box_key.delete
|
||||||
|
; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï?
|
||||||
mov ecx,ed_pos
|
mov ecx,ed_pos
|
||||||
test ecx,ecx
|
test ecx,ecx
|
||||||
jnz edit_box_key.del_bac
|
jnz edit_box_key.del_bac
|
||||||
test word ed_flags,ed_shift_on
|
|
||||||
jne edit_box_key.bac_del
|
|
||||||
popad
|
popad
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
@ -1088,24 +1067,24 @@ edit_box_mouse.mouse_wigwag:
|
|||||||
sub ebx,ed_width
|
sub ebx,ed_width
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
sub eax,ebx ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å
|
sub eax,ebx ; ¢ëç⥬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å
|
||||||
mov ebx,6
|
mov ebx,6
|
||||||
div ebx
|
div ebx
|
||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox
|
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox
|
||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
;<3B>®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì
|
;<3B>®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì
|
||||||
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥
|
add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥
|
||||||
cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì
|
cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì
|
||||||
ja edit_box_mouse.mwigvag
|
ja edit_box_mouse.mwigvag
|
||||||
edit_box_mouse.mdraw:
|
edit_box_mouse.mdraw:
|
||||||
mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥
|
mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥
|
||||||
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å
|
;<3B>¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨áâª
|
||||||
mov ecx,dword ed_shift_pos
|
mov ecx,dword ed_shift_pos
|
||||||
mov ebx,dword ed_shift_pos_old
|
mov ebx,dword ed_shift_pos_old
|
||||||
mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à
|
mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à
|
||||||
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩
|
||||||
cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤
|
cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤
|
||||||
je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥
|
je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥
|
||||||
jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® ->
|
jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® ->
|
||||||
@ -1245,7 +1224,7 @@ edit_box_mouse._mshift:
|
|||||||
mov ebp,dword shift_color
|
mov ebp,dword shift_color
|
||||||
mov ebx,dword ed_shift_pos
|
mov ebx,dword ed_shift_pos
|
||||||
call edit_box_key.sh_cl_
|
call edit_box_key.sh_cl_
|
||||||
or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
|
or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â, çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
|
||||||
edit_box_mouse.m_sh:
|
edit_box_mouse.m_sh:
|
||||||
call edit_box.draw_text
|
call edit_box.draw_text
|
||||||
call edit_box.draw_cursor
|
call edit_box.draw_cursor
|
||||||
@ -1300,23 +1279,23 @@ macro debug
|
|||||||
macro debug_func
|
macro debug_func
|
||||||
{
|
{
|
||||||
.str:
|
.str:
|
||||||
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«®
|
mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï, ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx, ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«®
|
||||||
;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®©
|
;¯¥à¥¢®¤ ç¨á« ¢ ASCII áâபã, ¢å®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥¨ï, edi ¤à¥á ªã¤ ¡ã¤¥¬ § ¯¨áë¢ âì áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®©
|
||||||
cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax
|
cmp eax,ecx ;áà ¢¨âì, ¥á«¨ ¢ eax ¬¥ìè¥, 祬 ¢ ecx, â® ¯¥à¥©â¨ @@-1 â.¥. pop eax
|
||||||
jb @f
|
jb @f
|
||||||
xor edx,edx ;®ç¨áâ¨âì edx
|
xor edx,edx ;®ç¨áâ¨âì edx
|
||||||
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx
|
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx
|
||||||
push edx ;¯®«®¦¨âì ¢ á⥪
|
push edx ;¯®«®¦¨âì ¢ á⥪
|
||||||
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨
|
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨
|
||||||
call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx
|
call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â , ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx
|
||||||
pop eax
|
pop eax
|
||||||
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï))
|
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al, 祬 10 (¤«ï á¨á⥬ë áç¨á«¥¨ï 10 ¤ ï ª®¬ ¤ - «¨è ï))
|
||||||
;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â
|
;sbb al,$69 ;- ç¥áâ®, ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â
|
||||||
;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥)
|
;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥)
|
||||||
or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
|
or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥, 祬 ¤¢¥ ¢ëè¥
|
||||||
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祩ªã ¯ ¬ï⨠es:edi
|
||||||
|
|
||||||
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
ret ;¢¥àãâìáï ®ç¥ì ¨â¥à¥áë© å®¤, â.ª. ¯®ª ¢ á⥪¥ åà ¨âáï ª®«-¢® ¢ë§®¢®¢, â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
||||||
}
|
}
|
||||||
|
|
||||||
ed_struc_size=76
|
ed_struc_size=76
|
||||||
|
Loading…
Reference in New Issue
Block a user