Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 11
Модератор форума: Peter, DEMBEL, YURIY 
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Событие на нажатие ЛКМ по таблице
Событие на нажатие ЛКМ по таблице
LitronДата: Чт, 27 Сентября 2012, 12:54 | Сообщение # 1
Новичок
Всем привет :) .
Оттачиваю свою программку по аккумуляторным батареям. (Отдельное спасибо за помощь с диаграммой mishem и Necronomicon).
Встал вопрос - можно ли сделать проще?
В проге есть 2 Restangle, в которых размещены таблицы. В одной из них список АБ, в другой измерения. При нажатии на любую строчку в таблице АБ происходит вывод измерений данной АБ.
Так вот, так как в свойствах таблицы (плагин NeoBookDBPro) нет события на нажатие ЛКМ, то я установил сканер мыши (из плагина Function, по-моему) и следил за переменной, при необходимом значении которой вызывалась подпрограмма. Но вот отследить что мышь была нажата именно на таблице с данными АБ было тяжело. Я нашел 2 способа:
1) через дескриптор, но почему-то определяемый встроенной в NeoBook командой (из Объекты) дескриптор не совпадал с дескриптором определяемым в сканере мыши при наведении на таблицу (таблица расположена на панели, но и дескрипторы панели не совпадали)
2) через проверку совпадения координат таблицы и курсора.

Выбрал второй вариант, но мне не нравится что когда окно неактивно или поверх него модальное окно, то все равно по этим координатам срабатывает подпрограмма. С дескриптором было бы лучше, но....никак.
Есть ли еще варианты отследить событие на нажатие ЛКМ по таблице?
 
СообщениеВсем привет :) .
Оттачиваю свою программку по аккумуляторным батареям. (Отдельное спасибо за помощь с диаграммой mishem и Necronomicon).
Встал вопрос - можно ли сделать проще?
В проге есть 2 Restangle, в которых размещены таблицы. В одной из них список АБ, в другой измерения. При нажатии на любую строчку в таблице АБ происходит вывод измерений данной АБ.
Так вот, так как в свойствах таблицы (плагин NeoBookDBPro) нет события на нажатие ЛКМ, то я установил сканер мыши (из плагина Function, по-моему) и следил за переменной, при необходимом значении которой вызывалась подпрограмма. Но вот отследить что мышь была нажата именно на таблице с данными АБ было тяжело. Я нашел 2 способа:
1) через дескриптор, но почему-то определяемый встроенной в NeoBook командой (из Объекты) дескриптор не совпадал с дескриптором определяемым в сканере мыши при наведении на таблицу (таблица расположена на панели, но и дескрипторы панели не совпадали)
2) через проверку совпадения координат таблицы и курсора.

Выбрал второй вариант, но мне не нравится что когда окно неактивно или поверх него модальное окно, то все равно по этим координатам срабатывает подпрограмма. С дескриптором было бы лучше, но....никак.
Есть ли еще варианты отследить событие на нажатие ЛКМ по таблице?

Автор - Litron
Дата добавления - 27 Сентября 2012 в 12:54
PeterДата: Чт, 27 Сентября 2012, 16:01 | Сообщение # 2
Админ NeoBook
Quote (Litron)
Но вот отследить что мышь была нажата именно на таблице с данными АБ было тяжело.

Разместите прямоугольник, к которму привязана таблица, внутри объекта контейнер. У контейнера есть события MouseEnter и MouseExit, назначте этим событиям какую-либо "следящую" переменную, и по её содержимому определяйте когда мышь находится над таблицей, а когда вне таблицы.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Litron)
Но вот отследить что мышь была нажата именно на таблице с данными АБ было тяжело.

Разместите прямоугольник, к которму привязана таблица, внутри объекта контейнер. У контейнера есть события MouseEnter и MouseExit, назначте этим событиям какую-либо "следящую" переменную, и по её содержимому определяйте когда мышь находится над таблицей, а когда вне таблицы.

