コントロールの前面化 – プログラミング – Home

通知
すべてクリア

コントロールの前面化


tommy
 tommy
(@tommy)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

VC++6.0 ダイアログベースのアプリを作ってます。
そのダイアログ上で複数のコントロールが重なる状態で
特定のコントロールを最前面で表示したのです。
ここで問題なのは「タブオーダー」には左右されたくないのです。
どうしてよいのか全然分からず困ってます。
御教授お願いいたします。


引用解決済
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

もうちょっとどういう事がしたいのか詳しく書かれた方が
レスが付きやすいと思います。
リソースでダイアログのコントロールを定義してダイアログの表示を
行っている場合、タブオーダーで表示順を設定すれば、通常はそれで
十分だと思います。

タブオーダーに左右されずにという部分がどうして必要なのか?
どうしてそういった事がしたいのか?を説明してもらえば、
こちらも状況を理解しやすくなります。

あと、コントロールも結局はウインドウなので
Zオーダーの変更は通常のウインドウと同様に出来ると思いますが、
それについては試してみたんでしょうか?
既に試されているのであれば、その結果まで書き込んでもらった方が
話が早くなります。


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

タブオーダーはウィンドウの重なり順のことなので、
(MFCならpreTranslateMessage()で)
独自のタブオーダー処理を作りこまなければならないでしょう。


返信引用
III
 III
(@III)
ゲスト
結合: 21年前
投稿: 6
 

PATIOさんもおっしゃってる通り
最前面にしたいコントロールのハンドルに対して
SetWindowPosでHWND_TOPMOSTとかにしてみました??

けど、複数のコントロールが重なると見にくいだけだと思うんだけど・・・


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

タブオーダー(すなわちZオーダー)が後ろでも,
他のコントロールの後ろに隠されたくないというようなことでしょうか?

もしそうなら,
WS_CLIPSIBLINGS とかで出来たような。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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