生成的一组控件tmpmemo  当我鼠标点下去之后。如何得到N( tmpMemo(N) )的数值

解决方案 »

  1.   

    将创建的控件记录到Tlist中。
    var
      list: TList;
    begin
      List := Tlist.Create;
      tempMemo := TMemo.Create;
      List.Add(tempMemo);
    end;
      

  2.   

    二楼的
         list.add()有用吗?我生成完了之后如何确定我点的是第几个
    二楼的 得到控件组的下线是什么意思。不太明白
      

  3.   

    list.add()有用吗?我生成完了之后如何确定我点的是第几个 得到控件组的下线是什么意思。不太明白
      

  4.   

    在生成组建时给他的Tag属性赋值为组件的序号,
    在组件的事件OnClick(Sender:TObject)中有参数Sender,
    判断 tmpmemo[TComponent(Sender).Tag]
    例如:
    初始化:
    var
      tmpmemos[1..10]:Array of TMemo;
    begin
      for i=Low(tmpmemos) to High(tmpmemo) do
      begin
        tmpmemos[i] := TMemo.Create(Self);
        tmpmemos[i].parent := Form1;
        tmpmeoms[i].Tag = i;
        tmpmeomos[i].OnClick := MyMemoClick;
      end;procedure Form1.MyMemoClick(Sender:TOjbect);
    begin
      ShowMessage(Fomat('你点击了第%d个Memo',[TComponent(Sender).Tag]));
    end;
      

  5.   

    通过但我的tmpmeoms因为要排列,所以是通过一个双重循环来实现的(如2x2 4x4)
    这样的I 的值就不等于生成tmpmemos的总数了。怎么问怎么办啊。老大。分不够可以再加的
      

  6.   

    用指针比较简单!!
    如:4x4
    var
    tmp:array[1..4,1..4] of ^TMemo;
    在生成组件时:如要生成第一个组件则插入以下代码
    tmp[1,1]:=@tmpmemos[1];如此类推!