Автор - Peter
Дата добавления - 27 Сентября 2012 в 16:01
LitronДата: Чт, 27 Сентября 2012, 18:44 | Сообщение # 3
Новичок
Quote (Peter)
У контейнера есть события MouseEnter и MouseExit,

Спасибо, попробую.
Была такая идея, но почему-то показалось, что раз прямоугольник поверх контейнера, то контейнер не будет ощущать присутствия мыши. Но Вы меня почему-то убедили:-)
 
Сообщение
Quote (Peter)
У контейнера есть события MouseEnter и MouseExit,

Спасибо, попробую.
Была такая идея, но почему-то показалось, что раз прямоугольник поверх контейнера, то контейнер не будет ощущать присутствия мыши. Но Вы меня почему-то убедили:-)

Автор - Litron
Дата добавления - 27 Сентября 2012 в 18:44
PeterДата: Пт, 28 Сентября 2012, 02:21 | Сообщение # 4
Админ NeoBook


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Автор - Peter
Дата добавления - 28 Сентября 2012 в 02:21
mishemДата: Пт, 28 Сентября 2012, 05:13 | Сообщение # 5
Эксперт форума
Quote (Litron)
то контейнер не будет ощущать присутствия мыши.

Есть такая проблема. Если нет отступа у контейнера, при быстром перемещение мыши бывает не успевает сработать. По этому желательно сделать отступ. ;)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Litron)
то контейнер не будет ощущать присутствия мыши.

Есть такая проблема. Если нет отступа у контейнера, при быстром перемещение мыши бывает не успевает сработать. По этому желательно сделать отступ. ;)

Автор - mishem
Дата добавления - 28 Сентября 2012 в 05:13
LitronДата: Пт, 28 Сентября 2012, 12:29 | Сообщение # 6
Новичок
Quote (mishem)
По этому желательно сделать отступ

Так вот где собака зарыта! :D
 
Сообщение
Quote (mishem)
По этому желательно сделать отступ

Так вот где собака зарыта! :D

Автор - Litron
Дата добавления - 28 Сентября 2012 в 12:29
mishemДата: Сб, 13 Апреля 2013, 08:17 | Сообщение # 7
Эксперт форума
Цитата (Peter)
Не надо бояться пробовать и экспериментировать.

Вот уж по истине голь на выдумки сильна. Сидел я так, новую справку читал, и задался вопросом, какой из объектов может срабатывать на изменение переменной? То что у плагина NeoBookDBPro нет события на ЛКМ меня давно напрягало. Сейчас опять с этим плагином работаю, и опять нужен просто левый клик. Дубль есть, правый есть, а левого нет. Че за беда. :D Нашел решение. Плюс мне в репу, и не один.
:D
Как говорится гениальное все просто. Создаем объект WebBrowser за пределами окна. В строке Интернет адрес или файл HNML пишем [PubDir][Переменная в которой меняется значение номера строки].html и в браузере на любой вкладке пишем код или указываем подпрограмму. Фсе! Событие на левый клик работает!
:)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Не надо бояться пробовать и экспериментировать.

Вот уж по истине голь на выдумки сильна. Сидел я так, новую справку читал, и задался вопросом, какой из объектов может срабатывать на изменение переменной? То что у плагина NeoBookDBPro нет события на ЛКМ меня давно напрягало. Сейчас опять с этим плагином работаю, и опять нужен просто левый клик. Дубль есть, правый есть, а левого нет. Че за беда. :D Нашел решение. Плюс мне в репу, и не один.
:D
Как говорится гениальное все просто. Создаем объект WebBrowser за пределами окна. В строке Интернет адрес или файл HNML пишем [PubDir][Переменная в которой меняется значение номера строки].html и в браузере на любой вкладке пишем код или указываем подпрограмму. Фсе! Событие на левый клик работает!
:)

