Вниз
Скачать: 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.006 c
2-1262357306
Чипырик
2010-01-01 17:48
2010.03.21
Запрос SQL и символ "


1-1243237795
_REA
2009-05-25 11:49
2010.03.21
Китайский язык


15-1262035823
Юрий
2009-12-29 00:30
2010.03.21
С днем рождения ! 29 декабря 2009 вторник


15-1262338995
dr_creigan
2010-01-01 12:43
2010.03.21
Ядра процессоров


1-1244548514
Валигози
2009-06-09 15:55
2010.03.21
Как прикрутить к своему приложению "7z.dll"?




   Наверх