お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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