۲۶-بهمن-۱۳۹۲, ۱۶:۰۵:۱۱
سلام
من روی فروم برنامه تعدادی کامپوننت از قبیل :لیبل و ادیت و shape و....
در حدود 20 تا shape دارم که رنگشون رو باید تطبق یه شرایط عوض کنم.
با استفاده از یه حلقه For تمام کامپوننت های موجود توی فورم رو چک می کنم که آیا Shape هست یا نه ؟ بعد باید رنگشون رو عوض کنم.
اما تمام shape ها پشت سر هم نیست؟
یعنی مواردی که توی memo1 نوشته میشه به این صورت هست :آیا راهی هست که بتونم تمام shape ها رو پشت سر هم قرار بدم؟
از هر طریقی که ممکن هست راهنمایی کنید ممنون میشم.
با تشکر
من روی فروم برنامه تعدادی کامپوننت از قبیل :لیبل و ادیت و shape و....
در حدود 20 تا shape دارم که رنگشون رو باید تطبق یه شرایط عوض کنم.
با استفاده از یه حلقه For تمام کامپوننت های موجود توی فورم رو چک می کنم که آیا Shape هست یا نه ؟ بعد باید رنگشون رو عوض کنم.
کد:
for ii := 0 to testForm.ComponentCount - 1 do
begin
Memo1.Lines.Add(Components[ii].ClassName);
if Components[ii].ClassName = 'TShape' then
begin
OpenIndicator.Brush.Color := clblack;
( Components[ii] as Tshape).Brush.Color := clblue;
end;
یعنی مواردی که توی memo1 نوشته میشه به این صورت هست :
کد:
TShape
TLabel
TLabel
TShape
TShape
TShape
TShape
TButton
TMemo
TButton
TMemo
TButton
TButton
TMemo
TButton
.
.
.
.
TTimer
از هر طریقی که ممکن هست راهنمایی کنید ممنون میشم.
با تشکر