キャンバスなしでコントロールに描画するにはどうすればよいですか?たとえば、Tpanel にはキャンバスのプロパティがないため、書き込みや描画が困難です。自分で再梱包してみませんか?迷惑かけてください!どうすれば便利に扱えるでしょうか?
このコードを見てください
ユニットユニット1;
インタフェース
用途
ウィンドウ、メッセージ、SysUtils、バリアント、クラス、グラフィックス、コントロール、フォーム、
ダイアログ、StdCtrls、ExtCtrls;
タイプ
TForm1 = クラス(TForm)
パネル1: Tパネル;
ボタン 1: T ボタン;
手順 Button1Click(送信者: TObject);
プライベート
{プライベート宣言}
公共
{公的宣言}
終わり;
変数
フォーム1: TForm1;
実装
{$R *.dfm}
プロシージャ TForm1.Button1Click(送信者: TObject);
変数
パネルキャンバス: TCanvas;
始める
パネルキャンバス := TControlCanvas.Create;
TControlCanvas(PanelCanvas).Control := パネル 1;
パネルキャンバス.ブラシスタイル:= bsClear;
パネルキャンバス.ペン.カラー:= clBlue;
パネルキャンバス.Rectangle(2, 2, パネル1.幅 - 2, パネル1.高さ - 2);
PanelCanvas.Font.Name:='楷体_GB2312';
パネルキャンバス.フォントサイズ:=24;
PanelCanvas.TextOut(Panel1.Width div 2,Panel1.Height div 2,'OK');
パネルキャンバス。無料。
終わり;
終わり。
これは、少量を塗布する場合に行うことができます。もちろん、キャンバスのないコントロールに適用したい場合は、上記の方法で元のコントロールをラップして新しいコントロールを開発した方が便利です。