![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| gonzales |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 13.3.2006 Репутация: 1 Всего: 2 |
как это реализовать?
нужно сделать OSD (с ним проблем нет), который располагается на прозрачной форме. Но при показе фокус естественно переводится на эту форму, чего не должно происходить --------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!! |
|||
|
||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: нет Всего: 38 |
gonzales,
Насколько помню, OSD обычно делался немного не так. Вывод осуществлялся не на форму, а на экран. Если всё-таки надо в фоне: по onShow переведи фокус на главную форму. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| gonzales |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 13.3.2006 Репутация: 1 Всего: 2 |
на экран пробывал, но получается тухло, когда например плеер играет на полный экран, изображение естественно сразу перерисовывается, поэтому и сделал на форме, которую вывожу поверх всего. А переводить фокус надо не на главную форму а на активное приложение (а точнее как бы с него не уводить фокус --------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!! |
|||
|
||||
| Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 2 Всего: 14 |
по пробуй поиграться с SetActiveWindow.
вот к примеру так можно активировать предыдущее окно
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
| gonzales |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 13.3.2006 Репутация: 1 Всего: 2 |
вот так работает, НО форма перестала реагировать на form2.hide как ее теперь убирать то --------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!! |
|||
|
||||
| Elfebet |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 2 Всего: 14 |
или так
Добавлено @ 11:48
неужели так не работает?
Добавлено @ 11:50
?? - это какое действие? -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||||||
|
|||||||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Запоминаешь текущее активное окно через GetForegroundWindow
Показываешь своё Устанавливаешь текущим предыдущее окно через SetForegroundWindow Но с формой всё равно не всё просто. Есть доля секунды, когда оно активно. И, если юзер в это время набивает текст, то есть вероятность, что нажмёт букву во время активности твоего окна. И тогда событие клавиши придёт окну позже активации предыдущего и снова активизирует твоё. Можно конечно ловить сообщение кнопы и по ней снова деактивировать, если нужно. А вообще OSD на API делается. Апишному окну можно установить ExStyle = WS_EX_NOACTIVATE or WS_EX_TOPMOST; Пробовал установить форме - не помогает. Добавлено @ 11:52 ShowWindowNoActivate |
|||
|
||||
| gonzales |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 13.3.2006 Репутация: 1 Всего: 2 |
блин, ну и варианты
все очень просто оказалось, как обычно
активируем форму не переводя на нее фокус
убираем и перерисовываем форму
так тоже работает Это сообщение отредактировал(а) gonzales - 18.10.2006, 11:58 --------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!! |
||||||
|
|||||||
![]()
|
| Правила форума "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. |