这样的控件怎样动态生成?(100分)

  • 主题发起人 主题发起人 tswhq
  • 开始时间 开始时间
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
用一个panel显示分组中单个客户的资料,其中包括若干Label,edit控件.
每个分组中客户数量不等(1-5个),并要求在form1中同时显示每一组客户,

求怎样解决?
例如
客户1的资料用Panel[1]显示,姓名用Panel[1].Label1.caption:=客户1
客户2的资料用Panel[2]显示,姓名用Panel[2].Label1.caption:=客户2
 
把你的这个有其他控件的PANEL放到FRAME上,然后再程序中动态创建FRAME就可以了
 
楼上的详细点好吗,有源码也好呀
怎样用Frame放到form中呀?
 
Panel1 := TPanel.Create(self);
lab1 := TLabel.Create(self);
lab1.Parent := Panel1;
edit1 := TEdit.Create(Self);
edit1.Parent := Panel1;
....
 
先创建一个FRAME,为UNIT2
////
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TFrame2 = class(TFrame)
Panel1: TPanel;
Button1: TButton; //在PANLE1上
Edit1: TEdit; //在PANLE1上
private
{ Private declarations }
public
{ Public declarations }
end;

implementation

{$R *.dfm}

end.
/////////////////////////
在要调用的地方引用这个单元,再动态创建赋值就好了
////
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
f:TFrame2;
begin
f:=TFrame2.Create(self);
f.Parent:=Self; ////动态创建赋值
f.Visible:=True;
f.Button1.Caption:='UserName';
end;

end.
//////////////////


这样就可以达到你要的效果
 
多人接受答案了。
 
后退
顶部