ダイアローグクラスの使い方

新しいダイアローグをつくって、値を入力させてから戻り値を取得したい場合があります。

このときダイアローグクラスを使います。

ここでは、ダイアローグクラスの使い方を解説します。

 ダイアローグクラスの追加方法

ダイアローグクラスを使うときには、クラスビューにあるプロジェクトのクラスを選びます。

そして、右クリックで「追加->クラス」を選択します。

すると、

スクリーンショット_052914_124317_PM

となるので、MFC->MFCクラスを選択して追加ボタンをおします。

 

そしたら、以下のような画面がでるので

スクリーンショット_052914_124740_PM

というように

  1. クラス名は「C****」(ここではCOutPutDialog)
  2. 基本クラスは「CDialog」

とします。あとは「完了」を選択すればOKです。

 

これでリソースのところに新しいダイアローグが追加されます。

あとは、そのダイアローグにボタンなどを追加して操作します。

 ダイアローグオブジェクトの使い方

ダイアローグの表示

ダイアローグは

オブジェクト名.DoModal();

により表示させることができます。この命令を実行するには、オブジェクトを

COutPutDialog myobj;

により設定する必要があります。また

#include "COutPutDialog.h"

とインクルードを忘れないようにしてください。そして、

if(myobj.DoModal()!=IDOK)return;

とすれば、ダイアローグを表示できます。もし、ダイアローグでOKが押されなければ、returnが実行されます。

 ダイアローグとのやりとり

また、戻り値は

オブジェクト名.プロパティ

のようにプロパティに直接アクセスすれば得ることができます。先ほどの例で、COutPutDialogクラスにaというint型の変数があれば

int i=myobj.a;

という具合に取得できますし

myobj.a=3;

という形で値を渡すこともできます。

 初期設定

ダイアローグの初期設定は「クラスビュー」で作成したダイアローグクラス(今回はCOutPutDialog)を選択して、プロパティ画面の

スクリーンショット_052914_014203_PM

を選択します。そしてその項目の

<Add>OnInitDialog

を実行すれば、InitDialogメソッドが作成されるのでその中に初期設定命令をかいていきます。

著者:安井 真人(やすい まさと)