powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как перехватить потерю фокуса user control'a?
17 сообщений из 17, страница 1 из 1
Как перехватить потерю фокуса user control'a?
    #33866281
KOlios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создан пользовательский контрол.
В нем нет события loseFocus
При попытках создать свое событие с Event_ID ничего не выходит.
Как перехватить потерю фокуса user control'a?
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33867254
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть разные варианты решения
1. Следить за получением фокуса других обьектов (или родительского окна)
2. Найти нужное событие и подмапировать его (в зависимости от контрола)
3. Проверять tag и т.д. и т.п.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33867282
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну например
PowerBuilder Specific * pbm_dwnkillfocus (Losefocus) PRIVATE
или WM_KILLFOCUS pbm_killfocus "
CBN_KILLFOCUS * pbm_cbnkillfocus (Losefocus) "
в зависимости от контрола
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33867455
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С pbm_* ничего не выйдет (приколы Custom Visual Object)
там даже other не отрабатывает...
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33867853
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOliosСоздан пользовательский контрол.
В нем нет события loseFocus
При попытках создать свое событие с Event_ID ничего не выходит.
Как перехватить потерю фокуса user control'a?
А зачем?
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868038
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппА зачем?
А зачем существуют все события? чтобы на них навесить какую-то функциональность.

Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно.

Я считаю что это баг.

ЗЫ:
Если взять Spy++ мы увидим что потеря фокуса контролом внутри юзер обжекта триггерит событие WM_COMMAND с параметром NotificationCode = EN_SETFOCUS.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868274
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry. ФилиппА зачем?
А зачем существуют все события? чтобы на них навесить какую-то функциональность.
Какую функциональность? Я ж за этим и спрашиваю. Обычно за вопросом типа
"как перехватить потерю фокуса" кроется проблема в дизайне UI...
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868327
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно.В том то и дело, что нет, это не окно. Это набор визуальных объектов которые отрисовываются на реальном окне. Но сам этот "набор" хоть и имеет собственые функции-события, но окном с точки зрения виндов он не является.

Dmitry.Я считаю что это баг.Это не описаная в документации фича :)
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868346
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl Dmitry.Все равно Custom Visual Object для виндовс это окно, и почему там нельзя обрабатывать некоторые системные события (в частности wm_command) - непонятно.В том то и дело, что нет, это не окно. Это набор визуальных объектов которые отрисовываются на реальном окне. Но сам этот "набор" хоть и имеет собственые функции-события, но окном с точки зрения виндов он не является.

Если ты еще не в курсе, все обьекты, контролы в винде это windows (окно).
Чтобы создать кнопку через API, вызываем CreateWindow()...

Есть редкие иселючения
Java-Swing все контролы - картинка,
DataWindow - картинка за исключением текущего поля ввода.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868369
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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'а.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868457
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТолько Custom Visual Object в PowerBuilder это все равно не окно а набор окон (кнопки, надписи, разные другие контролы которые лежат на cvo). Но сам Custom Visual Object окном не является.
Чушь. Смотри картинку
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868459
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот она
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868464
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот пиббл с Custom Visual Objectом - с обработкой нотификации в wm_command окна, на которое помещён Custom Visual Object...
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868465
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиббл :-)
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33868875
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.DataWindow - картинка за исключением текущего поля ввода.
Само DataWindow - тоже окно.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33871284
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппЧушь. Смотри картинкухм... действительно чушь.... Странно, когда-то я с этим ковырялся и не находил никаких хендлов.
.... пять минут копания в памяти и в архивах тестовых задач
Ага! это я с External Visual перепутал. Вот они тоже унаследованы от userobject а собственного хендла нету - на окне сразу лежит подгруженый из внешней dll объект.
...
Рейтинг: 0 / 0
Как перехватить потерю фокуса user control'a?
    #33871373
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlАга! это я с External Visual перепутал. Вот они тоже унаследованы от userobject а собственного хендла нету - на окне сразу лежит подгруженый из внешней dll объект.
Вот это верно.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как перехватить потерю фокуса user control'a?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]