已知一个组件的name 或 caption 如何找到这个组件并给它的某个属性赋值?(50分)

  • 主题发起人 xuxincheng
  • 开始时间
X

xuxincheng

Unregistered / Unconfirmed
GUEST, unregistred user!
已知一个组件的name 或 caption 如何找到这个组件并给它的某个属性赋值,
下面这种方法除外
for i := 0 to ComponentCount - 1 do
if Components.Name= 某个字符串 then
Components.visible:=false;
 
用FindComponent()可以。返回值是一个组件对象。
比如,FORM中有一个TEDIT的name属性叫edTitle。
那么要给他赋值可以用
(FindComponent('edTitle') as TEdit).Text='your text...'
 
TControl(findcomponent(某个字符串)).visible := true;
 
直接按f11键弹出object view。在它上方三尖角可以选择已有的form和其中的组件,要为组件
副值可以直接 组件名.属性:=具体的值。
 
在 Classes 单元中FindComponent是这样定义的:
function TComponent.FindComponent(const AName: string): TComponent;
var
I: Integer;
begin
if (AName <> '') and (FComponents <> nil) then
for I := 0 to FComponents.Count - 1 do
begin
Result := FComponents;
if SameText(Result.FName, AName) then Exit;
end;
Result := nil;
end;
和我说的那种方法一样, 还有没有别的办法:
to rickpasu 你在涮我?!!
 
其实就是这样啊,这个函数已经把代码封装好了,你只要调用函数就可以了。多方便
 
只好这样了,结帐.
 
顶部