|
|
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:00 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Gatorу компонентов есть их координаты на известна точка клика. И вот тут мы начинаем второй раунд с того, что точка клика неизвестна. Ибо VCL вследствие криворукости своих разработчиков плюёт на координаты, приходящие с сообщением о клике. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:04 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Еще можно выяснить Screen.ActiveControl; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:30 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov,ну и не надо к ним привязываться, а придумать сто-нибудь своё. На примере ТриВью, например, видно, что выделенных веток может быть много, с галками и без, может не быть совсем, но это не повод отказываться от попапа. (причем не только меню, но и текста, картинки, ещё чего-то) Не координатами механизм жив однако и не контролами едиными. Вот например, в DataSource жмакнуть невозможно, потому что он невизуальный. Но работать и попапить можно его свойства и другую трехмудию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:31 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
22.08.2019 14:30, rgreat пишет: > Еще можно выяснить Screen.ActiveControl; нет Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:34 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
rgreatможно выяснить Screen.ActiveControl; "О, сколько нам открытий чудных..." При правом клике контрол не получает фокус. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:34 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПри правом клике контрол не получает фокус. Это смотря какой контрол. Тут все решения не дают 100% результата. Да и не могу дать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:38 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
В общем топикстартеру ответ "это так не работает". Надо вручную вызывающий контрол запоминать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:40 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
rgreatТут все решения не дают 100% результата. Есть решение, дающее 100% результат: пофиксить бага в VCL. Но оно недоступно для аффтара. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 14:47 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Gatoralekcvp> ... без нажатия кнопок мыши - например пробел ... А какая разница? .... Жмакай хоть пробел, хоть [Alt]+? Так что точка показа попапменю всегда под контролем. Такая, что код выше анализирует положение указателя мыши чтобы определить кем было открыто меню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 17:35 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
alekcvpТакая, что код выше анализирует положение указателя мыши чтобы определить кем было открыто меню. А, не, пиз туплю, точку всплытия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 17:36 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
alekcvpalekcvpТакая, что код выше анализирует положение указателя мыши чтобы определить кем было открыто меню. А, не, пиз туплю, точку всплытия...Да. А координаты можно всегда указать в терминах экрана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 17:55 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЕсть решение, дающее 100% результат: пофиксить бага в VCL. Но оно недоступно для аффтара. Для сторонних компонентов это не гарантирует результат. Да и при вызове PopupMenu1.Popup(100,100); ручками - тоже никак не спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 18:24 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
rgreatДа и при вызове PopupMenu1.Popup(100,100); ручками - тоже никак не спасет.Это смотря как (100,100) считать, в каких единицах и т.п. Я предлагал "от печки" (0, 0) видимой области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 21:28 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
GatorЭто смотря как (100,100) считать, в каких единицах и т.п. Я предлагал "от печки" (0, 0) видимой области.Какая разница как считать если в данном случае вообще нет связи ни с какими визуальными компонентами. Попап просто вызывается сам по себе. В центре экрана по таймеру, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 21:45 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
rgreatПопап просто вызывается сам по себе. А теперь перечитываем вышеотквоченную справку: "тот, кто вызовет попап ручками, несёт полную ответственность за установку или неустановку свойства PopupComponent". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 21:55 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
rgreat, я и говорю. Вопрос из пальца высосан. Афтрар ведь на экран смотрит, там и щёлкает мышой или кнопки жмакает. А куда он попапку высветит - его видение. И причём тут контролы и компоненты?. Достаточно мессаг и координат на форме. А если формы нет, попапка повиснет в воздухе. ОС ещё никому отменить не удалось. Разве что программы-мониторы. Но там ни экранов не было, ни ОС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2019, 21:57 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Другими словами в общем случае задача не решаема. А частные случаи решений тут все уже небось поперечисляли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2019, 06:04 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
LiYingНа форме несколько ButtonedEdit, RightButton.DropDownMenu каждого эдита связан с одним и тем же PopupMenu с несколькими MenuItem. Как узнать на кнопке какого эдита был кликнут пункт меню? Пробовал так: ... День добрый. Если все компоненты однотипные ("несколько ButtonedEdit"), то решается след. образом. Заводится глобальная переменная, например: Код: pascal 1. Делаем процедуру (имя придумаешь сам...): Код: pascal 1. 2. 3. 4. При создании формы (или при показе) - к каждому компоненту на событие onEnter цепляем эту процедуру: Код: pascal 1. 2. 3. 4. 5. Как работает: При клацанье мышью, у компонента происходит событие onEnter, в нем в переменную заносится тот объект, на котором сработало это событие. Т.е. после вызова твоего по-папа, можно узнать из переменной на чем оно сработало. Вот и все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2019, 14:26 |
|
||
|
Как узнать на каком контроле кликнут элемент попапменю?
|
|||
|---|---|---|---|
|
#18+
LiYing проект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2019, 14:34 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39853012&tid=2039100]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 504ms |

| 0 / 0 |
