ボタンのZオーダについて – プログラミング – Home

ボタンのZオーダについて
 
通知
すべてクリア

[解決済] ボタンのZオーダについて


タマ吉
 タマ吉
(@タマ吉)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

こんばんは、初めての書き込みになります。

早速、質問なんですが、今開発しているシステムの仕様で
ボタンの上にボタンを配置(1個のボタンの上に2個のボ
タンを配置)して、下のボタンが押下されたら、上のボタ
ンが両方押されたと判断するものを作成しています。
ところが、実際にボタンの上にボタンを配置すると、下の
ボタンを押下した場合に、上に配置したボタンが消えてし
まいます。(上のボタンのあった場所をクリックすると、
また表示されます)
下のボタンを押下しても、上に配置したボタンを消えない
ようにする方法はあるのでしょうか?(タブ順やフォーカ
ス、Zオーダーが関係するんでしょうか?)

何方か、ご存知の方がいらっしゃいましたら、ご教授の方
宜しくお願い致します。


引用未解決
トピックタグ
ゆい
 ゆい
(@ゆい)
ゲスト
結合: 22年前
投稿: 2
 

下のボタンが押下されたとき、
下のボタンのウインドウプロシージャがボタンを書き換えるので
上のボタンが消えるのではないかと思われます。

で、どうすればいいかというと
下のボタンのウインドウプロシージャをフックして
オーナードローすればいいのかな?

外してたらごめんなさい。


返信引用
タマ吉
 タマ吉
(@タマ吉)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

ゆいさん、回答ありがとうございます。

教えていただいた内容で、いろいろ試しましたが
どうも上手くいきません。(私の知識不足が原因
なんですが・・・)
どこか、サンプルや説明が書かれたHPはないで
しょうか?
ずうずうしいとは思いますが、どうぞ宜しくお願
い致します。


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

別な方法。

「下のボタン」に WS_CLIPSIBLINGS スタイルをつけておけば、
「上にボタン」が隠れる問題は回避できるようです。

ただ、「下のボタン」を押しても「上のボタン」は微動だにしないので、
あんまりのっかてるように見えないところがいまひとつ。

ダイアログエディタで WS_CLIPSIBLINGS スタイルを付けられないようなので、
*.rc ファイルをテキストエディタで直接書き換えるか、
ModifyStyle を使う必要があります。


返信引用
Shimura
 Shimura
(@Shimura)
ゲスト
結合: 22年前
投稿: 36
 

さらに別な方法。
「上のボタン」と「下のボタン」に分けない。

つまり、ボタンコントロールはひとつだけにして、
オーナー描画で「ふたつ分のボタン」を描く。
でもって、押下時のマウスカーソルの位置で、「上のボタン」と「下のボタン」の
どちらが押下されたかを判断する。


返信引用
タマ吉
 タマ吉
(@タマ吉)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

kazumaさん、Shimuraさん、ご回答ありがとうございます。

kazumaさんから教えていただいた方法で実現できました。
あのような設定方法があったんですね。

今回は、本当にありがとうごいました。
また、何かお聞きする事があると思いますが、その時は
宜しくお願い致します。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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