![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Rommik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.11.2005 Репутация: нет Всего: нет |
Как сделать, чтобы моя форма была всегда поверх и всегда имела фокус ввода с клавиатуры???
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
повер всех
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rommik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.11.2005 Репутация: нет Всего: нет |
Но я еще просил фокус ввода с клавиатуры должен вселгда быть на моем окне!!!!!!!!!!!!
|
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
по моему так не получится, иначе переключение между задачами (программами) будет невозможно. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
drkot, Да есть один вариант - ставить хук, т.е. писать dll, для перехвата фокуса.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Ну... енто ты конечно перегнул... что один вариант...
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
В Сибири уже поздно и думается мне плохо, но в голову приходят следующие функции:
SetForegroundWindow SetActiveWindow SetFocus А так же SendMessage с параметром WM_ACTIVATE. Поищи по этим функциям примеры, а если до завтра никто не поможет, то я попробую что-нибудь из этих функций выжать, а пока спать |
|||
|
||||
| pavelv |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Может не в те дебри полезу, но всё-таки.
Фокус ввода с клавиатуры? У тебя там Edit какой чтоли, если да то ActiveControl := Edit; Сделай это после каждого события которое на форме происходит, после нажатия клавиш или ещё что...в общем чтобы можно было выполнять другие события помимо ввода с клавиатуры |
|||
|
||||
| Mechanic |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.5.2006 Где: Kharkov, Ukraine Репутация: 6 Всего: 7 |
Хочется что-то наподобие SystemModal MessageBox? Чтоб только твоё окно было доступно?
А для чего? Ведь захочется же и в других окнах что-нить понабивать. Если нужен фокус часто, сделай вывод окна в foreground по таймеру. Только это похоже на нарушение самой концепции windows, как многооконной многозадачной ОС. --------------------
Tell me the extensions of the files You backup and I'll tell You who You are.. ©Mch |
|||
|
||||
| Rommik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.11.2005 Репутация: нет Всего: нет |
Ну скажем так, мне нужно написать оболочку, с которой буду запускать приложения. Использую createprocess. Так запарка в том, что нужно, чтоб после запуска внешнего приложения оболочка не получала фокус, не активизировалась и до окончания работы запущенного приложения оставалась в режиме ожидания конца рабботы приложения
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
мдя. вопрос твой изначальный не соответствует твоей цели. народ зря напрягался.
просто скрой оболочку(опционально в трей значок повесь) и жди(WaitForSingleObject) на хэндле, полученном от CreateProcess'а завершения запущенного приложения. как дождешься - делай оболочку видимой. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Чтобы твоя форма была всегда поверх других, тебе надо ее все время подталкивать. У меня тоже была такая проблема. Вот как я ее решил. Следующи код пихани в таймер с интервалом 1:
Вот еще вариант http://forum.vingrad.ru/index.php?showtopi...st&p=677613 -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
и ещё, в событии OnPaint напиши
при этом в свойствах формы должно быть установлено FormStyle := fsStayOnTop; Это сообщение отредактировал(а) Akella - 20.7.2006, 11:12 |
|||
|
||||
| Mechanic |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.5.2006 Где: Kharkov, Ukraine Репутация: 6 Всего: 7 |
Эт как только боль почувствует приложение.. Сорри. Не удержался. Ржунимагу.. --------------------
Tell me the extensions of the files You backup and I'll tell You who You are.. ©Mch |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
бывает, исправлю
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |