Wie zeichne ich auf einem Steuerelement ohne Leinwand? Tpanel verfügt beispielsweise nicht über die Eigenschaften einer Leinwand, sodass es schwierig ist, darauf zu schreiben oder zu zeichnen. Möchten Sie es selbst neu verpacken? Bitte belästigen Sie mich! Wie können wir bequem damit umgehen?
Schauen Sie sich diesen Code an
Einheit Einheit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,
Dialoge, StdCtrls, ExtCtrls;
Typ
TForm1 = Klasse(TForm)
Panel1: TPanel;
Button1: TButton;
PROcedure Button1Click(Sender: TObject);
Privat
{Private Erklärungen}
öffentlich
{Öffentliche Erklärungen}
Ende;
var
Form1: TForm1;
Durchführung
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
PanelCanvas: TCanvas;
beginnen
PanelCanvas := TControlCanvas.Create;
TControlCanvas(PanelCanvas).Control := Panel1;
PanelCanvas.Brush.Style := bsClear;
PanelCanvas.Pen.Color := clBlue;
PanelCanvas.Rectangle(2, 2, Panel1.Width - 2, Panel1.Height - 2);
PanelCanvas.Font.Name:='楷体_GB2312';
PanelCanvas.Font.Size:=24;
PanelCanvas.TextOut(Panel1.Width div 2,Panel1.Height div 2,'OK');
PanelCanvas.Free;
Ende;
Ende.
Dies ist bei der Anwendung in kleinen Mengen möglich. Wenn Sie es natürlich auf ein Steuerelement ohne Leinwand anwenden möchten, ist es natürlich bequemer, die obige Methode zu verwenden, um das ursprüngliche Steuerelement zu umschließen und ein neues Steuerelement zu entwickeln.