質問

私は、Windows XPプラットフォームでのVisual Studio 6.0(MFCとVC ++)を使用しています。私は、チェックボックス、グループボックスのタイトルを持つグループボックスを作成しようとしています。私の意図は、このです:チェックボックスが有効になっている場合は、グループボックス内のコントロールを有効にする必要があります。または他の無効ます。

これは達成することは可能ですか?もしそうであれば、私にいくつかの方向性を与えてくださいます。

感謝します。

役に立ちましたか?

解決

あなたが試すことができますいくつかは、あなたのアイデアとあなたが努力に入れて用意されているどのくらいの仕事に滞在する方法真に応じて、あります

簡単な方法

正常グループボックスを使用し、この内部に最初の項目は、チェックボックスである作ります。これが実現するのは簡単ですが、タイトルとして、チェックボックスを持つことの目的を失います。

ファンキー描画方法1

あなたはタイトルが、行くあなたのチェックボックスを配置することである知っているところかけて空間に、通常のグループボックスを使用してください。あなたはそれがうまく収まるとちらつきなしでうまく描くために取得するために、いくつかのトリッキーな計算を実行する必要があります。

ファンキー描画方法2

スーパーのいくつかの形式を使用しますまたはサブクラスする / <のhref = "http://msdn.microsoftグループボックスの.COM / EN-US /ライブラリ/ ms633569(VS.85).aspxの#「のrel = "noreferrerを" winproc_subclassing>サブクラスする。あなたは、グループボックスのフレームのみで描画するWM_PAINTハンドラを無効にすることができます。あなたはタイトルが行くことである知っている場所で、通常のチェックボックスを置きます。あなたは、図面をより詳細に制御を持っていますが、権利を取得するのが難しい可能性があるので、これはより良い動作するはずです。私の経験では、サブクラスはスーパークラス化よりも実装するリスクが低いです。

他のヒント

あなたはダイアログエディタを使用していますか?その場合、グループボックスを置きます。次に、その上に、グループボックスのラインの上にあるチェックボックスを置きます。 Zオーダーを設定するためのリソースを編集、またはコードでそれを行います。あなたは、チェックボックスがグループボックスの上になりたいです。チェックボックスのハンドラを追加し、チェックボックスの状態に応じて/無効のコントロールを可能にします。

私は数年前にCGroupCheckと呼ばれるものを書き、それがCodeProjectのから入手できます:ます。http: //www.codeproject.com/KB/buttons/groupcheck123.aspxする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top