Вход | Регистрация
 

Программно установить фокус ввода в список сообщений пользователю

Программно установить фокус ввода в список сообщений пользователю
Я
   TormozIT
 
27.03.21 - 14:07
https://i.imgur.com/A4a2mJU.png
Управляемое приложение. Программа вывела сообщение пользователю. Хочу программно установить фокус ввода в список этих сообщений.
Конечная цель - скопировать все сообщения в буфер обмена. Для этого надо как то установить фокус ввода в список сообщений.
   ДедМорроз
 
1 - 27.03.21 - 14:28
Сообщения пользователю лучше ловить до выхода с сервера и сразу обработывать.
Собственно,получитьСообщенияПользователю как раз для этого.
   TormozIT
 
2 - 27.03.21 - 14:31
Кто сказал, что сообщения выведены на сервере? Я их на клиенте вывожу.
   TormozIT
 
3 - 27.03.21 - 14:31
   acht
 
4 - 27.03.21 - 14:36
В управляемом приложении столько "окон сообщений", сколько форм. Причем сообщения могут выводится и окно чужой формы. Так что в общем случае твоя задача нерешаема. Можешь побиться об стенку имитации нажатий на клавиши.
   TormozIT
 
5 - 27.03.21 - 14:43
(4) Ожидал от тебя большего.
> Причем сообщения могут выводится и окно чужой формы. Так что в общем случае твоя задача нерешаема.
И как это помешает мне установить фокус ввода на нужную форму? Никак. Проблема только в переключении внутри нужного окна фокуса ввода на область сообщений.
Но спасибо что разрешил мне биться об стенку.
   TormozIT
 
6 - 27.03.21 - 14:46
Нужное сочетание клавиш не найдено. Похоже его вообще нет. Нужной команды окна тоже не нашел.
   tndr3
 
7 - 27.03.21 - 15:19
Интересно, а задача-то какая?
Ну накопировал ты кучу строк в буфер обмена, и чего дальше с ними делать?
Типа передать куда-то в другое приложение? Или что?
   TormozIT
 
8 - 27.03.21 - 15:23
(7) Перед закрытием окна перебросить сообщения в родительское окно.
   tndr3
 
9 - 27.03.21 - 15:26
А чем не подходит "Оповестить()? с параметрами?
   tndr3
 
10 - 27.03.21 - 15:26
Или я чего-то не понял
   TormozIT
 
11 - 27.03.21 - 15:29
(9) код-отправитель сообщений неизвестен/неподвластен
   tndr3
 
12 - 27.03.21 - 15:42
(11) Не ну это говнокод конечно, но тем не менее, в каждой форме перед закрытием оповещаешь все что открыто с параметрами (Текст всех ошибок с Символ.ПС - генерируешь)
Ну и в обработке оповещения по условию, выполняешь те или иные действия в нужной форме.
   TormozIT
 
13 - 27.03.21 - 15:43
Решил эту задачу. Закрыл этот баг https://www.hostedredmine.com/issues/924211 .
Похоже мне повезло. У меня форма была открыта в режиме БлокироватьОкноВладельца. При ее открытии я подключал обработчик ожидания для ее закрытия. И пока поток кода выполнялся, в это окно в реальном времени выводились сообщения. Но при завершении потока кода, иногда внутренний обработчик ожидания платформы для вывода накопленных сообщений в активное окно - срабатывал раньше чем мое окно сообщений реального времени закрывалось. Долго я мучался с этим.
Методом тыка нашел, что если переключить окно в режим БлокироватьВесьИнтерфейс, то обработчик ожидания платформы для вывода сообщений срабатывает всегда после обработчика ожидания в этой форме.
   TormozIT
 
14 - 27.03.21 - 15:52
(13) Точнее решил задачу не (0) а задачу, из которой она родилась. А задачу (0) не решил.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.