Как узнать?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Как узнать?
Всем доброго времени суток.
С наступившим НГ!
Clarion10
Вопрос такой - как узнать - находится ли в данный момент мышка над активной строкой в LISTBOX, скажем именно над полем kind?
С наступившим НГ!
Clarion10
Вопрос такой - как узнать - находится ли в данный момент мышка над активной строкой в LISTBOX, скажем именно над полем kind?
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как узнать?
Думаю, никак. Пока не нажмёшь, не определишь. Единственный контрол, который определяет, что мышка над ним, - это регион. Но его использование в броузе - большой вопрос. Что нужно конкретно? Выпадающая подсказка?
We are hard at work… for you. 

Как узнать?
Согласен с креатором, нужно бы узнать конечный замысел.
Пока могу предложить следующий финт: если создать контрол(ы) типа region, равный(е) по размеру строке(полям) listbox'а, и двигать его(их) каждый раз вслед за выделенной строкой, то при наведении на такую строку (а равно и на регион), у региона отработает нужное вам событие.
Если же действительно нужна всплывающая инфа, то можно обойтись свойством PROP:Tooltip
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как узнать?
Немного оффтопик. Кларионовский лист беден и убог, по жизни. Но понимает, на самом деле, где мы находимся. Отлавливает же, собака, мышку. Только нам это "отлавливание" не доступно. А жаль...
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Как узнать?
так над строкой или столбцом?


тогда как tip определяет без нажатияkreator писал(а):Думаю, никак. Пока не нажмёшь, не определишь. Единственный контрол, который определяет, что мышка над ним, - это регион. Но его использование в броузе - большой вопрос. Что нужно конкретно? Выпадающая подсказка?

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Как узнать?
Как уже кто то писал, просто мы не просим SV внедрить новый функционал ListBox.
А сами они не фантазеры добавлять функционал который везде уже есть, притом давно.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Как узнать?
Доброго дня!
Да - моя задача реализовать что-то вроде ToolTip, содержание которого генерировалось бы программно. Причем ToolTip должен появляться свой для каждого поля при наведении мыши на подсвеченную строку.
Вчера (в файле property.clw) я нашел некоторые свойства PROPLIST, которые почти то что нужно, если бы не требовали предварительного нажатия мышкой на сам контрол LIST, вот (предположительно) они:
PROPLIST:MouseDownRow EQUATE (7C20H) ! integer
PROPLIST:MouseMoveRow EQUATE (7C21H) ! integer
PROPLIST:MouseUpRow EQUATE (7C22H) ! integer
PROPLIST:MouseDownField EQUATE (7C23H) ! integer
PROPLIST:MouseMoveField EQUATE (7C24H) ! integer
PROPLIST:MouseUpField EQUATE (7C25H) ! integer
PROPLIST:MouseDownZone EQUATE (7C26H) ! integer
PROPLIST:MouseMoveZone EQUATE (7C27H) ! integer
PROPLIST:MouseUpZone EQUATE (7C28H) ! integer
Свойство PROPLIST:MouseUpField я проверил - выдает номер колонки над которой находится мышка (если нажать мышкой на сам контрол).
Действую я следующим образом - по EVET:Timer я отслеживаю двигалась или нет мышка в течении (скажем) 1 секунды. Если нет - то мне остается только узнать - находится ли мышь над активной строкой и над каким именно полем....
Да - моя задача реализовать что-то вроде ToolTip, содержание которого генерировалось бы программно. Причем ToolTip должен появляться свой для каждого поля при наведении мыши на подсвеченную строку.
Вчера (в файле property.clw) я нашел некоторые свойства PROPLIST, которые почти то что нужно, если бы не требовали предварительного нажатия мышкой на сам контрол LIST, вот (предположительно) они:
PROPLIST:MouseDownRow EQUATE (7C20H) ! integer
PROPLIST:MouseMoveRow EQUATE (7C21H) ! integer
PROPLIST:MouseUpRow EQUATE (7C22H) ! integer
PROPLIST:MouseDownField EQUATE (7C23H) ! integer
PROPLIST:MouseMoveField EQUATE (7C24H) ! integer
PROPLIST:MouseUpField EQUATE (7C25H) ! integer
PROPLIST:MouseDownZone EQUATE (7C26H) ! integer
PROPLIST:MouseMoveZone EQUATE (7C27H) ! integer
PROPLIST:MouseUpZone EQUATE (7C28H) ! integer
Свойство PROPLIST:MouseUpField я проверил - выдает номер колонки над которой находится мышка (если нажать мышкой на сам контрол).
Действую я следующим образом - по EVET:Timer я отслеживаю двигалась или нет мышка в течении (скажем) 1 секунды. Если нет - то мне остается только узнать - находится ли мышь над активной строкой и над каким именно полем....
Как узнать?
Ух ты!
Решено.
Свойства PROPLIST:MouseMoveRow и PROPLIST:MouseMoveField "живые"! Буду рад, если кому то пригодится в будущем...
Решено.
Свойства PROPLIST:MouseMoveRow и PROPLIST:MouseMoveField "живые"! Буду рад, если кому то пригодится в будущем...
Код: Выделить всё
IF ?LQ{PROPLIST:MouseMoveRow}=CHOICE(?LQ) AND ?LQ{PROPLIST:MouseMoveField}=4 THEN
MESSAGE('Over 4-th field hilighted!')
END
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Как узнать?
Гипотетически можно попробовать по таймеру генерить щелчок мышки и устанавливать флаг фиктивного нажатия.
По Prop:PreAlertKey, при включенном флаге фиктивного нажатия, анализировать свойства PropList,
отсекать стандартное действие ?List по нажатию кнопки мышки и сбрасывать флаг фиктивного нажатия
(иначе не будет обрабатываться обычный щелчок мышкой).
В теории должно работать, но надо пробовать.

Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как узнать?
Я бы не стал сейчас сильно заморачиваться, потому что tooltip'ы работают. И для каждой ячейки они свои. И их можно создать в момент создания очереди листа. Надо просто подумать - что нужно выдавать. Лист ведь не слишком динамичная структура (обычная очередь). И ещё. Использование свойств PROPLIST:MouseMoveRow и PROPLIST:MouseMoveField в данном контексте как-то не очень.dsabitov писал(а):Да - моя задача реализовать что-то вроде ToolTip, содержание которого генерировалось бы программно. Причем ToolTip должен появляться свой для каждого поля при наведении мыши на подсвеченную строку.
We are hard at work… for you. 

