Sehr interessantes Thema! Ich versuche mich gerade in Vererbung und Objekterzeugung einzuarbeiten und bin auch an einer Lösung interessiert.
Erste Idee wäre gewesen:
Delphi-Quellcode:
TMyButton = class(TButton)
protected
procedure Paint(var Message: TMessage); message WM_PAINT;
public
UpperLine : String;
LowerLine : String;
end;
procedure TMyButton.Paint(var Message: TMessage);
begin
Canvas.TextOut(0, 0, UpperLine); // Canvas gibt es aber leider nicht...
Canvas.TextOut(0, 12, LowerLine);
end;
1) Würde das funktionieren mit WM_PAINT?
2) Nur leider hat TButton kein Canvas. Kann man mit dem "
Handle" irgendwie auf die Fläche des Buttons zeichnen/schreiben? Falls ja, wie geht das?
3) Oder noch anders: Kann man irgendwie auf elegante Art ein Canvas in der Methode "nachrüsten", also bei Create erzeugen und als TCanvas zur Verfügung stellen?
Ich bin gespannt!