• ベストアンサー

モードレスダイアログの作成方法

以下のようにダイアログを作る場合、    dlg = new CMyDlg(this); ・・・1    dlg->Create(IDD_DIALOG1,this); ・・・2 それぞれのコードでthisを渡していますが、1で渡すthisと2で渡すthisは生成されるダイアログにどう影響をあたえるのですか? 両方とも親のウインドウを指示してると思うのですが、2回も指示するのはおかしいと思います。 また、1で何を与えようが、2でまた与えたら2が優先されて1で与えた意味が無い気がします。

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

WindowsのVC++でしょうか? よく知りませんが,ざっとクラスの説明を見た感じだと,CDialogなら dlg = new CDialog(); dlg->Create(IDD_DIALOG,this); みたいな使い方ができませんか? 引数が必要なコンストラクタは、モーダルを作る時に必要なだけな気がしますが。 dlg = new CDialog(this); dlg->DoModal();

mk1234
質問者

お礼

回答ありがとうございます。 何となくこれが正解な気がします。

その他の回答 (1)

回答No.1

1: インスタンスを作っています 2: ウィンドウを作っています なので、作っているものが違います。

mk1234
質問者

お礼

回答ありがとうございます。 私が色々試した結果、1でthisを与えても与えなくても結果が変わらないのですが、このthisに意味はあるのですか?

関連するQ&A

専門家に質問してみよう