Автор - mishem
Дата добавления - 13 Апреля 2013 в 08:17
ВадимДата: Чт, 18 Апреля 2013, 13:30 | Сообщение # 8
Генератор идей
Цитата (mishem)
То что у плагина NeoBookDBPro нет события на ЛКМ меня давно напрягало.
Согласен полностью!

Цитата (mishem)
Создаем объект WebBrowser за пределами окна...
:D Круто! Мне бы никогда в голову не пришла такая идея! А можно примерчик для NeoBookDBPro ? Уж очень хочется посмотреть, как это работает в реале.


С уважением, Вадим
Win7x32, NB5.8.7, NeoBookDBPro1.6a, FF48, IE11
Мои материалы для начинающих необукеров
 
Сообщение
Цитата (mishem)
То что у плагина NeoBookDBPro нет события на ЛКМ меня давно напрягало.
Согласен полностью!

Цитата (mishem)
Создаем объект WebBrowser за пределами окна...
:D Круто! Мне бы никогда в голову не пришла такая идея! А можно примерчик для NeoBookDBPro ? Уж очень хочется посмотреть, как это работает в реале.

Автор - Вадим
Дата добавления - 18 Апреля 2013 в 13:30
mishemДата: Пт, 19 Апреля 2013, 23:44 | Сообщение # 9
Эксперт форума
Держи примерчик. :)

Добавлено (19 Апреля 2013, 23:44)
---------------------------------------------
Кстати точно так же можно отслеживать и изменения внесенные в полях в строке.
Запоминать в переменную номер строки и ставить условие, если номер строки не изменился, а значение в переменной такой то изменилось выполнить то то.

И точно так же можно отслеживать изменение любой переменной НБ.
;)

Прикрепления: 7960938.zip(4Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеДержи примерчик. :)

Добавлено (19 Апреля 2013, 23:44)
---------------------------------------------
Кстати точно так же можно отслеживать и изменения внесенные в полях в строке.
Запоминать в переменную номер строки и ставить условие, если номер строки не изменился, а значение в переменной такой то изменилось выполнить то то.

И точно так же можно отслеживать изменение любой переменной НБ.
;)


Автор - mishem
Дата добавления - 19 Апреля 2013 в 23:44
СергейДата: Сб, 20 Апреля 2013, 06:50 | Сообщение # 10
Необукер
Цитата (mishem)
пишем [PubDir][Переменная в которой меняется значение номера строки].html

не обязательно, просто переменную, которая отслеживается.
Получается, что мониторится переменная, ибо и ЛКМ и ПКМ будут запускать событие в WebBrowser.
Кстати, если назначить дубль-клик к таблице, то при клике иногда срабатывает событие в WebBrowser. Зависит от скорости дубль-клика.

Добавлено (20 Апреля 2013, 06:46)
---------------------------------------------

Цитата (Сергей)
ибо и ЛКМ и ПКМ
не только, что любое событие мыши и клавиатуры(например стрелки), которые меняют значение переменной.
mishem, ты нашел способ мониторить переменную :)

Добавлено (20 Апреля 2013, 06:50)
---------------------------------------------
жаль, что отслеживать можно только одну переменную...
Вернее, переменных отслеживать можно много, а назначать только одну подпрограмму
но порой и такое очень нужно :)

 
Сообщение
Цитата (mishem)
пишем [PubDir][Переменная в которой меняется значение номера строки].html

не обязательно, просто переменную, которая отслеживается.
Получается, что мониторится переменная, ибо и ЛКМ и ПКМ будут запускать событие в WebBrowser.
Кстати, если назначить дубль-клик к таблице, то при клике иногда срабатывает событие в WebBrowser. Зависит от скорости дубль-клика.

Добавлено (20 Апреля 2013, 06:46)
---------------------------------------------

Цитата (Сергей)
ибо и ЛКМ и ПКМ
не только, что любое событие мыши и клавиатуры(например стрелки), которые меняют значение переменной.
mishem, ты нашел способ мониторить переменную :)

Добавлено (20 Апреля 2013, 06:50)
---------------------------------------------
жаль, что отслеживать можно только одну переменную...
Вернее, переменных отслеживать можно много, а назначать только одну подпрограмму
но порой и такое очень нужно :)


Автор - Сергей
Дата добавления - 20 Апреля 2013 в 06:50
mishemДата: Сб, 20 Апреля 2013, 06:52 | Сообщение # 11
Эксперт форума
Цитата (Сергей)
не обязательно, просто переменную, которая отслеживается.

Ну да, наверно.
Просто когда пробовал, думал что будет сохраняться файл, или хотел создавать файл, короче все как обычно, методом тыка. :)
После уже пробовать не стал.
Цитата (Сергей)
ибо и ЛКМ и ПКМ будут запускать событие в WebBrowser

Ну да, сдесь уже без плагина наверно не отследить. Хотя не задумывался над этим.
Цитата (Сергей)
то при клике иногда срабатывает событие в WebBrowser

По идее так и должно быть, не проверял. Значит нужно какое нибудь условие добавлять.

Добавлено (20 Апреля 2013, 06:52)
---------------------------------------------

Цитата (Сергей)
а назначать только одну подпрограмму

Почему?
Создай несколько браузеров для переменных и назначь разные подпрограммы.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
не обязательно, просто переменную, которая отслеживается.

Ну да, наверно.
Просто когда пробовал, думал что будет сохраняться файл, или хотел создавать файл, короче все как обычно, методом тыка. :)
После уже пробовать не стал.
Цитата (Сергей)
ибо и ЛКМ и ПКМ будут запускать событие в WebBrowser

Ну да, сдесь уже без плагина наверно не отследить. Хотя не задумывался над этим.
Цитата (Сергей)
то при клике иногда срабатывает событие в WebBrowser

По идее так и должно быть, не проверял. Значит нужно какое нибудь условие добавлять.

Добавлено (20 Апреля 2013, 06:52)
---------------------------------------------

Цитата (Сергей)
а назначать только одну подпрограмму

Почему?
Создай несколько браузеров для переменных и назначь разные подпрограммы.

Автор - mishem
Дата добавления - 20 Апреля 2013 в 06:52
СергейДата: Сб, 20 Апреля 2013, 07:04 | Сообщение # 12
Необукер
Цитата (mishem)
Создай несколько браузеров
10-20?? :D
это изврат...
Достаточно, что уже можно мониторить. Глядишь и разрабы сделают родную функцию :)
Короче, держи +

Добавлено (20 Апреля 2013, 07:04)
---------------------------------------------
mishem, у тебя какая версия НБ?

 
Сообщение
Цитата (mishem)
Создай несколько браузеров
10-20?? :D
это изврат...
Достаточно, что уже можно мониторить. Глядишь и разрабы сделают родную функцию :)
Короче, держи +

Добавлено (20 Апреля 2013, 07:04)
---------------------------------------------
mishem, у тебя какая версия НБ?


Автор - Сергей
Дата добавления - 20 Апреля 2013 в 07:04
mishemДата: Сб, 20 Апреля 2013, 07:10 | Сообщение # 13
Эксперт форума
Цитата (Сергей)
10-20??
это изврат...

Когда очень понадобится, то радоваться будешь этому изврату. :)
Можно конечно еще поломать голову, но это уже когда понадобится, или под настроение.

Цитата (Сергей)
Глядишь и разрабы сделают родную функцию

Я создал такую тему на оффоруме, но что то там тишина, мож не поняли. :D

Цитата (Сергей)
какая версия НБ?

5.8.1, но глючная ссука. :)
Думаю до решения проблем на 5.7.1 перейти пока.

Добавлено (20 Апреля 2013, 07:10)
---------------------------------------------
Кстати когда хочеш версию узнать, паб файл в блокноте открой, там строка есть NeoBookVer=5,80


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
10-20??
это изврат...

