Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
ВнизМассив объектов. Найти похожие ветки
← →
Alx2 (2002-03-20 15:36) [8]>MaXie © (20.03.02 15:10)
--------
Ни array [..] of TControl, ни array [..] of TComponent не проходит. Оно то и понятно. Элементы класса TEdit и др. размещены на панели Panel1, которая и является собственником оных. В результате свойство Color меняется не у элемента(-ов) класса TEdit, а у самого собственника, т.е. у элемента Panel1.
------------
Потому что свойство Color - protected
Сохраняя твой подход, внесу поправки:
Пишешь:
type TMyControl = class(tControl)
property Color;
end;
А все остальное, кроме места с жирным шрифтом, как у тебя.
---------------------
Есть объявление:
procedure TForm1.TEditActive(W: array of TControl);
var
i : Integer;
begin
for i := 0 to 1 do
begin
with TMyControl(W[i]) do
begin
Color := clCaptionText;
Font.Color := clWindowText
end
end;
, а также объявление массива:
W : array [0..1] of TControl;
Если теперь "кликнуть" по кнопке, процедура обработки клика которой выглядит следующим образом:
procedure TForm1.Button2Click(Sender: TObject);
begin
W[0] := Edit1;
W[1] := Edit2;
TEditActive(W)
end;
--------------------
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c