Raize控件的RZGroup动态加载子项时,如何写onclick事件啊? Raize控件的RZGroup动态加载子项时,如何写onclick事件啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个通用的click过程,创建子项时,把它的onclick事件指向通用click事件就可以了 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, RzPanel, RzGroupBar, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private procedure Item1Click(Sender:TObject); procedure Item2Click(Sender:TObject); { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var FGroupBar:TRzGroupBar; FGroup:TRzGroup; FItem:TRzGroupItem;begin FGroupBar:=TRzGroupBar.Create(Self); FGroupBar.Parent:=Self; FGroupBar.Visible:=True; FGroup:=TRzGroup.Create(FGroupBar); FGroup.Caption:='test'; FGroupBar.AddGroup(FGroup); FItem:=FGroup.Items.Add; FItem.OnClick:=Item1Click; FItem.Caption:='1'; FItem:=FGroup.Items.Add; FItem.Caption:='2'; FItem.OnClick:=Item2Click;end;procedure TForm1.Item1Click(Sender: TObject);begin ShowMessage('1');end;procedure TForm1.Item2Click(Sender: TObject);begin ShowMessage('2');end;end. unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, RzPanel, RzGroupBar, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private procedure Item1Click(Sender:TObject); procedure Item2Click(Sender:TObject); procedure ItemClick(Sender:TObject); { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var FGroupBar:TRzGroupBar; FGroup:TRzGroup; FItem:TRzGroupItem;begin FGroupBar:=TRzGroupBar.Create(Self); FGroupBar.Parent:=Self; FGroupBar.Visible:=True; FGroup:=TRzGroup.Create(FGroupBar); FGroup.Caption:='test'; FGroupBar.AddGroup(FGroup); FItem:=FGroup.Items.Add; FItem.OnClick:=Item1Click; FItem.Caption:='1'; FItem:=FGroup.Items.Add; FItem.Caption:='2'; FItem.OnClick:=Item2Click;end;procedure TForm1.Item1Click(Sender: TObject);begin ShowMessage('1');end;procedure TForm1.Item2Click(Sender: TObject);begin ShowMessage('2');end;procedure TForm1.Button2Click(Sender: TObject);var FGroupBar:TRzGroupBar; FGroup:TRzGroup; FItem:TRzGroupItem; i:Integer;begin FGroupBar:=TRzGroupBar.Create(Self); FGroupBar.Parent:=Self; FGroupBar.Visible:=True; FGroup:=TRzGroup.Create(FGroupBar); FGroup.Caption:='test'; FGroupBar.AddGroup(FGroup); for i:=1 to 10 do begin FItem:=FGroup.Items.Add; FItem.OnClick:=ItemClick; FItem.Caption:=IntToStr(i); end;end;procedure TForm1.ItemClick(Sender: TObject);begin if Sender is TRzGroupItem then begin ShowMessage(IntToStr((Sender as TRzGroupItem).Index+1)); end;end;end.结贴散分吧,呵呵 如果有多个FGroup,如何确定是哪一个啊? 晕,上面的代码看不懂吗?根据Index来 看你的事件是多个GROUP共用还是各个GROUP不同了,共用的话判断SENDER参数 请问,如何在Edit框中分别显示当前年和当前月份? 我打开一个项目工程,提示少了一个控件(OWC_TLB),这是什么控件,那里找啊? 如何修改com程序里的clsid? 世上最强的中国式英文 狂笑不止 两个线程调用一个函数应该不会出事吧?该函数是用户自定义的函数,不牵涉到全局变量。 大家来看看这个方案是否可行。 我想开始学习delphi,请问学会需要多长时间? 怎样创建一个线程. 在paradox 中如何实现? CSDN查询系统咨询 日期格式转化。。。。 大家好,我是第一次提问,还请各位大侠多多指教
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RzPanel, RzGroupBar, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure Item1Click(Sender:TObject);
procedure Item2Click(Sender:TObject);
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
FGroupBar:TRzGroupBar;
FGroup:TRzGroup;
FItem:TRzGroupItem;
begin
FGroupBar:=TRzGroupBar.Create(Self);
FGroupBar.Parent:=Self;
FGroupBar.Visible:=True;
FGroup:=TRzGroup.Create(FGroupBar);
FGroup.Caption:='test';
FGroupBar.AddGroup(FGroup);
FItem:=FGroup.Items.Add;
FItem.OnClick:=Item1Click;
FItem.Caption:='1';
FItem:=FGroup.Items.Add;
FItem.Caption:='2';
FItem.OnClick:=Item2Click;
end;procedure TForm1.Item1Click(Sender: TObject);
begin
ShowMessage('1');
end;procedure TForm1.Item2Click(Sender: TObject);
begin
ShowMessage('2');
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RzPanel, RzGroupBar, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
procedure Item1Click(Sender:TObject);
procedure Item2Click(Sender:TObject);
procedure ItemClick(Sender:TObject);
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
FGroupBar:TRzGroupBar;
FGroup:TRzGroup;
FItem:TRzGroupItem;
begin
FGroupBar:=TRzGroupBar.Create(Self);
FGroupBar.Parent:=Self;
FGroupBar.Visible:=True;
FGroup:=TRzGroup.Create(FGroupBar);
FGroup.Caption:='test';
FGroupBar.AddGroup(FGroup);
FItem:=FGroup.Items.Add;
FItem.OnClick:=Item1Click;
FItem.Caption:='1';
FItem:=FGroup.Items.Add;
FItem.Caption:='2';
FItem.OnClick:=Item2Click;
end;procedure TForm1.Item1Click(Sender: TObject);
begin
ShowMessage('1');
end;procedure TForm1.Item2Click(Sender: TObject);
begin
ShowMessage('2');
end;procedure TForm1.Button2Click(Sender: TObject);
var
FGroupBar:TRzGroupBar;
FGroup:TRzGroup;
FItem:TRzGroupItem;
i:Integer;
begin
FGroupBar:=TRzGroupBar.Create(Self);
FGroupBar.Parent:=Self;
FGroupBar.Visible:=True;
FGroup:=TRzGroup.Create(FGroupBar);
FGroup.Caption:='test';
FGroupBar.AddGroup(FGroup);
for i:=1 to 10 do
begin
FItem:=FGroup.Items.Add;
FItem.OnClick:=ItemClick;
FItem.Caption:=IntToStr(i);
end;
end;procedure TForm1.ItemClick(Sender: TObject);
begin
if Sender is TRzGroupItem then
begin
ShowMessage(IntToStr((Sender as TRzGroupItem).Index+1));
end;
end;end.
结贴散分吧,呵呵