|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.09.2016, 11:24 | #1 |
Новичок
Джуниор
Регистрация: 16.09.2016
Сообщений: 4
|
Управление фокусом
Добрый день, возникла проблема с управлением фокусом. Код программы такой:
Код:
Так вот мне надо чтобы после строчки form2.close фокус переключился обратно на MainForm. Причем надо сделать так чтобы это сделал windows. Windows.setfocus Не подойдет т.к не желательно чтобы данная программа мешала другим программам Последний раз редактировалось laslaslas; 16.09.2016 в 12:04. |
16.09.2016, 11:32 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 16.09.2016 в 11:38. |
|
16.09.2016, 11:41 | #3 |
Новичок
Джуниор
Регистрация: 16.09.2016
Сообщений: 4
|
Да, если показывать через showModal фокус вернется на главную форму. Но тут именно надо чтобы окно не было модальным(в нем будет отображаться прогресс программы)
|
16.09.2016, 13:12 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 16.09.2016 в 13:15. |
16.09.2016, 14:18 | #5 |
Новичок
Джуниор
Регистрация: 16.09.2016
Сообщений: 4
|
Не совсем то что надо. проблема то вот в чем procedure
TForm3.FormShow(Sender: TObject); var Form2: TForm; begin Windows.setfocus(handle); Caption := 'MainForm'; Form2:= TForm.Create(self); Form2.Caption := 'SubForm'; form2.show ; form2.Close; Долгий код end; после form2.Close фокус сбрасывается в ноль. И во время долгого кода виндовс передает фокус совершенно левому окну, в результате оно всплывает поверх моей программы на время выполнения долгого цикла. Я скорее ищу вариант как открыть form2 так чтобы она по закрытию сама вернула фокус MainForm. |
16.09.2016, 14:36 | #6 | ||||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
попросим Form2 проинформировать НАС (главную форму) о своем (form2) закрытии
Цитата:
Цитата:
Цитата:
P.S. И да, если вы хотите Цитата:
Код:
Цитата:
P.P.S. чем дальше, тем больше напоминает X-Y-Z поэтому дальнейшее обсуждение подразумевает постановку ИСХОДНОЙ задачи. телепатия ON Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 16.09.2016 в 14:54. |
||||||
16.09.2016, 15:26 | #7 |
Новичок
Джуниор
Регистрация: 16.09.2016
Сообщений: 4
|
Evg_m спс что подсказываешь, последний способ вроде бы работает без побочных эфектов. Но вопрос такой: возможно ли открыть form2 так(но не модально) чтобы она сама(без всяких setfocus и BridgToFront) вернула фокус mainForm если активна она и не мешала другим программам(не переводила фокус на mainform) если пользователь захотел на время длинного цикла поработать с другой программой. Чирбы такой алгоритм закладывался во время открытия form2. Вообще не совсем понятно как попадает левое окно(которое всплывает во время длинного цикла) в веpшину стека пеpекpывающихся окон.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Hendle поля с фокусом ввода | maks5 | Win Api | 3 | 14.10.2011 09:56 |
проблема с фокусом | Andrey& | JavaScript, Ajax | 1 | 09.09.2010 08:30 |
Странный глюк с фокусом | Marsel737 | Общие вопросы Delphi | 5 | 12.04.2010 18:43 |
Управление фокусом | JOHNKZ1 | Общие вопросы Delphi | 9 | 17.04.2009 17:03 |