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

Вниз

Вопрос по (Sender as...)   Найти похожие ветки 

 
Олег Крапивин   (2010-12-24 23:42) [0]

Доброго времени суток господа.
Подскажите пожалуйста по простому вопросу:
На форме есть несколько компонентов TЕdit и кнопка "Заполнить TEdit.Text". При нажатии кнопки попробовал отловить (Sender as TEdit),
но при проверке оказалось, что Sender указывает на кнопку (что и должно быть). А как мне выйти на компонеты Tedit формы?
Лучше бы ссылочку...


 
12 ©   (2010-12-25 00:00) [1]

z.b.
for i := 0 to componentscount -1 do
if components[i] is tedit then tedit(components[i]).text := tedit(components[i]).name


 
Игорь Шевченко ©   (2010-12-25 00:50) [2]


> А как мне выйти на компонеты Tedit формы?


Edit1
Edit2
...


 
Eraser ©   (2010-12-25 01:00) [3]

> [0] Олег Крапивин   (24.12.10 23:42)

TButtonedEdit


 
Германн ©   (2010-12-25 01:02) [4]


> А как мне выйти на компонеты Tedit формы?

Form1.ActiveControl ?


 
Anatoly Podgoretsky ©   (2010-12-25 01:19) [5]

> Олег Крапивин  (24.12.2010 23:42:00)  [0]

Кнопку поставь SpeedButton


 
Германн ©   (2010-12-25 01:46) [6]

Такая "разноплановость" ответов наталкивает на мысль настоятельно посоветовать автору прочитать о "бессмертной Саге о X, Y и Z".
http://www.gunsmoker.ru/2008/10/x-y-z.html


 
Anatoly Podgoretsky ©   (2010-12-25 02:14) [7]

> Германн  (25.12.2010 01:02:04)  [4]

В случае TButton это TButton


 
Германн ©   (2010-12-25 02:36) [8]


> Anatoly Podgoretsky ©   (25.12.10 02:14) [7]
>
> > Германн  (25.12.2010 01:02:04)  [4]
>
> В случае TButton это TButton
>

Т.е. "Телепатор" ты заранее отказался включать?


 
KSergey ©   (2010-12-25 12:47) [9]

Я не понял что надо отловить собственно.
Хотя ответ "поставь SpeedButton" наталкивает на мысль, что необходим активный Edit "в момент" нажатия кнопки?


 
_Юрий   (2010-12-25 14:59) [10]

активным может быть только один винконтрол
а кнопку, она и становится активной
чтобы этого не происходило, надо использовать кнопку, которая вин-контролом не является - например SpeedButton
тогда активным продолжает оставаться эдит


 
_Юрий   (2010-12-25 15:00) [11]

а кнопку = а когда нажимают кнопку


 
Дмитрий С ©   (2010-12-25 17:32) [12]

Как вариант сделать переменную в классе формы:
FLastFocusedEdit:TEdit.

У всех едитов на форме обработать onEnter, где сделать
FLastFocusedEdit:=Sender as TEdit;
А при нажатии на кнопку
if assigned(FLastFocusedEdit) then
 FLastFocusedEdit.text := "...."


 
Leonid Troyanovsky ©   (2010-12-25 22:55) [13]


> _Юрий   (25.12.10 14:59) [10]

> вин-контролом не является - например SpeedButton
> тогда активным продолжает оставаться эдит

Можно и TButton with Default=True.
Если, конечно, жать через Enter.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2010-12-25 22:58) [14]


> Дмитрий С ©   (25.12.10 17:32) [12]

> Как вариант сделать переменную в классе формы:

Лучше сделать каждому Edit пункт контекстного меню
или action c горячей клавишей.

--
Regards, LVT.


 
Олег Крапивин   (2010-12-28 13:12) [15]


> 12 ©   (25.12.10 00:00) [1]
> z.b.for i := 0 to componentscount -1 doif components[i]
> is tedit then tedit(components[i]).text := tedit(components[i]).
> name


Спасибо 12! Единственное, что подошло.
Пробовал вариант от Дмитрия [12], что-то не получилось.


 
Юрий Зотов ©   (2010-12-28 13:28) [16]

А лучше всего - [3]. И никаких проблем ни у программиста, ни у юзера.


 
Leonid Troyanovsky ©   (2010-12-28 18:54) [17]


> Олег Крапивин   (28.12.10 13:12) [15]

> Спасибо 12! Единственное, что подошло.

Иное испытывалось (понято было) плохо.

> Пробовал вариант от Дмитрия [12], что-то не получилось.

Remember: потерять фокус легко, а возвратить - сложно.
Особенно, по молодости.

--
Regards, LVT.


 
Олег Крапивин   (2011-01-02 10:57) [18]


> > Пробовал вариант от Дмитрия [12], что-то не получилось.
> Remember: потерять фокус легко, а возвратить - сложно.Особенно,
>  по молодости.

Какая молодость???!!!! Мне через три года полтинник!!!
С наступившим Новым годом Вас и всех присутствующих!

Здоровья всем и сил, терпения со всеми кто знает систему менее глубоко
чем вы.

Это любопытно http://citforum.ru/gazeta/165/ , тигры Лиспа впереди!
Опять концепцию написания программ менять?
Это в конференцию прочее


 
Leonid Troyanovsky ©   (2011-01-02 18:59) [19]


> Олег Крапивин   (02.01.11 10:57) [18]

> >  по молодости.
>
> Какая молодость???!!!! Мне через три года полтинник!!!

Поэтому так и говорят: береги фокус с молодости.

--
Regards, LVT.


 
Студент   (2011-01-09 06:35) [20]


> На форме есть несколько компонентов TЕdit и кнопка "Заполнить
> TEdit.Text".


А как Edit"ы создаются - DisignTime? Их количество и имена постоянны? Который из Edit нужно заполнить при нажатии кнопки - все?
Может просто подряд?

Procedure TForm1.OnButton1Click(...);
Begin
Edit1.Text:="one";
Edit2.Text:="two";
Edit3.Text:="three";
...
End;


> Поэтому так и говорят: береги фокус с молодости.


:D



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

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

Наверх




Память: 0.51 MB
Время: 0.012 c
15-1292493434
Kerk
2010-12-16 12:57
2011.04.03
Полное дорожное видео трассы «Москва - Владивосток»


3-1254997267
vturkevich
2009-10-08 14:21
2011.04.03
Запись данных в подченненую табл SQL-запросом


3-1256066675
zorik
2009-10-20 23:24
2011.04.03
SQL-запрос посещения


15-1292516874
Аня
2010-12-16 19:27
2011.04.03
Разработка файлового процессора


2-1293223375
Олег Крапивин
2010-12-24 23:42
2011.04.03
Вопрос по (Sender as...)