VC++4.0 MFCで作業してます。
ダイアログを呼び出したのですが、OKやキャンセルぼたんを押さずに、呼び出したダイアログ
を隠し、左クリックで親ウインドウをアクティブにするにはどうすればよいのでしょうか
勘違いかも知れませんが...m(_ _)m
ダイアログをDoModalで呼び出した場合は恐らくできないと思うので,
CDialogクラスのCreateメソッドを利用して2つ目のダイアログのクラスの
インスタンスを作成した後に,ShowWindow関数を使って表示させてみてください.
ヘルプを見てもらえればすぐ解ると思いますよ(^o^)/~~
CMyDialog1のButton1を押したらCMyDialog2が開くとします
////// CMyDialog1
void CMyDialog1::OnButton1()
{
CMyDialog2 MyDialog2(this);
MyDialog2.DoModal();
}
////// CMyDialog2
BOOL CMyDialog2::OnInitDialog()
{
CDialog::OnInitDialog();
GetParent()->ShowWindow(SW_HIDE);
return TRUE;
}
void CMyDialog2::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetParent()->ShowWindow(SW_SHOW);
}
(注)
OnOK() OnCancel()でもGetParent()->ShowWindow(SW_SHOW);をして下さい。
OnContextMenu?左クリックでもですか?
ShowWindow(SW_SHOW);だけでアクティブになる?
「隠す」という表現がわからないけど EndDialogで終わらせたんじゃだめ?
隠すにこだわるならモーダレスにしたほうがいいと思いますが。。
はずしていたらごめんなさい。
すみません。右と左をまちがえました。m(_ _)m
>「隠す」という表現がわからないけど EndDialogで終わらせたんじゃだめ?
どうも質問の意図が伝わってこないんですが.
この「隠す」というのは2番目のダイアログを開いた後,それを閉じないで
一番目のダイアログをアクティブにして何か操作をしたいという意味ですか?