Cita:
Empezado por jymy788
Tengo una serie de SpeedButtons asociados a un imagelist. Las imágenes son pequeñas y los botones grandes y quiero que cuando las cargue en los botones las expanda (me da igual que las pixelice) al tamaño del speedbutton. Me podéis echar un cable?
|
Bueno, con el componente estandard no se si lo vas a poder hacer, pero derivándolo no debe ser muy difícil.
El método Paint de
TSpeedButton está
protected y por lo tanto puedes hacer un
override.
Crea un componente derivado, redefine el paint en la zona protected con algo como ésto:
Código Delphi
[-]
procedure Paint; override;
y debajo generas una implementación similar a ésta:
Código Delphi
[-]
const
SPACE_BORDER_BUTTON = 2;
var
MyOther: TRect;
begin
inherited;
MyOther := Self.ClientRect;
MyOther.Left := MyOther.Left + SPACE_BORDER_BUTTON;
MyOther.Top := MyOther.Top + SPACE_BORDER_BUTTON;
MyOther.Right := MyOther.Right - SPACE_BORDER_BUTTON;
MyOther.Bottom := MyOther.Bottom - SPACE_BORDER_BUTTON;
Self.Canvas.StretchDraw(MyOther, Self.Glyph);
Espero que te sirve. Si te da algun error ya dirás...