Fórum SpeedButton na ToolBar #222082
24/03/2004
0
Olá gostaria de saber como faço para criar um SpeedButton dentro da ToolBar em tempo de execução e vinculá-la a um evento OnClick;
Eis um trecho da minha tentativa
Obrigado
Eis um trecho da minha tentativa
for j := 0 to PrevFrm.ControlCount-1 do begin tBar := PrevFrm.Controls[j]; if tBar is TToolbar then begin MyButton := TSpeedButton.Create(tBar); with MyButton do begin Parent := PrevFrm; height := 32; width := 128; caption := ´teste´; left := 200;// (MyForm.ClientWidth - width) div 2; top := 2;//(MyForm.ClientHeight - height) div 2; end;
Obrigado
Ninjapan
Curtir tópico
+ 0
Responder
Posts
26/03/2004
Fabiofsilva
Bom, eu fiz da seguinte forma:
No evento OnCreate do Form incluí as seguintes linhas de código que criam o botão em uma toolbar adicionada no form:
procedure TForm1.FormCreate(Sender: TObject);
var
MyButton: TSpeedButton;
begin
MyButton := TSpeedButton.Create(ToolBar1);
with MyButton do
begin
Parent := ToolBar1;
MyButton.OnClick := MyProcedure;
//Definicao de outras propriedades
end;
end;
Defini ainda na seção private do form uma procedure MyProcedure que, como mostrado anteriormente é associada ao evento OnClick do botão.
type
TForm1 = class(TForm)
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure MyProcedure(Sender: TObject);
public
{ Public declarations }
end;
O código da procedure MyProcedure pode ser o que você quiser. Eu coloquei o seguinte:
procedure TForm1.MyProcedure(Sender: TObject);
begin
Showmessage(´Evento OnClick do SpeedButton´);
end;
Lembrando que o procedimento que criei deve ter a mesma quantidade de parâmetros que o procedimento OnClick do botão e os parâmetros devem ser do mesmo tipo.
Tomara que tenha ajudo na sua dúvida.
No evento OnCreate do Form incluí as seguintes linhas de código que criam o botão em uma toolbar adicionada no form:
procedure TForm1.FormCreate(Sender: TObject);
var
MyButton: TSpeedButton;
begin
MyButton := TSpeedButton.Create(ToolBar1);
with MyButton do
begin
Parent := ToolBar1;
MyButton.OnClick := MyProcedure;
//Definicao de outras propriedades
end;
end;
Defini ainda na seção private do form uma procedure MyProcedure que, como mostrado anteriormente é associada ao evento OnClick do botão.
type
TForm1 = class(TForm)
ToolBar1: TToolBar;
SpeedButton1: TSpeedButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure MyProcedure(Sender: TObject);
public
{ Public declarations }
end;
O código da procedure MyProcedure pode ser o que você quiser. Eu coloquei o seguinte:
procedure TForm1.MyProcedure(Sender: TObject);
begin
Showmessage(´Evento OnClick do SpeedButton´);
end;
Lembrando que o procedimento que criei deve ter a mesma quantidade de parâmetros que o procedimento OnClick do botão e os parâmetros devem ser do mesmo tipo.
Tomara que tenha ajudo na sua dúvida.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)