Ver Mensaje Individual
  #6  
Antiguo 15-03-2005
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 22
keyboy Va por buen camino
Supongo que la idea de roman es que uses estos eventos para dibujar tú mismo el borde cuando pasas el ratón y borrarlo cuando sales. Lo que pasa es que no es tan fácil porque el SpeedButton no publica la propiedad Canvas que es la que te permite dibujar.

Pero puedes modificar la componente en sí para dibujar el borde desde la misma componente:

Código:
procedure TMySpeedButton.CMMouseEnter(var Msg: TMessage);
var
  R: TRect;
 
begin
  if not (csDesigning in ComponentState) then
  begin
	R := ClientRect;
	InflateRect(R, -1, -1);
	Canvas.Pen.Color := clYellow;
	Canvas.Pen.Width := 2;
	Canvas.Rectangle(R);
  end;
end;
 
procedure TMySpeedButton.CMMouseLeave(var Msg: TMessage);
begin
  Refresh;
 
  if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
Bye

Última edición por keyboy fecha: 15-03-2005 a las 03:17:19.
Responder Con Cita