2010-11-21 6 views
2

ダイアログボックスのキャプションバーにいくつかのコントロールを配置したいと思います。これの1つの可能な解決策は、私は単にダイアログからキャプションバーを削除し、私自身のキャプションバーを描画します。MFCのキャプションバーに描画

私は自分のキャプションバーを描画すると、キャプションバーの外観は、ウィンドウのテーマに応じて変更されません。そして、私はまた、近づけ、最小限に抑え、最大化する苦痛を負わなければならないでしょう。

ですから、キャプションバー全体を描画せずに、カスタムボタンやその他のウィンドウにすることができるキャプションバーにコントロールを描画することができますか?

事前に感謝..

答えて

2

あなたがこれを行うことができます間違いなく、それは、ほぼ確実に行うには本当に悪い考えですそう。 UIは、予測可能で一貫性のある場合にうまく機能します。異なるOSバージョン、テーマの有無にかかわらず、OSの将来のバージョンは、クライアント以外の領域にペイントする方法とはかなり異なる可能性があります。 iTunes、Safari、あなたがMacで動作していると信じるようにしてくれるWindows用のQuickTime、またはそのビザロメニュー付きのFirefox 4など、自分のことをするプログラムは一般的に迷惑です。私のお勧めは、システムが意図した性質のクライアントではない領域を描き、UIをクライアント領域に置くことです。

+0

つまり、キャプションバーをつぶすのではなく、必要なすべてのコントロールを持つツールバーをダイアログに追加することができます。 – AJG85

+0

私はこの回答の議論を理解していますが、Office 2016とChromeを見てください。彼らはOSのルックアンドフィールに適合していますが、ツールバーを違った方法で色付けしたり色分けしたりしても、OSには見えません。 – MyDeveloperDay

+0

OSの次のバージョンがまったく異なるテーマを使用する時点まで実行されます。タブ付きブラウザのようなものはほとんど選択肢がありませんが、システムは組み込みのUIを提供していないため、カスタム化する必要があります。 –

関連する問題