объявлен массив:
ChkBx:Array[0..127] of TCheckBox;
и процедура:
procedure TForm1.ChkBxOnChng(Sender: TObject);
begin
self.Caption:='Waiting';
self.Font.Color:=clBlue;
end;
по нажатию кнопки делаю так:
ChkBx[i]:=TCheckBox.Create(ScrollBox1);ChkBx[i].Parent:=ScrollBox1;ChkBx[i].Top:=5+15*i;ChkBx[i].Left:=5;
ChkBx[i].OnChange:=@ChkBxOnChng;
после этого на форме появляется чекбокс,но при чекании его Caption и Font.Color меняется у самой формы!я почему-то думал что self. обращается к самому объекту вызвавшему это событие, т.е. Caption должен измениться у чекбокса!
подскажите пожалуйста что я делаю не так!менять надо свойства чекбокса!
программные компоненты и их события
Модератор: Модераторы
-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
SeventhSon писал(а):procedure TForm1.ChkBxOnChng(Sender: TObject);
Тут же русским языком написано, что процедура объявлена для TForm1, следовательно и self будет относится к форме. Вы что, разве слона то и не заметили?
-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
очень ценный совет:)а делать-то что?как свойства чекбокса менять?как-то черезе Sender. добраться до свойств можно?
Код: Выделить всё
(Sender as TCheckBox).Caption:='Waiting';-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
Спасибо получилось:))
