中国开发网: 论坛: 程序员情感CBD: 贴子 708253
sea026: 贴一个
unit untFunction;

interface

uses
........................;


function SelectForm(ss:TStrings=nil;bMul:boolean=False):string;

type
TEvent = class(TObject)
public
procedure MyBtnClick(Sender:TObject);
end;

implementation


uses
..............;



procedure TEvent.MyBtnClick(Sender:TObject);
var
i:integer;
sss:string;
AObject:TObject;
AForm:TForm;
Ardg:TradioGroup;
Achklist:TCheckListbox;
Abtn:TButton;
begin
if Sender is TButton then
begin
Abtn := Sender as TButton;

if Abtn.Parent is TForm then
begin
AForm := Abtn.Parent as TForm;


AObject := AForm.FindComponent('chkselect');
if AObject is TCheckListbox then
begin
Achklist := AObject as TCheckListbox;
for i := 0 to Achklist.Items.Count - 1 do
if Achklist.Checked[i] then
begin
if (Length(sss)>0) then sss := sss + ',';
sss := sss + IntToStr(i);
end;
MessageBox(Application.Handle,PAnsiChar(sss),'',MB_OK+MB_ICONINFORMATION);
end
else
begin
AObject := AForm.FindComponent('rdgselect');
if AObject is TradioGroup then
begin
Ardg := AObject as TradioGroup;
sss := IntToStr(Ardg.ItemIndex);
MessageBox(Application.Handle,PAnsiChar(sss),'',MB_OK+MB_ICONINFORMATION);
end;
end;


end;

end;
end;

function SelectForm(ss:TStrings=nil;bMul:boolean=False):string;
var
i:integer;
sss:string;
AEvent:TEvent;
AForm:TForm;
Ardg:TradioGroup;
Achklist:TCheckListbox;
Abtn:TButton;
begin
sss := '';
AForm := TForm.Create(nil);
AForm.Name := 'frmPublicSelect';
try
AForm.Width := 400;
AForm.Height := 320;
AForm.Position := poMainFormCenter;

Abtn := TButton.Create(AForm);
Abtn.Parent := AForm;
Abtn.Top := 250;
Abtn.Left := 60;
Abtn.Name := 'btnOK';
Abtn.Caption := 'OK';
Abtn.ModalResult := mrOK;

Abtn := TButton.Create(AForm);
Abtn.Parent := AForm;
Abtn.Top := 250;
Abtn.Left := 260;
Abtn.Name := 'btnCancel';
Abtn.Caption := 'Cancel';
Abtn.ModalResult := mrCancel;

Abtn := TButton.Create(AForm);
Abtn.Parent := AForm;
Abtn.Top := 250;
Abtn.Left := 160;
Abtn.Name := 'btnClick';
Abtn.Caption := 'Click';
Abtn.OnClick := AEvent.MyBtnClick;

if bMul then
begin
Achklist := TCheckListbox.Create(AForm);
Achklist.Parent := AForm;
Achklist.Align := alTop;
Achklist.Height := 240;
Achklist.Name := 'chkselect';
//Achklist.Items := ss;
Achklist.Items.Add('0');
Achklist.Items.Add('1');
Achklist.Items.Add('2');
Achklist.Items.Add('3');

if (AForm.ShowModal=mrOK)then
begin
for i := 0 to Achklist.Items.Count - 1 do
if Achklist.Checked[i] then
begin
if (Length(sss)>0) then sss := sss + ',';
sss := sss + IntToStr(i);
end;
MessageBox(Application.Handle,PAnsiChar(sss),'',MB_OK+MB_ICONINFORMATION);
end;
end
else
begin
Ardg := TradioGroup.Create(AForm);
Ardg.Parent := AForm;
Ardg.Align := alTop;
Ardg.Height := 240;
Ardg.Name := 'rdgselect';
Ardg.Caption := '';
//Ardg.Items := ss;
Ardg.Items.Add('0');
Ardg.Items.Add('1');
Ardg.Items.Add('2');
Ardg.Items.Add('3');

if (AForm.ShowModal=mrOK)then
begin
sss := IntToStr(Ardg.ItemIndex);
MessageBox(Application.Handle,PAnsiChar(sss),'',MB_OK+MB_ICONINFORMATION);
end;
end;

finally
AForm.Free;
end;
Result := sss;
end;


end.

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录