画面を最下位に表示したいが・・ – プログラミング – Home

画面を最下位に表示したいが・・
 
通知
すべてクリア

[解決済] 画面を最下位に表示したいが・・


クルルンファ
 クルルンファ
(@クルルンファ)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

いつもお世話になります。

他のプロセスのダイアログ画面と自プロセスのダイアログ画面を複数表示している場合で
自プロセス(デバッグ用)の画面を他のプロセスの画面の邪魔にならないように
後ろに表示させたいのですが時間に追われて調べる所までいきついていません。

アドバイスを頂けたら幸いです。宜しくお願いいたします。

WinDows 2000:Vs C++ 6.0(SP 4)


引用未解決
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

CWnd::SetWindowPos()でZオーダーを操作すればよいのでは。


返信引用
クルルンファ
 クルルンファ
(@クルルンファ)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

sugarさん,ご回答ありがとうございます。

教えて頂いた関数を以下(※1,2)のように
ダイアログ画面のOnInitDialog()の中で
呼出したのですが画面が下位になってくれません。

※1
this->SetWindowPos( &(this->wndNoTopMost),0,0,0,0,SWP_NOACTIVATE |
SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW );

※2
this->SetWindowPos( &(this->wndBottom),0,0,0,0,SWP_NOACTIVATE | SWP_NOMOVE |
SWP_NOSIZE | SWP_SHOWWINDOW );

呼出す場所,引数等の使い方に問題があるのでしょうか?


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

OnInitDialogでは、確かにダメみたいですね。
ウィンドウは表示されているか否か、が関係しているみたいです。

ということで、ならばとウィンドウがアクティブになった時(WM_ACTIVATE)に
実行してみたところ、ウィンドウは後ろに回るようになりました。
試してみてください。

SetWindowPos(&wndBottom, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);

※あまりスマートなやり方ではない気がしますが...


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 こんなのとか?(?_?)
http://www24.cds.ne.jp/~neg/pro/piyo1/window/bottom.html


返信引用
クルルンファ
 クルルンファ
(@クルルンファ)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

Sugarさん,NEGさん

フォローありがとうございました。

おかげ様で制御できるようになりました。

今後とも宜しくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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