フォームキャンバスに描画


るるとん@K  2004-05-09 03:10:58  No: 8838

フォームに枠をつけたいのですがうまくいきません
フォームサイズ変更時に領域内部に枠が残るのを防ぐため、
ブラシで塗りつぶしてみましたが、無理でした。
procedure TMain.FormPaint(Sender: TObject);
begin
Canvas.Brush.Style:=bsSolid;
Canvas.Brush.Color:=$00E1E1E1;
Canvas.FillRect(ClientRect);
Canvas.Pen.Color:=clGray;
Canvas.Rectangle(ClientRect);
end;
どうすれば枠が残らないのでしょうか?
宜しくお願いしますn(__)n


jok  2004-05-09 03:35:39  No: 8839

OnResize イベントハンドラで 再描画します。FillRect() は不要です。

procedure TForm1.FormPaint(Sender: TObject);
begin
  Canvas.Brush.Style:=bsSolid;
  Canvas.Brush.Color:=$00E1E1E1;
  Canvas.Pen.Color:=clGray;
  Canvas.Rectangle(ClientRect);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  Refresh;
end;


るるとん@K  2004-05-09 05:17:22  No: 8840

なるほど!綺麗に出来ました。
onResize時にrefreshを呼び出すんですね。
有難う御座いましたm(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加