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

Вниз

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

 
Dyakon_Frost ©   (2007-07-02 11:28) [0]

Здравствуйте!
У меня есть 23 Edit"a и для всех них проводится одна и таже проверка! Как-нибудь можно прописать код так, чтобы не прописывать всем компонентам событие OnChange?

Заранее спасибо.


 
Игорь Шевченко ©   (2007-07-02 11:31) [1]

Назначать одно событие динамически ?

procedure MyForm.EditChange (Sender: TObject);
begin
 ...
end;

procedure MyForm.FormCreate (Sender: TObject);
var
 I: Integer;
begin
 for I:=0 to ComponentCount-1 do
   if Components[I] is TEdit then
      TEdit(Components[I]).OnChange := EditChange;
 ...
end;


 
stone ©   (2007-07-02 11:32) [2]

Событие OnChange в этом случае должно указывать на одну процедуру, например на обработчик OnChange любого из Edit"ов.


 
_Asph ©   (2007-07-02 11:39) [3]

По моему классически, надо на основе Edit сделать свой класс,  где и прописать необходимый метод, и на форму уже навешивать этот класс, и не о чем не думать :)


 
Desdechado ©   (2007-07-02 11:50) [4]

> По моему классически, надо на основе Edit сделать свой класс,
Излишне. Если на каждый пшик городить классы, то зачем тогда остальное придумали?

Автору
Можно один обработчик назначить и в дизайн-тайме. Заметь, что при назначении можно не только дважды кликать для создания нового, но и из комбика выбрать уже имеющиеся.


 
Dyakon_Frost ©   (2007-07-02 11:51) [5]

Ну можно собственно и свой компонент написать на основе TEdit! Просто ищу самый простой способ.


 
homm ©   (2007-07-02 11:51) [6]

В инспекторе объектов, там где ты назначаешь действия на события, у каждого события есть такая кнопочки со стрелочкой справа. Она тебе и нужна.


 
Anatoly Podgoretsky ©   (2007-07-02 11:52) [7]

Событие придется всем прописать и другого пути нет, а вот обработчик события может быть общий.

А в чем у тебя сложность - выделить все нужные компоненты на форме и указать один раз обработчик.


 
Dyakon_Frost ©   (2007-07-02 12:38) [8]


> А в чем у тебя сложность - выделить все нужные компоненты
> на форме и указать один раз обработчик.

Хотелось просто узнать, более понятные методы! А то не всегда этот способ подходит.
Всем большое спасибо! Решил пока огород не городить.

> Игорь Шевченко

Спасибо за пример! Очень познавательно.


 
Anatoly Podgoretsky ©   (2007-07-02 13:04) [9]

Если этот способ не подходит, то выделяем компонент в инспекторе объектов и на закладке событий назначаем ранее созданый обработчик.



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
2-1183363790
Aibo
2007-07-02 12:09
2007.07.29
как создавать файл при помощи WinApi


15-1183027152
Ega23
2007-06-28 14:39
2007.07.29
Class vs Record


15-1183146313
IMHO
2007-06-29 23:45
2007.07.29
Посоветуйте сайт для любителей кино


1-1179760981
TStas
2007-05-21 19:23
2007.07.29
Что нужно писать в rs файле, чтобы засунуть звук в ресурс?


1-1179726841
bss
2007-05-21 09:54
2007.07.29
Горизонтальная полоса прокруки в ListBox