- ベストアンサー
Visual Basic 2005で作成したソフトは再描画は不要?
Visual Basic 2005で作成したソフトは再描画は不要? 普通は、ウィンドウとウィンドウが被って、上のウィンドウを移動したら下のウィンドウの描画は欠けると思いますが、 なぜか欠けません。 これはVisual Basicが勝手にやってくれているんですか? 質問. 昔と違って、クリッピング領域のみを描画するメソッドを作って高速描画化する必要はなくなったということですか? 逆に別処理で書くと負荷になりますか? 何も書いてないのに、再描画されているのです。 すごくないですか?当たり前ですか? 誰が自動実行して再描画してくれてるんですか・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
やったことは無いですが。 Paintメソッド(なんてあるかは知りませんが)などを使って、 直接描画しているなら再描画は必要じゃないかと思います。 逆に、イメージやラベルなどのオブジェクトを貼り付け、 そこに描画処理を任せているのであれば、再描画の必要は無いです。 そのオブジェクト自体に再描画の処理は組み込まれているので、 たとえば上のウィンドウを移動した場合などは、 ウインドウの再描画イベントが発生し、そこで自動的に それらのオブジェクトの再描画処理が呼び出されるわけです。
その他の回答 (1)
- khazad-lefty
- ベストアンサー率44% (296/668)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35457&forum=7 あたりがヒントになります? とりあえず、基本的には自動再描画がデフォルトのはずなので、 (以前に比べたらグラフィックの性能が向上したからというのも一因かも) シビアな描画処理が必要なら処理の再考慮が必要なのでは?
お礼
ありがとうございます。 再描画はPaintを使ったときに必要なんですね。 特に絵を描きたいわけではないので気にしないことにします。
お礼
ありがとうございます。 ただのフレームです。 テキストフィールドとボタンがありますが、描画処理を任せたオーバーライドは書いてないんですよね。 ウィンドウを移動した場合に発生するイベントを誰がキャッチしているのか、コードはどこに隠れているのか・・・ そこが知りたいですね。