Implemented Ctrl+X handler in EditBox

git-svn-id: svn://kolibrios.org@6968 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
0CodErr 2017-09-09 15:27:54 +00:00
parent 69ac8d6af6
commit a1a44f3b0e

View File

@ -138,6 +138,8 @@ edit_box_key:
jz @f jz @f
; 能恥丞<E681A5><><EFBFBD> ; 能恥丞<E681A5><><EFBFBD>
ror eax,8 ror eax,8
cmp ah,45 ; Ctrl + X
je edit_box_key.ctrl_x
cmp ah,46 ; Ctrl + C cmp ah,46 ; Ctrl + C
je edit_box_key.ctrl_c je edit_box_key.ctrl_c
cmp ah,47 ; Ctrl + V cmp ah,47 ; Ctrl + V
@ -416,8 +418,14 @@ restore Src
restore Pos restore Pos
restore DstSize restore DstSize
restore TmpBuf restore TmpBuf
;---------------------------------------- ;----------------------------------------
edit_box_key.ctrl_x:
push dword 'X' ; this value need below to determine which action is used
jmp edit_box_key.ctrl_c.pushed
edit_box_key.ctrl_c: edit_box_key.ctrl_c:
push dword 'C' ; this value need below to determine which action is used
.pushed:
; add memory area ; add memory area
mov ecx,ed_size mov ecx,ed_size
add ecx,3*4 add ecx,3*4
@ -460,6 +468,9 @@ edit_box_key.ctrl_c:
; remove unnecessary memory area ; remove unnecessary memory area
mcall SF_SYS_MISC,SSF_MEM_FREE mcall SF_SYS_MISC,SSF_MEM_FREE
.exit: .exit:
pop eax ; determine current action (ctrl+X or ctrl+C)
cmp eax, 'X'
je edit_box_key.delete
jmp edit_box.editbox_exit jmp edit_box.editbox_exit
edit_box_key.ctrl_v: edit_box_key.ctrl_v: