掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ビジュアルスタイルが有効かどうか(かわりに質問) (ID:14978)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「解決する必要がなくなった」というオチで、終了してしまった(?)ので、かわりに質問します。 以前から、ちょっと気になっていた部分なんですが、ついでということで。。。 当方D5ユーザーなのですが、XPスタイルに対応したコンポーネントを作りました。 UxTheme.h やらを変換したヘッダーを自力(他力も多いけど)で用意し、ビジュアルスタイルで表示できるようになりました。 なお、XPスタイル未対応アプリケーションでも、〜.exe.manifest のファイルを用意するだけで、そこそこXPスタイルで表示してくれます。 このmanifestを取り込んでコンパイルすることで、manifestファイルがあるように動作します(D6とかD7あたりで対応?)。 では、manifestファイルによるビジュアルスタイル化なのか、アプリケーション自身が、ビジュアルスタイルスタイル対応なのかということを知りたくて、 UxTheme.dllからインポートしたIsAppThemedを使ってみました。 ですが、manifestファイルのない非ビジュアルスタイル対応アプリケーションでもIsAppThemed=True と返ってきてしまうんです。 おかげで、ビジュアルスタイル非対応アプリでも、ビジュアルスタイルで表示されてしまうコンポーネントになってしまいました。 確かに、TMemoのスクロールバーとかは、ビジュアルスタイルになるのですが、TButtonは以前のスタイルで表示されています。 スクロールバーぐらいなら、バランスは悪くないのですが、それ以外の部分でビジュアルスタイル表示しているのは、かっこわるいです。 アプリケーションがビジュアルスタイル非対応の場合、TButtonのようにmanifestファイルあるときのみ、ビジュアルスタイル表示したい。 ただそれだけだと思っていたのですが、どうにもならない orz アプリ自身をビジュアルスタイル対応にすれば問題ないんですが、D5の場合TListViewのReport表示でエラーがでまくりという不具合があって、非対応にせざるを得ないこともあります。 IsAppThemedあたりでググっても、解決できるようなものはありませんでした(半年前だけど)。 それで、すっかりあきらめて、長い間記憶の片隅に片づけておいたのですが、コレを機に引っ張り出してみました。 「D6とかD7とか2005あたりにバージョンアップしろ」という方法以外の解決方法があればなぁ。。。と。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.