diff --git a/programs/system/rb/trunk/@RB.ASM b/programs/system/rb/trunk/@RB.ASM index cbb47bfe57..1a9436c272 100644 --- a/programs/system/rb/trunk/@RB.ASM +++ b/programs/system/rb/trunk/@RB.ASM @@ -172,10 +172,28 @@ mouse: ; mov eax,37 mov ebx,2 ; какие кнопки нажаты? mcall - test eax,eax ; никакие? - тогда прекрасно! вернёмся в гланый цикл + test eax,eax ; никакие? - тогда прекрасно! вернёмся в главный цикл jz still2 - jmp exit_menu ; а если всё-таки нажаты - закроем окно + mcall 37, 0 + mov esi, eax + shr esi, 16 + movzx edi, ax + mcall 9, procinfo2, -1 + mov eax, [procinfo2.box.left] + cmp esi, eax + jl exit_menu + add eax, [procinfo2.box.width] + cmp esi, eax + jge exit_menu + mov eax, [procinfo2.box.top] + cmp edi, eax + jl exit_menu + add eax, [procinfo2.box.height] + cmp edi, eax + jge exit_menu + + jmp still2 ; НАЖАТА КНОПКА button: @@ -392,6 +410,7 @@ start_info.path rb 256 sc system_colors ; системные цвета procinfo process_information ; информация о процессе + procinfo2 process_information rb 1024 ; стэк для окна меню - хватит и 1 Кб align 32 @@ -399,4 +418,4 @@ start_info.path rb 256 MEOS_APP_END -; КОНЕЦ ПРОГРАММЫ \ No newline at end of file +; КОНЕЦ ПРОГРАММЫ