<p>フォームを表示しているときに起こるイベントには「OnCreate」「OnShow」「OnActivate」などがありますが、表示し終わったときのイベントがありません。 これを取得するには「CMShowingChanged」メッセージをトラップします。(このメッセージを知るまでは、OnCreateで独自メッセージをポストし、トラップしてました。(^o^;))<br />実際のコードは以下のようになります。</p>
<pre class="brush: delphi;" title="フォームの表示完了時">type
  TForm1 = class(TForm)
private
  { Private 宣言 }
  (略)
  procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED;
  (略)
end;

procedure TForm1.CMShowingChanged(var Message: TMessage);
begin
  inherited;  // 通常の CMShowingChagened をまず実行
  if (Visible) then
  begin
    Update; // 完全に描画
    // 実際の処理を記入
  end;
end;
</pre>