Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.035 c
6-1121587327
Gamer
2005-07-17 12:02
2005.11.06
Много скриншотов


8-1117980186
-=Germe$=-
2005-06-05 18:03
2005.11.06
Визуализация речи...


14-1129618430
vuk
2005-10-18 10:53
2005.11.06
Тут эта... Tony Levin Band в Москву приезжает...


14-1129711273
vecna
2005-10-19 12:41
2005.11.06
Тааак.... список непонятных моментов в Дельфи начинает расти


14-1129545313
Opilki_Inside
2005-10-17 14:35
2005.11.06
Защита БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский