在Delphi中更改具有不同名称的多个面板的颜色的过程
我有一个TForm,上面有5个TPanel控件。我需要他们改变颜色时,他们被点击 我可以很容易地为每个TPanel编写代码来更改颜色,但这包含了太多的代码,所以我想知道是否可以编写一个过程来单独更改每个TPanel的颜色,并将每个TPanel的名称作为参数调用此函数?如果没有,还有其他方法吗 这真的很容易在Delphi中更改具有不同名称的多个面板的颜色的过程,delphi,procedure,Delphi,Procedure,我有一个TForm,上面有5个TPanel控件。我需要他们改变颜色时,他们被点击 我可以很容易地为每个TPanel编写代码来更改颜色,但这包含了太多的代码,所以我想知道是否可以编写一个过程来单独更改每个TPanel的颜色,并将每个TPanel的名称作为参数调用此函数?如果没有,还有其他方法吗 这真的很容易 创建一个新的VCL应用程序 在主窗体中添加五个TPanel控件 选择所有五个面板 在对象检查器中,将ParentBackground设置为False 在对象检查器中,单击事件选项卡,然
TPanel
控件
ParentBackground
设置为False
面板单击
并按Enter键
procedure TForm1.PanelClick(Sender: TObject);
begin
if Sender is TPanel then
TPanel(Sender).Color := RGB(Random(255), Random(255), Random(255));
end;
程序TForm1.PanelClick(发送方:TObject);
变量
i:整数;
开始
对于i:=0到ControlCount-1 do
如果控制[i]为TPanel,则
如果控件[i]=发送方,则
TPanel(控件[i])。颜色:=clHighlight
其他的
TPanel(控制[i])。颜色:=clBtnFace;
终止
这将迭代Self
的子控件,因为ControlCount
和controls
分别表示Self.ControlCount
和Self.controls
。如果您的目标面板具有不同的父级(例如,面板),则迭代其子级
或者,您可以为目标面板指定一个特定的标记
值(如500
),并且只更改此类面板的颜色
请将bevelooter
设置为bvNone
。我们已经离开了90年代。这真的很容易
TPanel
控件
ParentBackground
设置为False
面板单击
并按Enter键
procedure TForm1.PanelClick(Sender: TObject);
begin
if Sender is TPanel then
TPanel(Sender).Color := RGB(Random(255), Random(255), Random(255));
end;
程序TForm1.PanelClick(发送方:TObject);
变量
i:整数;
开始
对于i:=0到ControlCount-1 do
如果控制[i]为TPanel,则
如果控件[i]=发送方,则
TPanel(控件[i])。颜色:=clHighlight
其他的
TPanel(控制[i])。颜色:=clBtnFace;
终止
这将迭代Self
的子控件,因为ControlCount
和controls
分别表示Self.ControlCount
和Self.controls
。如果您的目标面板具有不同的父级(例如,面板),则迭代其子级
或者,您可以为目标面板指定一个特定的标记
值(如500
),并且只更改此类面板的颜色
请将
bevelooter
设置为bvNone
。我们离开了90年代。很棒的动画GIF,但不是透明的-你的桌面背景太分散我的注意力了。很棒的动画GIF,但不是透明的-你的桌面背景太分散我的注意力了。