Ver Mensaje Individual
  #4  
Antiguo 02-09-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
La respuesta de Roman es Correctísima (como siempre), quizás este ejemplo te aclare algo más:
El ejemplo que pongo a continuacion, es de un CheckListBox que tiene que informar a una ventana llamada FormDestino cuando se hace click en un elemento del CheckListBox.

Código Delphi [-]
// creo mi evento especifico con los parametros que me interesa
  type TNotifyCheckClicks  = procedure(FormClicked: Integer; const Value: integer) of object;

type  Form_del_Checklistbox = class(Tform)
  private
    FInformarClicks: TNotifyCheckClicks;

  public
    { Public declarations }
    property InformarClicks:TNotifyCheckClicks read FInformarClicks Write FinformarClicks default nil;

implementation

procedure Tform_del_Checklistbox.CheckListboxClicks(....)
begin
// cuando se hace clic en un elemento, lanzo mi Evento
    if Assigned(FInformarClicks) then
    begin
      FInformarClicks(Self.Parent.Tag,i);

      Application.ProcessMessages;
    end;
end;


Ahora solo queda recoger el evento.
Código Delphi [-]

procedure  FormDestino.FormDestinoCreate(...)
begin
  Form_del_checklistbox.InformarClicks := SetHechoClick;
end;

// por supuesto SetHechoClick tiene que tener los mismos parametros que un   TNotifyCheckClicks
procedure FormDestino.SetHechoClick(FormClicked: Integer; const chklbIndex: integer);

begin
// Y listo, este procedimento en FormDestino, se ejecutará cuando se hace
// un click en el CheckListBox, recibiendo los parametros que a mi me interesa.
end;

Eso de que el padre (FormDestino) reenvie el mensaje a sus hijos (controles dentro de FormDestino), no lo veo claro. Para cada componente que uses, tendrías que crearle el evento TNotifyCheckClicks, y es bastante trabajo. Creo que es mejor centralizar todo el trabajo de los hijos en el procedimiento SetHechoClick.

Saludos

Saludos

Última edición por Lepe fecha: 02-09-2004 a las 11:38:30.
Responder Con Cita