Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Focus . Как узнать где он в данный момент находится ?   Найти похожие ветки 

 
Кен ©   (2003-06-10 03:48) [0]

Можно перебирать все компоненты и проверять не на них ли он находится, но это неудобно. Может можно как то попроще ?


 
Спрашивающий   (2003-06-10 04:21) [1]

Простой тест из него все поймешь
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Text:=IntToStr( GetFocus);
end;


 
Кен ©   (2003-06-10 05:08) [2]

Дельфи пишет какие то циферки, причём каждый раз разные. А как их преобразовать в нечто более понятное ?


 
ЮЮ ©   (2003-06-10 05:33) [3]

TForm.ActiveControl


 
Кен ©   (2003-06-10 05:56) [4]

Спасибо ! Понял.


 
Спрашивающий   (2003-06-10 06:33) [5]

Эти цифорки-это Handle твоего компанента с фокусом, а большинство операций с компанентом можно проделывать зная его
Handle .


 
Кен ©   (2003-06-10 06:40) [6]

Глюк обнаружил. Когда фокус отбирает TWebBrowser, то программа всё равно думает, что фокус на Edit1. Почему так ? Как неотдавать фокус ? Или как его вернуть обратно ? Или хотя бы как определять, что он на браузере ?


 
Кен ©   (2003-06-11 01:27) [7]

Как же с вэббраузером то быть то ?


 
Song ©   (2003-06-11 08:41) [8]

А как ты решил, что "программа всё равно думает, что фокус на Edit1" ?


 
Федя   (2003-06-11 09:20) [9]

Просто ты получаеш не глобальный фокус а фокус в твоее программе


 
Федя   (2003-06-11 09:24) [10]

Используй GetFocus а не TForm.ActiveControl


 
Silver_ ©   (2003-06-11 09:32) [11]

Screen.ActiveControl;
Скажет где фокус в активной форме.


 
Кен ©   (2003-06-13 01:33) [12]

> Song © (11.06.03 08:41)
> А как ты решил, что "программа всё равно думает, что фокус
> на Edit1" ?

Через таймер отслеживаю TForm.ActiveControl . Пишет что на он на Edit1 а набрать текст становится невозможно, так как Браузер фокус отобрал. Зато можно перемещать вэб-страницу вверх вниз кнопками, что являеется подтверждением, что фокус на ВэбБраузере.


> Silver_ © (11.06.03 09:32)
> Screen.ActiveControl;
> Скажет где фокус в активной форме.

Непомогает. Даже если просто мышкой кликнуть на ВэбБраузер, но всё равно пишет, что фокус на Edit1 .


> Федя (11.06.03 09:24)
> Используй GetFocus а не TForm.ActiveControl

А как вообще не отдавать фокус ? Сделать так, чтобы он сам не переключался ни на ВэбБраузер, ни на что другое ?


 
Silver_ ©   (2003-06-13 10:54) [13]

При Edit1.OnExit -> Edit1.SetFocus;

Тока думается что ничего больше не сможешь сделать так как если хочешь юзать контрол он должен получить фокус.
Вобще не знаю что за трабл с TWebBrowser, я в главной форме знаю контрол в фокусе с любой формы в приложении.


> Когда фокус отбирает TWebBrowser, то программа всё равно
> думает, что фокус на Edit1
. Почему так ? Как неотдавать
> фокус ? Или как его вернуть обратно ?

Значит получил что хотел Edit1 не хочет фокусом делится (т.е. оставляет его при себе) :о)

А если серьезно то попробуй в кнопке
begin
WebBrowser1.SetFocus;
ShowMessage(Screen.ActiveControl);
end;

тогда может будет понятно в чем дело то.



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
8-84444
__ALX__
2003-03-10 23:58
2003.06.26
Dynamic Array


3-83968
andrey__
2003-05-27 15:25
2003.06.26
Нужно определить фиксированную часть в <B>TDBGrid </B>


1-84335
Spartak
2003-06-16 07:46
2003.06.26
Сохранение масива в файл и загрузка из файла


1-84118
kniaz
2003-06-10 23:01
2003.06.26
Компонент Chart, есть вопрос по построению графика


3-84008
softmaster
2003-05-25 00:18
2003.06.26
помощь в создании запроса