16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"子孫を全部再描画"
パネルとかに乗っている子供が又パネルだったりすると親をInvalidate
しても子や孫ウインドウにはWM_PAINTが行きませんので,拾い集めて
全部 Invalidateします.
// すべての子コントロールを再描画(親はそのまま)
procedure InvalidateAllChildren(Parent: TWinControl);
var
i:integer;
begin
with Parent do begin
for i := 0 to ControlCount-1 do begin
Controls[i].Invalidate;
if Controls[i] is TWinControl then begin
InvalidateAllChildren(TWinControl(Controls[i]));
end;
end;
end;
end;
TN(CQJ01721)
Original document by TN 氏 ID:(CQJ01721)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|