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

Вниз

Есть ли метод оперделения какой контрол в фокусе   Найти похожие ветки 

 
Делфиец   (2010-01-16 05:35) [0]

Принципе я могу перебрать все контролы на форме и проверить каждый является ли он в фокусе, но вот подумал в друг есть метод о котором я не знаю, который делает то же самое.


 
Ололо   (2010-01-16 08:08) [1]

CanFocus?

другого помоему нет


 
oldman ©   (2010-01-16 10:29) [2]

Никак не могу придумать задачу, для решения которой ЭТО понадобится...


 
TIF ©   (2010-01-16 11:14) [3]

> придумать задачу, для решения которой ЭТО понадобится...

Может отображение подсказки около контрола, который находится в фокусе?


 
oldman ©   (2010-01-16 11:20) [4]


> TIF ©   (16.01.10 11:14) [3]
> Может отображение подсказки около контрола, который находится
> в фокусе?


При получении фокуса контрол передает функции подсказки свои координаты, функция выводит подсказку. Поиск не нужен.


 
Делфиец   (2010-01-16 11:22) [5]


> oldman ©   (16.01.10 10:29) [2]
> Никак не могу придумать задачу, для решения которой ЭТО
> понадобится...


"Элементарно просто др. Ватсон" на форме много контролов для ввода, после нажатия Enter надо перейти на соседний контрол ввода,  но на каждый контрол писать процедуру неохота. У формы есть обработчик onFormKeyPress черезнего ловим нажатие Enter if Key = #13 then у всей формы, осталось дело за малым узнать только какой контрол в фокусе и передать фокус другому контролу. Думаю, что такой-нибудь метод  function GetFocusControl: TObect; не помешал бы.


 
turbouser ©   (2010-01-16 11:24) [6]

Хм.. ActiveControl?


 
oldman ©   (2010-01-16 11:29) [7]


> Делфиец   (16.01.10 11:22) [5]


Правильно выставить их в списке и все.
По Tab они правильно перескакивают?
Если да, подмени Tab Ентером.


 
turbouser ©   (2010-01-16 11:35) [8]


> Делфиец   (16.01.10 11:22) [5]
>
>

SelectNext(ActiveControl,true,true)


 
Leonid Troyanovsky ©   (2010-01-16 12:28) [9]


> Делфиец   (16.01.10 11:22) [5]

> после нажатия Enter надо перейти на соседний контрол ввода

Не надо извращений, жми Tab.

--
Regards, LVT.


 
DVM ©   (2010-01-16 12:59) [10]


> Не надо извращений, жми Tab.

ну почему сразу извращение? Переход по Enter очень удобен при заполнении множества полей. Получается похоже на таблицу Excel


 
Делфиец   (2010-01-16 13:15) [11]


> turbouser ©   (16.01.10 11:24) [6]
> Хм.. ActiveControl?


Это самый раз


 
Делфиец   (2010-01-16 13:25) [12]

Можно и по Tab, но на форме разные контролы TEdit, TbitBtn, TCmboBox табом неудобно, так ка нужно пропускать кучу контролов, которые не нужны для ввода, а исключить их вообще из TabStop тоже нехорошо. так что переход по "интеру" самое то.


 
Anatoly Podgoretsky ©   (2010-01-16 14:30) [13]

> Делфиец  (16.01.2010 05:35:00)  [0]

Естественно есть, но только не метод, а свойство ActiveControl



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1263902707
12345
2010-01-19 15:05
2010.03.21
Рабата с Canvas TImage


15-1262640624
Юрий
2010-01-05 00:30
2010.03.21
С днем рождения ! 5 января 2010 вторник


2-1263756018
Jimmy
2010-01-17 22:20
2010.03.21
Замена цветов


2-1263813721
Анна
2010-01-18 14:22
2010.03.21
TTreeView с Check Boxes


1-1244132608
mfender
2009-06-04 20:23
2010.03.21
Поле становится Inaccessible value