MFCのダイアログベースアプリで、ダイアログが表示されたときにメッセージを出したい

いろいろ検索して

  • WM_KICKIDLEメッセージとOnIdle()
  • CWnd::OnActivate()
  • CWnd::OnWindowPosChanged()

とかいろいろやってみたんだけど、どれもダイアログが表示される前にでちゃう。んで結局こうなったっす。

CHogeDlg::OnHogeMessage()
{
    if( ! IsWindowVisible() )
    {
        PostMessage(Hoge);  // メッセージ投げなおし
        Sleep(0);           // なんとなく
        return;
    }

    MessageBox("メッセージ");
}

最初のメッセージはどこかで投げる方向で。
まぁダイアログが表示される前でもいいっちゃいいんですけどね。