VC++6.0 ダイアログベースのアプリを作ってます。
そのダイアログ上で複数のコントロールが重なる状態で
特定のコントロールを最前面で表示したのです。
ここで問題なのは「タブオーダー」には左右されたくないのです。
どうしてよいのか全然分からず困ってます。
御教授お願いいたします。
もうちょっとどういう事がしたいのか詳しく書かれた方が
レスが付きやすいと思います。
リソースでダイアログのコントロールを定義してダイアログの表示を
行っている場合、タブオーダーで表示順を設定すれば、通常はそれで
十分だと思います。
タブオーダーに左右されずにという部分がどうして必要なのか?
どうしてそういった事がしたいのか?を説明してもらえば、
こちらも状況を理解しやすくなります。
あと、コントロールも結局はウインドウなので
Zオーダーの変更は通常のウインドウと同様に出来ると思いますが、
それについては試してみたんでしょうか?
既に試されているのであれば、その結果まで書き込んでもらった方が
話が早くなります。
タブオーダーはウィンドウの重なり順のことなので、
(MFCならpreTranslateMessage()で)
独自のタブオーダー処理を作りこまなければならないでしょう。
PATIOさんもおっしゃってる通り
最前面にしたいコントロールのハンドルに対して
SetWindowPosでHWND_TOPMOSTとかにしてみました??
けど、複数のコントロールが重なると見にくいだけだと思うんだけど・・・
タブオーダー(すなわちZオーダー)が後ろでも,
他のコントロールの後ろに隠されたくないというようなことでしょうか?
もしそうなら,
WS_CLIPSIBLINGS とかで出来たような。