動的にダイアログを表示するには

[戻る]
ドンドン 2005/06/19(日) 20:39:39
 おせわになります。現在 VC++ MFC Win2000環境で開発をしています。
そこで質問があります。
 ボタンを押すとダイアログを表示するようにしたいのですが、動的操作で
画面にダイアログを5つ表示したいのですが以下のように記述すると
コンパイルエラーになります。

void Cxxxxxxx::OnButton1() 
{
    // IDD_DIALOG1 はリソースに追加したダイアログ
    // DIGは IDD_DIALOG1のダイアログクラス
    // m_pdialog はDIGクラスへのポインタ    

    m_pdialog  =  new  DIG[5];
    for(int i =0 ; i <5 ; i++){
         m_pdialog[i]->Create(IDD_DIALOG1 , NULL);
        m_pdialog[i]->ShowWindow(SW_SHOW);
    }
}


このときに m_pdialog[i]の行でエラーがでます。
何がおかしいのでしょうか??どなたかわかる方おられましたら、是非ご教授お願いします。
ちなみに m_pdialogにすればコンパイルは通ります。もちろん i が1 になればアプリは
落ちてしまいますが!!

tib 2005/06/19(日) 21:00:34
今注目している変数の型が何であるかをよく考えましょう。

ヒント:
int *pINT;
const int nSize=10;
pINT = new int(nSize);
printf( "pINT = 0x%08x\n", pINT );
for( int i=0; i<nSize; i++ )
{
  pINT[i] = i;
}
for( int i=0; i<nSize; i++ )
{
  printf( "pINT[%d] = %d\n", i, pINT[i] );
}

ドンドン 2005/06/19(日) 23:57:32
[[解決]]
tibさん。ありがとうございます。おかげさまで、自己解決しました。
きちんと 動作確認もできました。
また何かありましたらよろしくお願いいたします。

古いスレッドには追加発言できません。