Re[3]: Создание компонентов в RUN-TIME
От: _MarlboroMan_ Россия  
Дата: 20.02.03 10:59
Оценка:
Здравствуйте, Ozone, Вы писали:

O>А как в процедуре EditChange узнать над каким именно 1..5 совершается действие

O>(просто мне нужно, чтобы при изм. 1-го данные заносились туда-то, при изм. 2-го туда-то, и т.д.)

тут есть несколько подходов.

1. поименовать создаваемые контролы.
2. использовать проперть Tag.

procedure TMyForm.EditChange(Sender: TObject);
begin
    if not Sender is TButton then exit;

    //первый подход
    if TButton(Sender).Name = 'Edit1' then
    begin
    end;

    //второй подход
    case TButton(Sender).Tag of
    1: 
        begin
        end;
    end;
     

end;

....
var
   Edit: array [1..5] of TEdit;
for i:=1 to 5 do begin
   Edit[i]:=TEdit.Create(Application);
   Edit[i].Name :='Edit' + InToStr(i); //поименовать создаваемые контролы.
   Edit[i].Tag := i; // использовать проперть Tag.
   Edit[i].Parent:=Form1;
   Edit[i].OnChange := EditChange;
end;
... << RSDN@Home 1.0 beta 6a... наслаждаюсь Rammstein — Links 2-3-4 [Westbam Tech Mix] >>

— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.