Hallo,
ich kenne eine solche Komponente nicht, aber sie wäre leicht selbst zu schreiben.
Leite eine neue Klasse von TButton ab. Füge zwei Eigenschaften hinzu: Eine, die die Größenänderung vorgibt und eine die auf das in der Größe zu ändernde Control (TControl hat die Eigenschaften Width, Height) zeigt. Dann überschreibst Du die Methode Click, in der du die Größenänderung vornimt.
Also z.B. so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| type TSizeButton = class(TButton) private FControlLink: TControl; FDelta: Integer; public constructor Create(aOnwer: TComponent); override; procedure Click; override; published property ControlLink: TControl read FControlLink write FControlLink; property Delta: Integer read FDelta write SetDelta; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
|
constructor TSizeButton.Create(aOnwer: TComponent); begin inherited Create(aOwner); Delta := 16; Width := 25; Height := 25; end;
procedure TSizeButton.Click; begin if FContolLink <> nil then with FControlLink do begin Width := Width+Delta; Height := Heigth+Delta; end; inherited Click; end;
procedure TSizeButton.SetDelta(Value: Integer); begin FDelta := Value; if FDelta > 0 then Caption := '>' else Caption := '<'; end; |
Soweit mein "Schnellschuß". Man könnte auch zwei Delta-Eigenschaften definieren, eine für Width und eine für Height.
Gruß Loryn