Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизАвтоматическое фокусирование окна Найти похожие ветки
← →
MixAnOL (2005-10-13 11:56) [0]Здорова всем!
Нужно решить проблему, когда рабочее окно теряет фокус ввода (по разным причинам), то нужно это окно опять активировать.
Что-то ни как не получается....
Есть у кого идеи?
← →
Digitman © (2005-10-13 12:08) [1]у формы есть событие OnDeactivate, в обработчике которого, наверно, достаточно будет вызвать метод Activate этой формы
← →
Игорь Шевченко © (2005-10-13 12:10) [2]
> когда рабочее окно теряет фокус ввода (по разным причинам),
> то нужно это окно опять активировать.
В корзину такие программы
← →
MixAnOL (2005-10-13 12:21) [3]>В корзину такие программы
Ну не надо тут разводить..... а если это рабочая программа типа АРМа, где фокус всегда должен быть в одном окне?
>достаточно будет вызвать метод Activate этой формы
дык это было первое что я пробовал.... не работает....
или вызывать надо что-то другое...
← →
Digitman © (2005-10-13 12:27) [4]
> не работает
вот и рассказывай подробно, что там и как у тебя "не работает" ..
телепаты как всегда - в отпуске)
← →
MixAnOL (2005-10-13 12:35) [5]твой предложенный метод не работает)))
у меня, лично, это событие не срабатывает когда деактифирутся окно...
Создал пустой проект, в OnDeactivate написал Form1.Activate; поставил бряк, запустил, жахнул на рабочий стол, т.е. деактивировал окно, - бряк молчит.
Может эта деактивация для многооконных приложений? а мне надо при переключении на другое приложение...
← →
Игорь Шевченко © (2005-10-13 12:44) [6]
> Ну не надо тут разводить..... а если это рабочая программа
> типа АРМа, где фокус всегда должен быть в одном окне?
Не издевайся над пользователем
← →
MixAnOL (2005-10-13 12:54) [7]>Не издевайся над пользователем
Издевательсвом будет есть как раз этот фокус потеряется... так что оставь свои замечания при себе...
Я так понял что нужно смотреть в сторону Application.OnDeactivate; но чего там прописать? Application.BringToFront не помогает...
← →
Leonid Troyanovsky © (2005-10-13 13:20) [8]
> MixAnOL (13.10.05 12:21) [3]
> Ну не надо тут разводить..... а если это рабочая программа
> типа АРМа, где фокус всегда должен быть в одном окне?
Пускай оное приложение на отдельном собс-ручно
созданном десктопе и будет тебе счастье.
RTFM: msdn: CreateDesktop, SetThreadDesktop, SwitchDesktop,
CloseDesktop.
--
Regards, LVT.
← →
markers © (2005-10-13 13:34) [9]
> Пускай оное приложение на отдельном собс-ручно
> созданном десктопе и будет тебе счастье.
> RTFM: msdn: CreateDesktop, SetThreadDesktop, SwitchDesktop,
> CloseDesktop.
IMHO Черезчур, вещь конечно хорошая, но тогда это будет смахивать на программу удалённого администрирования компзала....
← →
Игорь Шевченко © (2005-10-13 13:54) [10]
> это будет смахивать на программу удалённого администрирования
> компзала
Это еще почему ? :)
← →
MixAnOL (2005-10-13 14:09) [11]А попроще ничего нет?)))
почитал про Desktopы, идея понравилась...
← →
Leonid Troyanovsky © (2005-10-13 14:36) [12]
> MixAnOL (13.10.05 14:09) [11]
> А попроще ничего нет?)))
А чего там сложного?
http://groups.google.com/group/borland.public.delphi.nativeapi/msg/04a7a516cbbee32a
--
Regards, LVT.
← →
Digitman © (2005-10-13 14:47) [13]
> MixAnOL (13.10.05 12:35) [5]
> твой предложенный метод не работает)))
> у меня, лично, это событие не срабатывает когда деактифирутся
> окно...
>
> Создал пустой проект, в OnDeactivate написал Form1.Activate;
> поставил бряк, запустил, жахнул на рабочий стол, т.е. деактивировал
> окно, - бряк молчит.
а комментировать твое "рабочее окно теряет фокус ввода" Пушкин будет ?
код приведен для случая, когда фокус пытается получить любое иное окно того же процесса !
что ,обязательно догадываться нужно о том что тебя интересует ситуация с потерей фокуса, выходящей за рамки окон одного и того же процесса ?
← →
MixAnOL (2005-10-13 14:49) [14]Я сделал почти тоже самое, только не дошел до окна на новом декстопе...
Спасибо! Это тоже решение, буду его тоже использовать...
← →
MixAnOL (2005-10-13 14:53) [15]2 Digitman: не ругайся, понял уже...
← →
psa247 © (2005-10-14 17:20) [16]смотри пост CBT_Hook в этом форуме. Там есть возможность контролировать потерю фокуса. Единственное, аккуратнее надо быть при написании кода. Подвесить систему можно.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c