![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форма с вечным фокусом [D7, WinXP]
BlackSun © (2004-07-21 13:17:00)Подскажите, пожалуйста, как сделать, чтобы форма не могла потерять фокус?
Sandman25 (2004-07-22 08:49:00) [1]> а потом убрать ее, когда понадобится.
В таком случае Вы должны были открыть новую ветку с вопросом "Как программно закрыть модальную форму", получить в ней ответ: "Присвоить [Form2.]ModalResult := mrOk" и преспокойно использовать ShowModal.
[12] Sun bittern © (22.07.04 07:50)
Ну, это вряд ли :)
Sun bittern (2004-07-22 08:17:00) [2]Думкин © (22.07.04 07:58) [14]
Есть подозрение, автор ветки пользователей на юзание мышей переводит. Типа вот видите, фокус с элемнтов упрвления пропадает и клавишей Таб уже не пробежаться поним, за то у меня есть рульная мышка, благадоря которой можно успеть кликнуть по нужному контролу :0)
Думкин (2004-07-22 07:58:00) [3]> [13] Sun bittern © (22.07.04 07:53)
А в этом и есть фокус. Форма немодальная, но как модальная, но модальной не является. Фокус покус. Пора в потрепаться, если разъяснений не будет. Есть одно подозрение, но пусть автор сам разъяснит.
А то подозрение тут уже обсуждалось.
Sun bittern (2004-07-22 07:53:00) [4]BlackSun (22.07.04 06:47) [10]
Сразу напрашивается вопрос, что мы подразумеваем под фокусом?
Sun bittern (2004-07-22 07:50:00) [5]Sandman25 © (21.07.04 15:34) [5]
Придется тебя исключить из группы телепатов :))))
Думкин (2004-07-22 06:57:00) [6]> [10] BlackSun (22.07.04 06:47)
> О существовании Showmodal я знаю, но если я вызову ShowModal,
> то пока форма не закроется, я не смогу ничего дальше делать.
> А мне надо просто показать форму, чтобы она была активной
> всегда, а потом убрать ее, когда понадобится.
А теперь прочитай этот бред вновь. И чем же твоя форма отличается от модальной? Чем? Конкретно, по пунктам.
BlackSun (2004-07-22 06:47:00) [7]О существовании Showmodal я знаю, но если я вызову ShowModal, то пока форма не закроется, я не смогу ничего дальше делать. А мне надо просто показать форму, чтобы она была активной всегда, а потом убрать ее, когда понадобится. Спорить о смысле всего этого думаю не стоит, просто помогите решить проблему. При fsStayOnTop действительно теряется фокус, так что это не подходит. Буду пробовать с WM_KILLFOCUS и Deactivate
Sandman25 (2004-07-21 15:44:00) [8][8] clickmaker © (21.07.04 15:41)
Тогда теряется фокус. Хотя кто знает этих авторов ветки :)
clickmaker (2004-07-21 15:41:00) [9]
> Sandman25 © (21.07.04 15:34) [5]
> Это называется Form.ShowModal
или fsStayOnTop :)
Sandman25 (2004-07-21 15:40:00) [10][6] Sun bittern © (21.07.04 15:39)
Я уже давно в ней ИМХО :)
Sun bittern (2004-07-21 15:39:00) [11]Sandman25 © (21.07.04 15:34) [5]
Щас наверно выесниться что это не то, а если то, то Sandman25 поздравляем с пополнением в группу телепатов :)
Sandman25 (2004-07-21 15:34:00) [12]Это называется Form.ShowModal
Sun bittern (2004-07-21 15:33:00) [13]>> то надо одну сделать постоянно под фокусом.
Если одна постоянно под фокусом, то как тогда перекличиться на другие контролы а?
Ну если охота поизобретать, то:
OnDeactivate
WM_KILLFOCUS
SetFocus
BlackSun (2004-07-21 14:07:00) [14]Sun bittern, я же не говорю, чтобы из моего приложения нельзя было переключиться в другое, я имею ввиду, что если у меня несколько форм в приложении, то надо одну сделать постоянно под фокусом.
А вариант с таймером как-то некрасиво... Вроде у формы должно быть событие, связанное с потерей фокуса, кто-нибудь подскажет?
ekap (2004-07-21 13:37:00) [15]В таймере интервал 1.
и в нём
form1.focus;
Sun bittern (2004-07-21 13:34:00) [16]Нельзя!
И кто таким ПО будет пользоваться? Как на другие приложения переключаться?