Page 1 of 1
Неактивное окно обрабатывает события мыши
Posted: Sun Sep 29, 2013 1:38 am
by 0CodErr
0CodErr wrote:В некоторых приложениях, например, в fasm, kpack и CPU edit_box-ы и check_box-ы реагируют на мышь даже если окно не активно и находится под другими окнами
Имел в виду это:
Spoiler:
-
1.gif (164.23 KiB)
Viewed 10566 times
06/10/2013 yogev_ezra: отделил тему от box_lib.obj - библиотека gui компонентов по просьбе Mario
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 6:47 am
by Mario_r4
0CodErr
Если составишь список программ имеющих описанный баг, то будет намного проще исправить.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 11:36 am
by 0CodErr
Mario_r4 wrote:0CodErr
Если составишь список программ имеющих описанный баг, то будет намного проще исправить.
Пока нашёл эти:
- h2d2b (EditBox)
run (EditBox, ещё окно может разворачиваться на весь экран)
mgb (EditBox в окне ввода комментария)
graph (EditBox)
rtfread (Menu)
cpu (CheckBox, EditBox)
Fasm (CheckBox, EditBox)
KPack (CheckBox, EditBox)
tftpc (OptionBox, EditBox)
downloader (EditBox)
ircc (EditBox)
А эти не используют box_lib:
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 2:45 pm
by Mario_r4
0CodErr wrote:Пока нашёл эти:
Вот эти я исправлять не буду:
graph (EditBox)
Checkers
Потому что ЯВУ и я этим не занимаюсь.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 3:15 pm
by Leency
Возможно, для EditBox необоходимо универсальное решение в библиотеке, т.к. я не представляю программу, где может потребоваться выделение в EditBox'e неактивного окна.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 3:42 pm
by Mario_r4
Leency wrote:Возможно, для EditBox необоходимо универсальное решение в библиотеке, т.к. я не представляю программу, где может потребоваться выделение в EditBox'e неактивного окна.
Ты сейчас глупость сказал. Это не задача компонента выяснять - "Находится ли мое окно на вершине стека?", тем более Serge
уже все сделал:
Spoiler:
Изменения в функции 40:
Бит 31 регистра ebx управляет фильтрацией событий мыши.
Бит 31 = 0 - окно всегда получает события от мыши.
Бит 31 = 1 - окно получает события мыши только в активном состоянии.
Планируется:
Бит 30 = 0 - окно получает события от мыши если курсор находится за пределами окна
Бит 30 = 1 - окно не получает события от мыши если курсор находится за пределами окна
Однако в обычной своей привычке не стал править документацию ядра.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun Sep 29, 2013 9:28 pm
by Mario_r4
0CodErr wrote:Mario_r4 wrote:0CodErr
Если составишь список программ имеющих описанный баг, то будет намного проще исправить.
Пока нашёл эти:
- h2d2b (EditBox)
run (EditBox, ещё окно может разворачиваться на весь экран)
mgb (EditBox в окне ввода комментария)
graph (EditBox)
rtfread (Menu)
cpu (CheckBox, EditBox)
Fasm (CheckBox, EditBox)
KPack (CheckBox, EditBox)
tftpc (OptionBox, EditBox)
downloader (EditBox)
ircc (EditBox)
А эти не используют box_lib:
Исправлено все, кроме
graph и
Checkers, в SVN r. 3941-3952.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sat Oct 05, 2013 12:07 am
by Leency
Проблема также наблюдается со скроллом SHELL (console.obj?)
Re: Неактивное окно обрабатывает события мыши
Posted: Sun Oct 06, 2013 3:08 pm
by Serge
Однако в обычной своей привычке не стал править документацию ядра
Английская версия была исправлена сразу. А для русской у меня нет редакторов с поддержкой cp866.
Re: Неактивное окно обрабатывает события мыши
Posted: Sun Oct 06, 2013 5:35 pm
by Mario_r4
Serge wrote:Однако в обычной своей привычке не стал править документацию ядра
Английская версия была исправлена сразу. А для русской у меня нет редакторов с поддержкой cp866.
Вообще с некоторых пор файл sysfuncr.txt содержится на SVN в кодировке UTF8, а при сборке дистрибутива он перекодируется скриптом в CP866.
Re: Неактивное окно обрабатывает события мыши
Posted: Sun Oct 06, 2013 5:52 pm
by Serge
Но это с некоторых пор, а изменения были 27-28 февраля прошлого года.