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: Davi Eduardo Borges Wall <[EMAIL PROTECTED]>
Para: [email protected]
Enviadas: Quinta-feira, 20 de Setembro de 2007 9:55:06
Assunto: RES: [delphi-br] componentes criados dinamicamente
Cara, você explica muito mal seus problemas.
Mas pelo que consegui entender seu botão está num array de ponteiros?
É só fazer um cast.
De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de
Fabinho
Enviada em: quinta-feira, 20 de setembro de 2007 09:46
Para: [EMAIL PROTECTED] os.com.br
Assunto: Res: [delphi-br] componentes criados dinamicamente
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 <mailto:ricardo_
engsoft%40yahoo. com.br> >
Para: [EMAIL PROTECTED] os.com.br <mailto:delphi- br%40yahoogrupos .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]
[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]