|
|
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Создан пользовательский контрол. В нем нет события loseFocus При попытках создать свое событие с Event_ID ничего не выходит. Как перехватить потерю фокуса user control'a? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 11:28:11 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Есть разные варианты решения 1. Следить за получением фокуса других обьектов (или родительского окна) 2. Найти нужное событие и подмапировать его (в зависимости от контрола) 3. Проверять tag и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 14:35:10 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Ну например PowerBuilder Specific * pbm_dwnkillfocus (Losefocus) PRIVATE или WM_KILLFOCUS pbm_killfocus " CBN_KILLFOCUS * pbm_cbnkillfocus (Losefocus) " в зависимости от контрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 14:44:14 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
С pbm_* ничего не выйдет (приколы Custom Visual Object) там даже other не отрабатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 15:34:03 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
KOliosСоздан пользовательский контрол. В нем нет события loseFocus При попытках создать свое событие с Event_ID ничего не выходит. Как перехватить потерю фокуса user control'a? А зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:03:15 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
ФилиппА зачем? А зачем существуют все события? чтобы на них навесить какую-то функциональность. Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно. Я считаю что это баг. ЗЫ: Если взять Spy++ мы увидим что потеря фокуса контролом внутри юзер обжекта триггерит событие WM_COMMAND с параметром NotificationCode = EN_SETFOCUS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 17:44:37 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Dmitry. ФилиппА зачем? А зачем существуют все события? чтобы на них навесить какую-то функциональность. Какую функциональность? Я ж за этим и спрашиваю. Обычно за вопросом типа "как перехватить потерю фокуса" кроется проблема в дизайне UI... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 19:32:35 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Dmitry.Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно.В том то и дело, что нет, это не окно. Это набор визуальных объектов которые отрисовываются на реальном окне. Но сам этот "набор" хоть и имеет собственые функции-события, но окном с точки зрения виндов он не является. Dmitry.Я считаю что это баг.Это не описаная в документации фича :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 20:01:20 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
White Owl Dmitry.Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно.В том то и дело, что нет, это не окно. Это набор визуальных объектов которые отрисовываются на реальном окне. Но сам этот "набор" хоть и имеет собственые функции-события, но окном с точки зрения виндов он не является. Если ты еще не в курсе, все обьекты, контролы в винде это windows (окно). Чтобы создать кнопку через API, вызываем CreateWindow()... Есть редкие иселючения Java-Swing все контролы - картинка, DataWindow - картинка за исключением текущего поля ввода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 20:12:33 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Dmitry.Если ты еще не в курсе, все обьекты, контролы в винде это windows (окно). Чтобы создать кнопку через API, вызываем CreateWindow()...Все верно. Только Custom Visual Object в PowerBuilder это все равно не окно а набор окон (кнопки, надписи, разные другие контролы которые лежат на cvo). Но сам Custom Visual Object окном не является. PB берет все "нe-custom" визуальные объекты которые находятся на твоем cvo и кладет их напрямую на обычное окно на которое ты положил cvo. Dmitry.Есть редкие иселючения Java-Swing все контролы - картинка, DataWindow - картинка за исключением текущего поля ввода.Угу, можешь добавить в этот список и эти самые Custom Visual Object PowerBuilder'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 20:27:51 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
White OwlТолько Custom Visual Object в PowerBuilder это все равно не окно а набор окон (кнопки, надписи, разные другие контролы которые лежат на cvo). Но сам Custom Visual Object окном не является. Чушь. Смотри картинку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 21:39:19 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Вот она ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 21:40:01 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
А вот пиббл с Custom Visual Objectом - с обработкой нотификации в wm_command окна, на которое помещён Custom Visual Object... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 21:42:09 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Пиббл :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2006, 21:42:46 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
Dmitry.DataWindow - картинка за исключением текущего поля ввода. Само DataWindow - тоже окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 09:47:43 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
ФилиппЧушь. Смотри картинкухм... действительно чушь.... Странно, когда-то я с этим ковырялся и не находил никаких хендлов. .... пять минут копания в памяти и в архивах тестовых задач Ага! это я с External Visual перепутал. Вот они тоже унаследованы от userobject а собственного хендла нету - на окне сразу лежит подгруженый из внешней dll объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 18:40:42 |
|
||
|
Как перехватить потерю фокуса user control'a?
|
|||
|---|---|---|---|
|
#18+
White OwlАга! это я с External Visual перепутал. Вот они тоже унаследованы от userobject а собственного хендла нету - на окне сразу лежит подгруженый из внешней dll объект. Вот это верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 19:48:42 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33868459&tid=1337682]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 304ms |

| 0 / 0 |
