Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   OnMouseWheel en TPanel (https://www.clubdelphi.com/foros/showthread.php?t=33284)

metalfox6383 03-07-2006 06:04:49

OnMouseWheel en TPanel
 
Hola:

Quiero que un objeto de tipo TPanel responda al evento OnMouseWheel, ya que lo que deseo es que cada vez que mueva la ruedita del mouse se incremente un valor numérico en su propiedad Caption (claro, haciendo antes las transformaciones string e integer correspondientes).

¿Cómo puedo lograr eso?

Gracias.

seoane 03-07-2006 18:40:11

Seguro que hay metodos mejores, modificando la clase o capturando el mensaje del raton, pero aqui te dejo uno que, por lo menos, es curioso.

Suponemos que le Panel que quieres cambiar se llama Panel1, coloca este codigo en el evnto OnMouseWheel del formulario
Código Delphi [-]
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  if ChildWindowFromPoint(Handle,ScreenToClient(MousePos)) = Panel1.Handle then
    Panel1.Caption:= IntToStr(StrToIntDef(Panel1.Caption,0) + (WheelDelta div Abs(WheelDelta)));
end;

metalfox6383 03-07-2006 19:42:49

Interesante método. Voy a estudiarlo.

metalfox6383 03-07-2006 20:15:15

Funciona Perfectamente. Gracias.


La franja horaria es GMT +2. Ahora son las 21:45:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi