TSpeedButton?

Fallingstar 2002-10-13 04:07:37
怎样添加TSpeedButton控件?
...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Drate 2002-10-13
  • 打赏
  • 举报
回复
刚才的代码有点问题,这是正确的,经DELPHI6测试通过:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
SpeedButton1: TSpeedButton;

//动态按钮的响应事件
Procedure buttononclick(Sender:TObject);

procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.buttononclick(Sender: TObject);
begin
case TSpeedButton(Sender).Tag of
1: showmessage('This is Test1');
2: showmessage('This is Test2');
end;
end;



procedure TForm1.FormCreate(Sender: TObject);
var
ButtonTest:TSpeedButton;
btntop,
btnleft:Integer;

begin
btntop:=10;
btnleft:=10;
ButtonTest:=TSpeedButton.Create(Self);
With ButtonTest do
begin
tag:=1;
Caption:='test1';
parent:= self;
Top:=btntop;
Left:=btnleft;
onclick := buttononclick;
end;

btntop:=100;
btnleft:=100;
ButtonTest:=TSpeedButton.Create(Self);
With ButtonTest do
begin
tag:=2;
Caption:='test2';
parent:= self;
Top:=btntop;
Left:=btnleft;
onclick := buttononclick;
end;
end;

end.
Drate 2002-10-13
  • 打赏
  • 举报
回复
不知道楼主说的是个什么添加法,如果是动态添加的话,我这里是一个演示的代码:

unit Unit1;

interface

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

type
TForm1 = class(TForm)

//动态按钮的响应事件
Procedure buttononclick(Sender:TObject);

procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.buttononclick(Sender: TObject);
begin
case TSpeeedButton(Sender).Tag of
1: showmessage('This is Test1');
2: showmessage('This is Test2');
end;
end;



procedure TForm1.FormCreate(Sender: TObject);
var
ButtonTest:TSpeeedButton;
btntop,
btnleft:Integer;

begin
btntop:=10;
btnleft:=10;
ButtonTest:=TButton.Create(Self);
With ButtonTest do
begin
tag:=1;
Caption:='test1';
parent:= self;
Top:=btntop;
Left:=btnleft;
onclick := buttononclick;
end;

btntop:=100;
btnleft:=100;
ButtonTest:=TButton.Create(Self);
With ButtonTest do
begin
tag:=2;
Caption:='test2';
parent:= self;
Top:=btntop;
Left:=btnleft;
onclick := buttononclick;
end;
end;

end.


如果是静态添加的话,可就是在你的控件面板上找到“Additional”中的第二项就是speedbutton了
M16 2002-10-13
  • 打赏
  • 举报
