0

リストボックス、スライダー、ボタンを備えたダイアログボックスがあります。背景色を変えようとしたのですが、どうしても変えられなかったので、「ピクチャーコントロール」をビットマップとして追加して背景に入れれば成功すると思っていたのですが、問題は「ピクチャ コントロール」は、すべてのコントロールの上にあります。

Ctrl+d でタブコントロールを変更しようとしましたが、何も変わりませんでした。また、 SetWindowPos をトップまたはボトムに使用しようとしましたが、何も変わりませんでした。

ボタンの場所をクリックすると、必要に応じて前面に表示されることに気付きました。最初にすべてのコントロールを「クリック」する方法はありますか? コントロールを一番上に持ってくるために何か見逃していますか?

4

2 に答える 2

0

Ctrl+D でタブコントロールを変更しようとしましたが、何も変わりませんでした。また、 SetWindowPos をトップまたはボトムに使用しようとしましたが、何も変わりませんでした。

Ctrl+D並べ替えモードになりますが、より信頼性の高い確認方法があります。ダイアログ テンプレートは .RC ファイルのテキスト形式であり、テキスト エディタで制御の順序を確認し、必要に応じて手動で行を並べ替えることができます。これは、コントロールの作成順序とタブ オーダーでもあります。この方法でコントロールを並べ替える方が簡単な場合もあります。

さらに、アプリケーションが実行されている場合、Spy++ SDK ツールはウィンドウを列挙することができ、チェックのためのウィンドウの順序を提供します。

SetWindowPos適切な引数を使用すると、実行時にコントロールの Z オーダーも変更されます。

于 2013-07-12T07:36:02.713 に答える