你是要做一个计算器之类的东西吧,这样 1.在窗体上放上4个speedbutton,caption属性分别为1,2,3,4,并分别设置4个按钮的onclick为speedbutton事件函数 2.在窗体上再添加一个speedbutton,用于退格,具体看代码吧 3.楼主加点分 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; procedure SpeedButton5Click(Sender: TObject); procedure SpeedButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.SpeedButton5Click(Sender: TObject); var str:string; len:integer; begin str:=edit1.Text; len:=length(str); if len>1 then delete(str,len,1) else str:=''; edit1.Text:=str; edit1.SelStart:=length(str); end;procedure TForm1.SpeedButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+(sender as TSpeedButton).Caption; edit1.SelStart:=length(edit1.Text); end;end.
//把上面代码修改了一下,可以从光标处删除和插入 procedure TForm1.SpeedButton5Click(Sender: TObject); var str:string; len:integer; begin str:=edit1.Text; len:=edit1.SelStart; if len>1 then delete(str,len,1) else str:=''; edit1.Text:=str; edit1.SelStart:=len-1; end;procedure TForm1.SpeedButtonClick(Sender: TObject); var str:string; len:integer; begin str:=edit1.Text; len:=edit1.SelStart+1; insert((sender as TSpeedButton).Caption,str,len); edit1.Text:=str; edit1.SelStart:=len; end;
是不是用speedbutton在多个edit中来回切换?
1.在窗体上放上4个speedbutton,caption属性分别为1,2,3,4,并分别设置4个按钮的onclick为speedbutton事件函数
2.在窗体上再添加一个speedbutton,用于退格,具体看代码吧
3.楼主加点分
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.SpeedButton5Click(Sender: TObject);
var
str:string;
len:integer;
begin
str:=edit1.Text;
len:=length(str);
if len>1 then delete(str,len,1) else str:='';
edit1.Text:=str;
edit1.SelStart:=length(str);
end;procedure TForm1.SpeedButtonClick(Sender: TObject);
begin
edit1.Text:=edit1.Text+(sender as TSpeedButton).Caption;
edit1.SelStart:=length(edit1.Text);
end;end.
procedure TForm1.SpeedButton5Click(Sender: TObject);
var
str:string;
len:integer;
begin
str:=edit1.Text;
len:=edit1.SelStart;
if len>1 then delete(str,len,1) else str:='';
edit1.Text:=str;
edit1.SelStart:=len-1;
end;procedure TForm1.SpeedButtonClick(Sender: TObject);
var
str:string;
len:integer;
begin
str:=edit1.Text;
len:=edit1.SelStart+1;
insert((sender as TSpeedButton).Caption,str,len);
edit1.Text:=str;
edit1.SelStart:=len;
end;