• Viernes 19 de Abril de 2024, 13:17

Autor Tema:  Eventos & Ratón  (Leído 944 veces)

SergioyoPlayer

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Eventos & Ratón
« en: Martes 24 de Marzo de 2009, 08:58 »
0
Me estoy creando un lote de "componentes" en ObjectPascal en FreePascal.
Me gustaría saber cómo puedo hacer mi propio evento "OnClick", como  en Delphi.
Sé manejar las propiedades (PROPERTY) y conozco los punteros a procedimientos y funciones. Lo que no sé es cómo hacer para que en todo momento, mi programa esté viendo si e ratón está sobre algún "componente" o no.
Pd.: todos mis "componentes" tienen los campos PosicionX, PosicionY, Ancho y Largo, todos BYTE.
Me gustaría poder hacer algo tipo:
PROVATE
(...)
 fOnClick:PROCEDURE(sender:TObject);
(...)
PUBLIC
(...)
  PROPERTY OnClick:PROCEDURE(sender:TObject) READ fOnClick WRITE fOnClick;
(...)

Lo del ratón, así a lo "bruto" lo lleov haciendo tipo
"REPEAT
  GetMouseEvent(estadoraton);
 UNTIL raton_sobre_comonente;

donde raton_sobre_componente hace una burrada de AND y OR para ver que el mouse está sobre alguno de todos los componentes, que encima, tengo que poner a mano. Es muy "de piedra", y quiero saber cómo lo hace Delphi, por eemplo, para poder hacerlo yo a mi antojo.

Gracias de antemano ;)