Bagaimana cara menggambar di kontrol tanpa kanvas? Misalnya Tpanel tidak memiliki sifat kanvas sehingga sulit untuk menulis atau menggambar di atasnya. Apakah Anda ingin mengemasnya ulang sendiri? Tolong ganggu aku! Bagaimana kita bisa menanganinya dengan nyaman?
Lihatlah kode ini
satuan Unit1;
antarmuka
kegunaan
Windows, Pesan, SysUtils, Varian, Kelas, Grafik, Kontrol, Formulir,
Dialog, StdCtrls, ExtCtrls;
jenis
TForm1 = kelas(TForm)
Panel1: TPanel;
Tombol1: Tombol T;
Tombol Prosedur1Klik(Pengirim: TObject);
pribadi
{Deklarasi pribadi}
publik
{Pernyataan publik}
akhir;
var
Formulir1: TForm1;
pelaksanaan
{$R *.dfm}
prosedur TForm1.Button1Click(Pengirim: TObject);
var
PanelKanvas: TCanvas;
mulai
PanelCanvas := TControlCanvas.Buat;
TControlCanvas(PanelCanvas).Kontrol := Panel1;
PanelCanvas.Brush.Style := bsClear;
PanelCanvas.Pen.Color := clBiru;
PanelCanvas.Rectangle(2, 2, Panel1.Lebar - 2, Panel1.Tinggi - 2);
PanelCanvas.Font.Name:='楷体_GB2312';
PanelCanvas.Font.Ukuran:=24;
PanelCanvas.TextOut(Panel1.Lebar div 2,Panel1.Tinggi div 2,'OK');
PanelCanvas.Gratis;
akhir;
akhir.
Hal ini dapat dilakukan bila diterapkan dalam jumlah kecil. Tentu saja, jika Anda ingin menerapkannya pada kontrol tanpa kanvas, akan lebih mudah menggunakan metode di atas untuk menggabungkan kontrol asli dan mengembangkan kontrol baru.