|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
28.01.2008, 19:25 | #1 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
Фокус окна
Как определить, окно имеет фокус или нет? Если окно приняло фокус делать то то, если потеряло, делать то то. Знаю что функция SetForegroundWindow(Handle) делает окно активным. Но как обратится как к своиству
Последний раз редактировалось Лёка; 28.01.2008 в 19:26. Причина: Забыл дописать |
28.01.2008, 19:41 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Вызвать GetFocus() и сравнить HWND который она вернет и данного окна. Кроме того, есть еще сообщения WM_SETFOCUS и WM_KILLFOCUS.
|
28.01.2008, 19:50 | #3 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
|
28.01.2008, 19:59 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Ну куда же понятнее-то... написать два обработчика, один для WM_SETFOCUS - вызывается, когда фокус пришел, один для WM_KILLFOCUS - фокус ушел. Надеюсь, Вы имеете в виду именно фокус, активацию окна отображают WM_ACTIVATE, WM_ACTIVATEAPP, WM_NCACTIVATE.
|
28.01.2008, 20:00 | #5 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
пример с GetForegroundWindow:
Код:
|
28.01.2008, 20:19 | #6 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
А в чем разница между фокусом и активацией?
|
28.01.2008, 20:27 | #7 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Окно с фокусом - это то окно, в которое идет ввод с клавиатуры, скажем один из множества Edit-контролов на форме, активное окно - это, приближенно говоря, окно с "ярким" заголовком, скажем, форма - владелец Edit-контрола, имеющего фокус. Подчеркиваю, все несколько упрощенно.
|
28.01.2008, 20:28 | #8 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
ну вот значит активно не активно, плиз. пару строчек черкануть)))
|
28.01.2008, 21:18 | #9 |
Пользователь Подтвердите свой е-майл
Регистрация: 21.05.2007
Сообщений: 88
|
Скажем если Edit в фокусе то Edit.Focused = True;
Уже Чему-то научился Но этого мало
|
28.01.2008, 22:01 | #10 |
Пользователь
Регистрация: 09.01.2008
Сообщений: 42
|
а вдруг не эдит, дргуие элементы? надо форму
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фокус на компонент | Altera | Компоненты Delphi | 3 | 15.06.2008 10:51 |
закрыть все дочерни окна, кроме главного окна | Worms | Общие вопросы Delphi | 2 | 03.12.2007 22:18 |
Фокус формы | Stanislav | Общие вопросы Delphi | 4 | 15.11.2007 21:57 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |
Фокус? | AlexandrDel | Помощь студентам | 3 | 17.12.2006 01:54 |