Когда очень понадобится, то радоваться будешь этому изврату. :)
Можно конечно еще поломать голову, но это уже когда понадобится, или под настроение.

Цитата (Сергей)
Глядишь и разрабы сделают родную функцию

Я создал такую тему на оффоруме, но что то там тишина, мож не поняли. :D

Цитата (Сергей)
какая версия НБ?

5.8.1, но глючная ссука. :)
Думаю до решения проблем на 5.7.1 перейти пока.

Добавлено (20 Апреля 2013, 07:10)
---------------------------------------------
Кстати когда хочеш версию узнать, паб файл в блокноте открой, там строка есть NeoBookVer=5,80


Автор - mishem
Дата добавления - 20 Апреля 2013 в 07:10
СергейДата: Сб, 20 Апреля 2013, 07:19 | Сообщение # 14
Необукер
Прикрепления: 3010204.jpg(55Kb)
 
Сообщение

Автор - Сергей
Дата добавления - 20 Апреля 2013 в 07:19
mishemДата: Сб, 20 Апреля 2013, 07:22 | Сообщение # 15
Эксперт форума


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Сб, 20 Апреля 2013, 07:23
 
Сообщение

Автор - mishem
Дата добавления - 20 Апреля 2013 в 07:22
СергейДата: Сб, 20 Апреля 2013, 07:27 | Сообщение # 16
Необукер


Добавлено (20 Апреля 2013, 07:27)
---------------------------------------------


Сообщение отредактировано
Сергей - Сб, 20 Апреля 2013, 07:29
 
Сообщение


Добавлено (20 Апреля 2013, 07:27)
---------------------------------------------

Автор - Сергей
Дата добавления - 20 Апреля 2013 в 07:27
mishemДата: Вс, 21 Апреля 2013, 02:11 | Сообщение # 17
Эксперт форума

Добавлено (21 Апреля 2013, 02:11)
---------------------------------------------

Цитата (Сергей)
Цитата (mishem)
пишем [PubDir][Переменная в которой меняется значение номера строки].html

не обязательно, просто переменную, которая отслеживается.

Обязательно. :)
Иначе браузер лезет в интернет и пытается загрузить из интернета то что находится в переменной.
А если скорость интернета на компе еще и маленькая, то обновление информации может затянутся. ;)

Кстати если мониторить переменную которая быстро обновляется, не очень удобно. Появляются песочные часы. Но может быть это в не скомпилированном варианте. Не проверял пока.

Пробовал получить цвет под курсором мыши по координатам курсора.
Использовал плагин Петра, включить монитор мыши. И по координатам [zmMouseX] и [zmMouseY] плагином Гарика получаю цвет

ksGetPixelColor "[zmMouseX]" "[zmMouseY]" "[GetPixelColor]"

:)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение

Добавлено (21 Апреля 2013, 02:11)
---------------------------------------------

Цитата (Сергей)
Цитата (mishem)
пишем [PubDir][Переменная в которой меняется значение номера строки].html

не обязательно, просто переменную, которая отслеживается.

Обязательно. :)
Иначе браузер лезет в интернет и пытается загрузить из интернета то что находится в переменной.
А если скорость интернета на компе еще и маленькая, то обновление информации может затянутся. ;)

Кстати если мониторить переменную которая быстро обновляется, не очень удобно. Появляются песочные часы. Но может быть это в не скомпилированном варианте. Не проверял пока.

Пробовал получить цвет под курсором мыши по координатам курсора.
Использовал плагин Петра, включить монитор мыши. И по координатам [zmMouseX] и [zmMouseY] плагином Гарика получаю цвет

ksGetPixelColor "[zmMouseX]" "[zmMouseY]" "[GetPixelColor]"

:)

Автор - mishem
Дата добавления - 21 Апреля 2013 в 02:11
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Событие на нажатие ЛКМ по таблице
Страница 1 из 11
Поиск: