ネイティブ アプリでモーダルでないダイアログを作成する方法

モーダルでないダイアログを作成するには、次の手順に従ってください。

  1. CDialog を継承した、CMyDialog などのダイアログ クラスを作成します。
  2. CMyDialog クラスの見出しファイルで、CMyDialog(CWnd* pParent = NULL) のようにコンストラクタを追加します。
  3. CMyDialogクラスのcppファイルでコンストラクタを実装し、CDialogのコンストラクタを呼び出し、ダイアログのスタイルを非モーダルに設定する。例えば、
CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/)
: CDialog(IDD_MYDIALOG, pParent)
{
// 设置对话框的样式为非模态
m_bModal = FALSE;
}
  1. ノンモーダルダイアログを利用したいときは、CMyDialogクラスのオブジェクトを作成してDoModal()関数を呼ぶ。例:
CMyDialog dlg;
dlg.DoModal();
  1. ダイアログクラスのメッセージマップに、処理するメッセージやイベントを追加する。

これによりモーダルダイアログ以外を作成できます。モーダルダイアログはメインスレッドをブロックし、他のウィンドウと同時に存在および対話することはできません。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds