如何遍历窗体中的所有控件,并遍历每个控件的所有属性中是否含有string类型的属性,如果有则将这个控件的名称和这个属性的名称写入一个memo中?急!

解决方案 »

  1.   

    Delphi5开发人员指南第二十章最后说的很详细.....
    自己去Look
      

  2.   

    给个例子看看,是不是这个意思
    procedure TF_SimuInfo.GetCalendar(sender:TObject; Panel_Edit: TGroupBox);
    var
      i:integer;
    begin
      F_Calendar:=TF_Calendar.Create(self);
      F_Calendar.ShowModal;
      //showmessage(IntToStr((sender as TSpeedButton).Tag));
      //查找窗体内的所有EDIT,然后,把按钮的TAG和EDIT的TAG一致的填入数据
      for i:=0 to Panel_Edit.ControlCount - 1 do
      begin
        //showmessage(Panel_Edit.Controls[i].ClassName + IntToStr(panel_Edit.Controls[i].Tag));
        if Panel_Edit.Controls[i].ClassName = 'TLabeledEdit' then
        begin       if Panel_Edit.Controls[i].Tag = (sender as TSpeedButton).Tag then
           begin
             (Panel_Edit.Controls[i] as TLabeledEdit).Text:=SelectedCalendar;
           end;
        end;
      end;  F_Calendar.Free;
    end;
      

  3.   

    强,果然高手。友情Up
    将“流氓无赖”测试到底
    ——始于2003年7月
    天际白云匆匆去,银烛成灰心存泪;
    孤苦孑然了一身,奔波劳苦鬓将白;
    树梢蚂蚱凭空望,江边浪花碎巨石; 支持“流金岁月”!!!
    发送框,少个“右键菜单,选择粘贴”;
    再来个快捷键就更好了。
    ——2003年12月24日am
    大家工资该发的发,帖子该结的结!
    让我们回家过个开心年吧!!!^@^
      

  4.   

    //都在typInfo单元中uses typInfo;var
      i: Integer;
      APropName: string;
    begin
      APropName := 'string';
      for I := 0 to Self.ComponentCount-1 do
        if IsPublishedProp(Self.Components[i], APropName) then
          Memo1.Lines.Add(Self.Components[i].Name + '.' + APropName);
    end;