Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c