Позиционирование по правому щелчку мышки в ListBox’е
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
Позиционирование по правому щелчку мышки в ListBox’е
Есть стандартный ListBox (не Browse) по очереди.
Есть руками писанный PopUp.
Все работает, все вызывается (по правой кнопке мышки), но…..
В отличии от стандартного Browse’а, если щелкнуть правой кнопкой мышки по невыделенной записи, то появляется окно PopUp меню касательно ВЫДЕЛЕННОЙ записи.
Вопрос:
Как выделить запись, по которой совершен щелчок правой кнопкой мышки?
Вроде бы простой вопрос, но что-то не получается его реализовать.
С55Н, АВС.
Заранее благодарен.
Есть руками писанный PopUp.
Все работает, все вызывается (по правой кнопке мышки), но…..
В отличии от стандартного Browse’а, если щелкнуть правой кнопкой мышки по невыделенной записи, то появляется окно PopUp меню касательно ВЫДЕЛЕННОЙ записи.
Вопрос:
Как выделить запись, по которой совершен щелчок правой кнопкой мышки?
Вроде бы простой вопрос, но что-то не получается его реализовать.
С55Н, АВС.
Заранее благодарен.
-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
На LisxBox'е висит Alert MouseRight
В AlertKey - идет обработка:
IF KEYCODE() = MouseRight
PopupString=PopupMgr.Ask()
Cycle
END
Она-то и перехватывает "позиционирование" на нужную запись. Здесь, я полагаю, надо ручками отловить координаты щелчка мышки, а как спозиционироваться - тут нет проблем.
Что-то не получается узнать, по какой записи (позиции в ЛистБоксе) был произведен щелчок правой кнопкой мыши...
В AlertKey - идет обработка:
IF KEYCODE() = MouseRight
PopupString=PopupMgr.Ask()
Cycle
END
Она-то и перехватывает "позиционирование" на нужную запись. Здесь, я полагаю, надо ручками отловить координаты щелчка мышки, а как спозиционироваться - тут нет проблем.
Что-то не получается узнать, по какой записи (позиции в ЛистБоксе) был произведен щелчок правой кнопкой мыши...

- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
На LisxBox'е висит Alert MouseRight
В AlertKey - идет обработка:
IF KEYCODE() = MouseRight
PopupString=PopupMgr.Ask()
Cycle
END
Можно ещё на Event:PreAlertKey поставитьНужно отлавливать MouseRightUp а не MouseRight и все будет хорошо.
IF KEYCODE()=MouseRight THEN CYCLE END
тогда броуз сначала спозиционируется на щелчке, а потом уже отработает Popup()
С уважением, ДП