トップページ > プログラム > 2015年11月27日 > L3GOKyR7

書き込み順位&時間帯一覧

31 位/212 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000020000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれDelphi(超初心者用)その56

書き込みレス一覧

くだすれDelphi(超初心者用)その56
608 :デフォルトの名無しさん[sage]:2015/11/27(金) 08:22:05.22 ID:L3GOKyR7
>>606
OnPaintの認識は間違ってる。

Deliphiが〜以前に、Windowsはイベントドリブンという仕組みで動いている。
イベントというのは、ボタン押したとか、テキストボックスに文字入れたとか、ウインドウ移動させたとか、ウインドウ広げたとか、様々なあらゆる事象。

OnPaint(再描画)もイベントの一つ。

通常、イベントドリブンの世界では、ボタンを押したアクションの中で直接、線などを描画せず、再描画の依頼だけ行う。

そうするとWindowsは、ボタンアクション後に再描画のイベントを発行してくれる。
ので、そこで必要な描画処理を行う。
くだすれDelphi(超初心者用)その56
609 :デフォルトの名無しさん[sage]:2015/11/27(金) 08:22:53.80 ID:L3GOKyR7
>>606
なんで、こんな面倒な作りになっているかといえば、再描画を一箇所に集中できるから。
ウインドウを広げれば、拡大箇所の再描画が必要だし、
覆いかぶせてた別ウインドウをどければ、露わになった所の再描画が必要と言った感じ。

ボタンなり、テキストなりがちゃんと描かれるのは、Delphiが再描画イベント拾ってく、適切な描画を肩代わりしてくれてるから。

ただの線や、点の描画を自動的に肩代わりしてくれるものはないため、自身でOnPaintなどの再描画イベント処理を用意してあげる必要がある。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。