Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   ¿Cómo puedo colorear un TButton? (https://www.clubdelphi.com/foros/showthread.php?t=80502)

dec 30-10-2008 21:19:42

¿Cómo puedo colorear un TButton?
 
Es muy fácil, usas un TPanel y en su evento OnMouseDown le pones la propiedad BevelOuter:=bvLowered y en OnMouseUp BevelOuter:=bvRaised
y ya tienes un ColorButton. Y de propina.. me he entretenio en hacer un componente con la idea expuesta, aquí tienes el código, sólo tienes que guardarlo en una unit llamada ColorBoton.pas.

Código Delphi [-]
unit ColorBoton;

interface

uses Windows, Messages, SysUtils, Classes, Controls, Forms, extctrls;

// igual sobra alguna unit en el uses

type
  TColorBoton = class(TPanel)
  private
   { Private declarations }
  protected
   { Protected declarations }
  procedure MouseDown(Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);override;
  procedure MouseUp(Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);override;
public
  { Public declarations }
published
  { Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('ClubDelphi', [TColorBoton]);
end;

{ TColorBoton }
procedure TColorBoton.MouseDown;
begin
  inherited;
  BevelOuter:=bvLowered;
end;

procedure TColorBoton.MouseUp;
begin
  inherited;
  BevelOuter:=bvRaised;
end;

end.

mightydragonlor 07-11-2008 15:38:51

ps no es lo que sugiere el enunciado, aunque es una buena solucion simular un boton y colorearlo.

ASAPLTDA 10-11-2008 15:43:34

Gracias por el componente es muy bueno. Me atrevo a pedirte un favor, en algun articulo que lei y he estado buscandolo nuevamente sugeria que no usara componentes si no clases y asi evitar registrar los componentes. La idea me parecio muy buena y quisiera saber si puedes convertir tu ejemplo a una clase y colocar la forma de usarlo, para estudiarla ya que es un fuente pequeño el cual facilita el estudio.
Como se que trabajo que solicito te pido disculpas de anticipado que mi conocimieto de objetos es muy basico y con ejemplos sencillos y practicos podre enterder mas la cosa.
Gracias

mightydragonlor 14-05-2010 21:19:51

es indiferente si es un componente o clase, de hecho es exactamente lo mismo, solo que uno trae una rutina para que se vea en la paleta de componentes, y el como usarlo es simple, en uses pon la clase del botón y al momento de crear el form aprovechas y creas el objeto previamente declarado, el owner del objeto deberá ser el form.


La franja horaria es GMT +2. Ahora son las 17:21:12.

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