rt
定义的类中有一个控件。
在类copy的时候,我怎样才能让另一个类拥有这个控件呢?

解决方案 »

  1.   

    简单点说,如窗体上有一个edit控件
    你要传给一个函数或者过程procedure test(com:TComponent);
    begin
    if com is TEdit then
    该干嘛干嘛;
    end;调用就是
    test(edit1);不知道这样是不是你想要的?
      

  2.   

    额...怪我没有说清楚。
    我要的是这样的:type
      tppanel = class
      public
        p_panel: tpanel;
        a, b, c, d: integer;{...}procedure tppanel.copy(mypanel: tppanel);
    begin
      a := mypanel.a;
      b := mypanel.b;
      c := mypanel.c;
      d := mypanel.d;
      p_panel := mypanel.p_panel;//...这么写...
    end;procedure tppanel.setcolor(i: integer);
    begin
      case color_info of
        0: p_panel.Color := tcolor(rgb(236, 236, 236));
        1: p_panel.Color := tcolor(rgb(183, 183, 183));
        2: p_panel.Color := clred;
      end;
    end;比如,建立了一个tppanel,同时窗体上就有一个panel,然后把这个tppanel copy给另一个tppanel,再对另一个tppanel做setcolor操作,窗体上的那个panel不会有任何改变。
    我想应该是
    p_panel := mypanel.p_panel
    只是在复制属性的缘故
    应该怎样调整呢?