Na verdade não é um TButton que estou trabalhando, é um TJvDesktopAlert. Usei o
TButton para tentar ser mais simples. Peço desculpas pela explicação ruim. Vou
tentar ser mais claro: copiei apenas a parte relevante do código, na qual
explico as partes em negrito:
- JvDesktopalert: é o component do Project Jedi, que mostra um aviso semelhante
ao do MSN Messenger;
- Mens: registro que cria o JvDesktopalert. Como serão criados vários
dinamicamente, optei por fazer assim.
- alarmes: variável de referência ao record.
- OnMessageClick: Evento nativo do componente JvDesktopalert.
- EventoClick: é o meu evento em si, que teoricamente dispara o OnMessageClick.
Esse evento está perdido lá embaixo, pois não sei onde colocá-lo.
Espero ter esclarecido. Agradeço antecipadamente qualquer ajuda.
unit un_hospedagens;
interface
uses
(...), JvDesktopAlert;
type
TDespertador = record
Mens : TJvDesktopAlert;
end;
Tfo_hospedagens = class(TForm)
private
{ Private declarations }
alarmes : array of Tdespertador;
public
{ Public declarations }
end;
var
fo_hospedagens: Tfo_hospedagens;
implementation
{$R *.dfm}
procedure Tfo_hospedagens.btAlarmeClick(Sender: TObject);
begin
setlength(alarmes,length(alarmes) + 1);
with alarmes[high(alarmes)] do
begin
Mens := TJvDesktopAlert.Create(self);
with Mens do
OnMessageClick := EventoClick;
end;
end;
end;
// segue o evento perdido
procedure EventoClick;
var DA: TJvDesktopAlert;
begin
DA.Close(FALSE);
end;
----- Mensagem original ----
De: Ricardo César Cardoso <[EMAIL PROTECTED]>
Para: [email protected]
Enviadas: Quinta-feira, 20 de Setembro de 2007 10:15:03
Assunto: Re: Res: [delphi-br] componentes criados dinamicamente
Agora vc que me confundiu:
Vc tem mais de um tipo de OnClick? Por exemplo se clicou no botão 1 faz
determinado procedimento e se for em botão 2 faz outro? Pq se for assim, basta
vc codificar os eventos e sugeriria um type para tratar.
Sds,
Ricardo.
Fabinho <gatascheguei@ yahoo.com. br> escreveu: Obrigado pela atenção, Ricardo.
Mas o problema é que esse meu TButton é criado um array dinâmico. Suponho que
eu preciso de um desses três:
Criar uma classe para tratar o evento;
Criar um type para tratar o evento;
Criar uma procedure of object para tratar o evento;
E agora?
----- Mensagem original ----
De: Ricardo César Cardoso <ricardo_engsoft@ yahoo.com. br>
Para: [EMAIL PROTECTED] os.com.br
Enviadas: Quinta-feira, 20 de Setembro de 2007 9:37:44
Assunto: Re: [delphi-br] componentes criados dinamicamente
Tá na mão:
/*********** ********* ****/
procedure TForm1.FormMouseDow n(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var b:tbutton;
begin
b:=Tbutton.create( self);
b.visible:=false;
b.parent:=self;
b.left:=x;
b.top:=y;
b.name:='Btn' +inttostr( contador) ;
b.Caption:=' Clique-me' ;
inc(contador) ;
b.visible:=true;
b.onclick:=clicou; // <= aqui está o que vc precisa. É só descrever o
procedimento na procedure "Clicou"
end;
procedure TForm1.clicou( sender: TObject);
begin
ShowMessage( 'Clicou!! !');
end;
/*********** ********* ***/
Fabinho <gatascheguei@ yahoo.com. br> escreveu: Senhores, criei um componente
dinamicamente, mas não consigo associar um evento a ele. Por exemplo, se eu
criar um TButton, quero criar um evento Onclick pra ele. Como faço?
Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr. com.br/
[As partes desta mensagem que não continham texto foram removidas]
_
Flickr agora em português. Você clica, todo mundo vê. Saiba mais.
[As partes desta mensagem que não continham texto foram removidas]
Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr. com.br/
[As partes desta mensagem que não continham texto foram removidas]
Flickr agora em português. Você clica, todo mundo vê. Saiba mais.
[As partes desta mensagem que não continham texto foram removidas]
Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/
[As partes desta mensagem que não continham texto foram removidas]