Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.008 c
15-1262208623
Юрий
2009-12-31 00:30
2010.03.21
С днем рождения ! 31 декабря 2009 четверг


13-1124902059
jenbond
2005-08-24 20:47
2010.03.21
Мысли по вопросу о создании web приложения


1-1240562868
Unknown user
2009-04-24 12:47
2010.03.21
Странная утечка памяти, обнаруживаемая EurekaLog


2-1264116575
pazitiff
2010-01-22 02:29
2010.03.21
Invalid pointer operation


2-1263433208
Kenny1
2010-01-14 04:40
2010.03.21
Изменить цвет TPanel при помощи API




   Наверх