Pascal の初心者用の質問・相談所

このエントリーをはてなブックマークに追加
>>139 の方法がなぜ良くないかをまず説明します

 Windowsでは複数の窓があるように見せていますが、実際の表示デバイスはせいぜい1つです
 他の窓に隠された部分が また表示されるのは、アプリケーションが努力しなければなりません
 その為の仕掛けをメッセージループと呼びます
 窓はメッセージを受信する仕掛けをもち、再描画しろというメッセージにしたがって画面を自分で
 描くわけです。
また、キーボードが押された、マウスが押されたもメッセージにより処理されます。
Delphiでは application.ProcessMessages; で明示的にそのメッセージループを呼び出す事も
出来ます。コンソールアプリでapplication.ProcessMessages;を定期的に呼び出せば、作成した
フォームはマウスを受け付ける事が出来るようになります。が、それをしても >>139のように描画
処理をベタに書いたのでは 他の窓に隠れると2度と表示出来ない事にかわりはありません。
この部分をイベント駆動にしなければならないのです。
 それがフォームにある OnPaintイベントです。