Как узнать?
В приведённом примере есть один недостаток -- кто будет каждый раз жать на кнопку OK, чтобы закрыть MESSAGE().dsabitov писал(а): Свойства PROPLIST:MouseMoveRow и PROPLIST:MouseMoveField "живые"! Буду рад, если кому то пригодится в будущем...Код: Выделить всё
IF ?LQ{PROPLIST:MouseMoveRow}=CHOICE(?LQ) AND ?LQ{PROPLIST:MouseMoveField}=4 THEN MESSAGE('Over 4-th field hilighted!') END
Если выводимая в качестве tooltip'а информация статична, пользуйтесь стандартным tooltip инструментарием. А вот если вы изменили запись и тут же хотите её в тултипе, то, возможно, приведённый код более приемлем, только надо открывать своё собственное окошко и потом его по таймеру закрывать.
Последний раз редактировалось Shur 05 Январь 2016, 13:29, всего редактировалось 1 раз.
Как узнать?
То, что я хотел - получилось сделать. ToolTip - это хорошо, но у меня получился больший функционал (понимаю, что все это ребячество, возникшее из-за свободного времени на праздниках
).
Итак, если я навожу указатель мыши на активную строчку, именно на столбец kind, то при наличии записей, для которых текущая является ссылкой, вываливается мой волшебный псевдо ToolTip в виде таблички. Экранчик в приложенном файле.
Вдруг кому-то такое нужно - пишите, расскажу. Всем спасибо за живое участие!

Итак, если я навожу указатель мыши на активную строчку, именно на столбец kind, то при наличии записей, для которых текущая является ссылкой, вываливается мой волшебный псевдо ToolTip в виде таблички. Экранчик в приложенном файле.
Вдруг кому-то такое нужно - пишите, расскажу. Всем спасибо за живое участие!
Последний раз редактировалось dsabitov 06 Январь 2016, 10:31, всего редактировалось 1 раз.
Как узнать?
Да, вижу, получилось неплохо, и без MESSAGE(), а со своим окном с листбоксом.
Только вы это... ладно банки, Бог с ними -- они и без нас обанкротятся, но номер своего паспорта хотя бы не светите нам
Только вы это... ладно банки, Бог с ними -- они и без нас обанкротятся, но номер своего паспорта хотя бы не светите нам

Последний раз редактировалось Shur 05 Январь 2016, 13:43, всего редактировалось 2 раза.
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация: