クリックひとつでウインドウの切り替えを行うには – プログラミング – Home

クリックひとつでウインドウの切り替えを...
 
通知
すべてクリア

クリックひとつでウインドウの切り替えを行うには


初心者マーク
 初心者マーク
(@初心者マーク)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

VC++4.0 MFCで作業してます。
ダイアログを呼び出したのですが、OKやキャンセルぼたんを押さずに、呼び出したダイアログ
を隠し、左クリックで親ウインドウをアクティブにするにはどうすればよいのでしょうか


引用解決済
トピックタグ
渡り鳥
 渡り鳥
(@渡り鳥)
ゲスト
結合: 23年前
投稿: 14
 

勘違いかも知れませんが...m(_ _)m
ダイアログをDoModalで呼び出した場合は恐らくできないと思うので,
CDialogクラスのCreateメソッドを利用して2つ目のダイアログのクラスの
インスタンスを作成した後に,ShowWindow関数を使って表示させてみてください.
ヘルプを見てもらえればすぐ解ると思いますよ(^o^)/~~


返信引用
山本八郎
 山本八郎
(@山本八郎)
ゲスト
結合: 23年前
投稿: 24
 

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);をして下さい。


返信引用
?
 ?
(@?)
ゲスト
結合: 23年前
投稿: 49
 

OnContextMenu?左クリックでもですか?
ShowWindow(SW_SHOW);だけでアクティブになる?

「隠す」という表現がわからないけど EndDialogで終わらせたんじゃだめ?
隠すにこだわるならモーダレスにしたほうがいいと思いますが。。

はずしていたらごめんなさい。


返信引用
山本八郎
 山本八郎
(@山本八郎)
ゲスト
結合: 23年前
投稿: 24
 

すみません。右と左をまちがえました。m(_ _)m


返信引用
渡り鳥
 渡り鳥
(@渡り鳥)
ゲスト
結合: 23年前
投稿: 14
 

>「隠す」という表現がわからないけど EndDialogで終わらせたんじゃだめ?

どうも質問の意図が伝わってこないんですが.
この「隠す」というのは2番目のダイアログを開いた後,それを閉じないで
一番目のダイアログをアクティブにして何か操作をしたいという意味ですか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました