1

CListCtrlやCEditなどのスクロールバーを備えたMFCコントロールの場合、スクロールバーの外観をカスタマイズするのが非常に難しいのはなぜですか。

XP MFCでは、WM_NCPAINTを取得し、スクロールバーの描画を変更することができますが、他のフォーラムで気付いたように、スクロールバーをカスタム描画しようとすると、これらのコントロールは「反撃」します。したがって、私のような初心者は言うまでもなく、プロのMFCコーダーでさえそれを試みることはありません。

WindowsCEでは、WM_NCPAINTメッセージも取得しません。

与えられた提案は、常にCWndを使用して独自のコントロールを最初から作成することです。では、フレームワークを持つことのポイントは何ですか?メッセージングシステム、何とか何とか何とかなど、もっと多くの利点がありますが、ルックアンドフィールをカスタマイズすることは、製品の差別化にとって重要であると私は信じています。Windowsはすべてのプログラムが同じように見えることを望んでいることを私は理解していますが、今回はそれをやり過ぎたと思います。iOSとAndroidがここで勝ちます。ここでは、通常、アプリ間でほぼ同じルックアンドフィールがあります(コントロールは期待どおりに動作します)が、コントロールを好みに合わせてスキニングすることは引き続き機能します。

わかりました、十分に怒鳴ります。問題は次のようになります...最初から始める代わりの方法はありますか?

4

3 に答える 3

2

簡単な答え:いいえ。

少し長い答え:MFCコントロールは実際にはそれ自体のものではありません。これらは、Windows自体が提供するコントロールの最小限のラッパーです。また、お気づきのとおり、Win32にはユーザーが描画するスクロールバーは用意されていません。彼らはそれのために設計されていません。

于 2012-03-31T09:29:09.287 に答える
2

私はあなたに同意します...私は最終的にこの記事を使用してそれを行うことができます. もしよろしければ試してみてください...頑張ってください!

于 2012-03-31T20:12:58.220 に答える
0

私は Xtreme Toolkit Pro (MFC) - http://www.codejock.com/products/toolkitpro/の幸せなユーザーです。彼らはあなたのために働くかもしれないスキンフレームワークを持っています. はい、これは商用です。しかし、私はそれらを推奨することに個人的な利益はありません。

于 2012-03-31T13:08:08.110 に答える