4个回答
展开全部
ControlCount可以获得当前控件(可能是Form、Panel, GroupBox)下直接包含的可视化控件总数,通过Controls[i]可以依次访问第i个控件。通过Controls[i] is TButton可以判断控件是不是按钮。
与Controls对应的还有一个ComponentCount和Components。这个是当前窗口下所有控件,不管可见还是不可见,也不分直接包含还是通过Panel,GroupBox等间接包含的控件。
深入解析。
button := TButton.Create(Self); //这里Self.Components中就包含了button,
button.Parent := Self; //这里Self.Controls就包含了button
对你这个问题,想要知道有多少个Button的代码如下:
var
I: Integer;
Count: Integer;
begin
Count := 0;
for I := 0 to ControlCount - 1 do
begin
if Controls[I] is TCustomButton then
Inc(Count);
end;
ShowMessage('所有从TCustomButton继承的控件且直接放在Form上的控件总数为:' + IntToStr(Count));
Count := 0;
for I := 0 to ComponentCount - 1 do
begin
if Components[I] is TCustomButton then
Inc(Count);
end;
ShowMessage('所有从TCustomButton继承的控件总数为:' + IntToStr(Count));
end;
与Controls对应的还有一个ComponentCount和Components。这个是当前窗口下所有控件,不管可见还是不可见,也不分直接包含还是通过Panel,GroupBox等间接包含的控件。
深入解析。
button := TButton.Create(Self); //这里Self.Components中就包含了button,
button.Parent := Self; //这里Self.Controls就包含了button
对你这个问题,想要知道有多少个Button的代码如下:
var
I: Integer;
Count: Integer;
begin
Count := 0;
for I := 0 to ControlCount - 1 do
begin
if Controls[I] is TCustomButton then
Inc(Count);
end;
ShowMessage('所有从TCustomButton继承的控件且直接放在Form上的控件总数为:' + IntToStr(Count));
Count := 0;
for I := 0 to ComponentCount - 1 do
begin
if Components[I] is TCustomButton then
Inc(Count);
end;
ShowMessage('所有从TCustomButton继承的控件总数为:' + IntToStr(Count));
end;
展开全部
var i,qty : Integer;
for i = 0 to Form1.ComponentCount-1
begin
if (Form1.components[i].ClassName = TButton) then
qty := qty + 1 ;
end
showmessage("Button控件数量:"+inttoStr(qty));
for i = 0 to Form1.ComponentCount-1
begin
if (Form1.components[i].ClassName = TButton) then
qty := qty + 1 ;
end
showmessage("Button控件数量:"+inttoStr(qty));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ShowMessage(IntToStr(ComponentCount));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可见控件不用转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询