From a1a44f3b0ead18792ad82e5a8a5bc7e335debeb2 Mon Sep 17 00:00:00 2001 From: 0CodErr <0CodErr@kolibrios.org> Date: Sat, 9 Sep 2017 15:27:54 +0000 Subject: [PATCH] Implemented Ctrl+X handler in EditBox git-svn-id: svn://kolibrios.org@6968 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../develop/libraries/box_lib/trunk/editbox.asm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/programs/develop/libraries/box_lib/trunk/editbox.asm b/programs/develop/libraries/box_lib/trunk/editbox.asm index 38799124af..2563f53c2a 100644 --- a/programs/develop/libraries/box_lib/trunk/editbox.asm +++ b/programs/develop/libraries/box_lib/trunk/editbox.asm @@ -138,6 +138,8 @@ edit_box_key: jz @f ; проверка сканкода ror eax,8 + cmp ah,45 ; Ctrl + X + je edit_box_key.ctrl_x cmp ah,46 ; Ctrl + C je edit_box_key.ctrl_c cmp ah,47 ; Ctrl + V @@ -416,8 +418,14 @@ restore Src restore Pos restore DstSize 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: + push dword 'C' ; this value need below to determine which action is used +.pushed: ; add memory area mov ecx,ed_size add ecx,3*4 @@ -460,6 +468,9 @@ edit_box_key.ctrl_c: ; remove unnecessary memory area mcall SF_SYS_MISC,SSF_MEM_FREE .exit: + pop eax ; determine current action (ctrl+X or ctrl+C) + cmp eax, 'X' + je edit_box_key.delete jmp edit_box.editbox_exit edit_box_key.ctrl_v: