掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PaintBoxでCanvasに描いたときの処理に関して (ID:38803)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
その説明も正確じゃないですね。 PaintBoxのOnPaintの中で PaintBox1.Canvas.TextOut(0, 0, IntToStr(PaintBox1.Canvas.Handle)); PaintBox1.Canvas.TextOut(0, 10, IntToStr(Form1.Canvas.Handle)); とやると、ちゃんと別々のハンドルが表示されます。 何故かというと、OnPaintを呼び出す前にBeginPaintして、そのDCを使うようにしているから。 (OnPaint以外の場所でCanvasを要求された時は、仕方がないので親のCanvasを借ります) BeginPaintでもらった方のDCには、描画が必要な領域以外をクリップするよう設定がされています。 一方、FormのCanvasを使うとそのような設定はされていません。 両者を混ぜて使ったり、PaintBoxではなくFormの座標を使って描画したりすると > ダイアログの部分が描かれなかったり、ダイアログ部分以外のところが更新されなかったり といった現象が起こりえます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.