回复
with TSpeedButton.create(self) do
unit XMLexample; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, xmldom, XMLIntf, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, StdCtrls, Buttons, cxContainer, cxListBox, msxmldom, XMLDoc; type TForm1 = class(TForm) XMLDocument1: TXMLDocument; lstSource: TcxListBox; lstTarget: TcxListBox; SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; Button1: TButton; cxListBox1: TcxListBox; cxListBox2: TcxListBox; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure SpeedButton7Click(Sender: TObject); private { Private declarations } public procedure MoveUp(A: TcxListBox); //上移 procedure MoveDown(A: TcxListBox); //下移 procedure DeleteItem(A: TcxListBox); //删除 procedure ReLoadItems(A: TcxListBox; const Flag: Integer = 0); //重置 procedure CreateXML(APath:string); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin CreateXML('C:\Documents and Settings\Administrator\桌面\XML'); end; procedure TForm1.Button2Click(Sender: TObject); var Node: IXMLNode; Root: IXMLNode; //根节点 ParentNode: IXMLNode; //首节点 StrDir: string; xmlDocument: IXMLDocument; I: Integer; begin xmlDocument := TXMLDocument.Create(nil); StrDir := 'C:\Documents and Settings\Administrator\桌面\XMLConfig.xml'; xmlDocument.XML.LoadFromFile(StrDir); xmlDocument.Active := true; Root := xmlDocument.DocumentElement; //源字段 ParentNode:=Root.ChildNodes.FindNode('FieldsFromSource'); for I := 1 to ParentNode.ChildNodes.Count - 1 do begin Node:=ParentNode.ChildNodes[i]; cxListBox1.Items.Add(Node.ChildValues['FieldName']); end; //目标字段 ParentNode:=Root.ChildNodes.FindNode('FieldsFromTarget'); for I := 1 to ParentNode.ChildNodes.Count - 1 do begin Node:=ParentNode.ChildNodes[i]; cxListBox2.Items.Add(Node.ChildValues['FieldName']); end; end; procedure TForm1.CreateXML(APath: string); var xmlDocument: IXMLDocument; sDir: string; i:Integer; begin xmlDocument := TXMLDocument.Create(nil); with xmlDocument.XML do begin //开始写XML Add(''); Add(''); //源字段信息写入XML if lstSource.Count>0 then begin Add(''); Add('' + IntToStr(lstSource.Count) + ''); for I := 0 to lstSource.Count - 1 do begin Add(''); Add('' + IntToStr(i) + ''); Add(''+ lstSource.Items[i]+''); Add(''+ ''+''); Add(''+ ''+''); Add(''+ ''+''); Add(''+ ''+''); Add(''); end; Add(''); end else begin Add(''); Add('0'); Add(''); end; //目标字段写入XML if lstTarget.Count>0 then begin Add(''); Add('' + IntToStr(lstTarget.Count) + ''); for I := 0 to lstTarget.Count - 1 do begin Add(''); Add('' + IntToStr(i) + ''); Add(''+ lstTarget.Items[i]+''); Add(''+ ''+''); Add(''+ ''+''); Add(''+ ''+''); Add(''+ ''+''); Add(''); end; Add(''); end else begin Add(''); Add('0'); Add(''); end; Add(''); //XML注释 Add(''); Add(''); Add(''); Add(''); Add(''); Add(''); Add(''); Add(''); Add(''); Add(''); //XML结束 end; xmlDocument.Active := True; sDir := APath; if not DirectoryExists(sDir) then begin if not CreateDir(sDir) then begin ShowMessage('创建文件夹失败'); Exit; end; end; xmlDocument.SaveToFile(sDir + 'Config.xml'); end; procedure TForm1.DeleteItem(A: TcxListBox); var _Index: Integer; begin with A do begin if (Items.Count > 0) and (ItemIndex <> -1) then begin _Index := ItemIndex; Items.Delete(_Index); end; end; end; procedure TForm1.MoveDown(A: TcxListBox); var CurrIndex, LastIndex: Integer; begin with A do begin CurrIndex := ItemIndex; LastIndex := Items.Count; if ItemIndex <> -1 then begin if CurrIndex + 1 < LastIndex then begin Items.Move(ItemIndex, (CurrIndex + 1)); ItemIndex := CurrIndex + 1; end; end; end; end; procedure TForm1.MoveUp(A: TcxListBox); var CurrIndex: Integer; begin with A do begin if ItemIndex > 0 then begin CurrIndex := ItemIndex; Items.Move(ItemIndex, (CurrIndex - 1)); ItemIndex := CurrIndex - 1; end; end; end; procedure TForm1.ReLoadItems(A: TcxListBox; const Flag: Integer); begin end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin MoveDown(lstSource); end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin MoveUp(lstSource); end; procedure TForm1.SpeedButton3Click(Sender: TObject); begin DeleteItem(lstSource); end; procedure TForm1.SpeedButton5Click(Sender: TObject); begin MoveDown(lstTarget); end; procedure TForm1.SpeedButton6Click(Sender: TObject); begin MoveUp(lstTarget); end; procedure TForm1.SpeedButton7Click(Sender: TObject); begin DeleteItem(lstTarget); end; end.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