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

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



Память: 0.49 MB
Время: 0.004 c
2-1294509433
Fr
2011-01-08 20:57
2011.04.03
символы разных шрифтов в ячейке StringGrid


2-1294233741
mefodiy
2011-01-05 16:22
2011.04.03
Ошибки при миграции из D7 в D2010


2-1294484497
Aleks
2011-01-08 14:01
2011.04.03
Народ подскажите я, что то не то делаю или что то глючит?


15-1292536050
George
2010-12-17 00:47
2011.04.03
Delphi, PHP и md5


9-1188577004
max_
2007-08-31 20:16
2011.04.03
Нужна помощь




   Наверх