Delphi6でこさえたアプリに,XPのビジュアルに対応するべく,manifestを埋め込んでも,
ビットマップ画像を貼り付けたボタンは,いわゆるXPスタイルにはならないですが。
コレは,XPスタイルに対応したと謳っている,Delphi7ではどーなんでしょう?
ビットボタンはやはり以前の表示スタイルのままなのか,
それとも画像(アイコン)を表示しつつ,XPスタイルのボタンになるのか?
ご存じの方がいらっしゃったら,ご教授願いたくよろしくお願いします。
Googleで調べてみたら、こんなのがありました。
http://www6.ocn.ne.jp/~iskouzi/delphi.htm
話の流れからして、スクリーンショットはDelphi7のものだと思いますけど、
ステータスバーはビジュアルスタイルなのに、ボタンのほうはそうでもないところを見ると、
だめそうですね。
ええと、このサイト(http://www.namakoworld.com/lowtech/)の人が、
XPスタイル対応のコンポーネントを公開しています。
TBitbtnのはないですけど、
UXTheme用のモジュールを公開しているようなので、
それを使えば、何とかXP対応のものも作れるかな・・・?と思います。
でも、ビジュアルスタイルが、デフォルトのLunaならばともかく、
StyleXPなどでビジュアルスタイルを変更している場合、
ビットマップがはみ出してしまうと思うので、それをどうするかが問題だと思いますけど。
レス,ありがとうございます。あちこちの掲示板でお名前,よくお見かけいたしております。
> Googleで調べてみたら、こんなのがありました。
ボクも一応検索かけてみたりはしたのですが,時間を浪費するばかりでした。
#こだわるヤツが珍しいのでしょうね。
> http://www6.ocn.ne.jp/~iskouzi/delphi.htm
> 話の流れからして、スクリーンショットはDelphi7のものだと思いますけど、
コレ。話とゆーか,時間の流れからすると,Delphi6で作ったものを,
WinXP上で表示してるっぽい気がしますが。
少なくともXPビジュアル対応を謳っているDelphi7で作ったものなら,
コンボボックスを展開するボタンは,XPスタイルになってるはずだ,と。
#ソレは,manifestでも,イケますから。
> ええと、このサイト(http://www.namakoworld.com/lowtech/)の人が、
はい。このサイトは一番にチェックしております(^^ゞ
てゆーか,タブなどをXPスタイルで表示できるコンポーネントすらお作りになってる
この方が,「ビットボタンはパス」と言われていたので,
「じゃ,Delphi7しかないのかな」と思った次第です。
> でも、ビジュアルスタイルが、デフォルトのLunaならばともかく、
> StyleXPなどでビジュアルスタイルを変更している場合、
> ビットマップがはみ出してしまうと思うので、それをどうするかが問題だと思いますけど。
Borland社がここら辺のところをきちんとクリアしてDelphi7を出したのだとすると,
ソレはそれなりに納得できるなぁ,とか思ったりして。
> だめそうですね。
なんか,ボクもそんな気がするんです。
XP登場以後にバージョンアップしたソフトが,それまでビットボタンを使ってたのに,
ふつうのボタンに変えてたりしますから。
XPスタイルと,以前のスタイルとが,混在するのを嫌ったりしての改変かな,とか。
ま,初めに戻りますけど。こだわるヤツが珍しい…ですよね。
公開ソフトを,タスクトレイの表示色で,二つ用意するようなヤツなど,
他に見たことないですもの,ね(^^;;
#一応「解決」ってことにしておきます。
> コンボボックスを展開するボタンは,XPスタイルになってるはずだ,と。
そうですね、よく見てみたら…。
Delphi7の話が上にあったので、Delphi7のかなと思ってしまいました。
ちなみに気になったので、VB6でボタンに画像をつけてみました。
Styleプロパティ(VBではボタンのStyleプロパティを1にすると、画像が表示されるようになる)を変更してみると、
とたんにボタンが旧スタイルになってしまいました^^;
VB6も同じくXP登場前のものだから、これだってわかりませんけど。
ただ、回避策はあります。
TBitbtnのかわりに、ツールバーを使えばいいんです。
Alignをなくしたツールバーを、ボタンの代わりに使えば、XPスタイルに対応できます。
(わたしの使ってるVB製ソフトでは、そうやって画像つきボタンを作ってました)
ただそれでも、はみ出すときにははみ出しますけどね^^;
> ちなみに気になったので、VB6でボタンに画像をつけてみました。
どうも,お手数おかけしてしまって,申し訳ありません。
> とたんにボタンが旧スタイルになってしまいました^^;
他を排除しようとゆーMicrosoftの意図だったりして…。
結構アチラでは独禁法だなんだで,いじめられてるみたいですから。
> ただ、回避策はあります。
> TBitbtnのかわりに、ツールバーを使えばいいんです。
あ,いえ。別に「何としてもXPスタイルのビットボタンを使いたい」とゆーわけではなく,
「興味がある」とゆーのが真相なんです。
「XPテーマに対応したアプリを作れる」ってのを謳ったDelphi7が,
そこんとこをどー対処したのか?
画像を貼り付けながらXPスタイルのボタンを作れるように改良したか,
それともビットボタンを使おうとすると,
「コレはXPスタイルにはなりませんが,よろしいですか?」って警告を出すのか?って。
で。買って来ちゃいました,Delphi7 Personal。
疑問はすぐに解明される,と思います。
> 「XPテーマに対応したアプリを作れる」ってのを謳ったDelphi7が,
> そこんとこをどー対処したのか?
…分かったので,一応ご報告を,と参上しました。
と言っても,たかみちえさん以外の反応が無かった事実を鑑みると,
誰も,そんなこと気にしていない(か,Delphi7を使っていない)ってことでしょーから,
無意味な投稿になるようにも思いますが(^^;;
結局,過去にDelphi6で作った,独自の画像を貼り付けたビットボタンが,
そのまま(画像も表示されたまま)XPスタイルのボタンになりました。
ポインタを置いたときに,ボタンの縁に色が付くのもイケてます。
ただし,manifestは自分で用意するなり,埋め込むなりしなくちゃなりません。
↑なんか,ちょっと変ですよね。ライセンスの問題とか何かあるんでしょうか?
ヘルプにも,「本人(またはアプリケーションのユーザー)が,マニフェストファイルを
追加する必要があります」と記されてありました<なんか,笑っちゃった。
あと,ボクが公開しているソフトの場合ですと,コンパイル後の実行ファイルのサイズが,
全く同じソースを使って,557KBから532KBになりました。
↑コレは,「6」から「7」へ,より最適化された,とゆーことですよね。
また,全く同じソースなのに,「6」の時には何の警告も出てなかったものが,
「7」では,構文チェックでアレコレと警告を出されました。
↑コレは,ただでさえ厳格なDelphiの文法にさらに磨きがかかったってことでしょうか?
それから,ボクの環境(SONY,VAIO U3)のみの障害である可能性が高いのですが,
起動時に,メニュー項目のアクセラレータキーが表示されません(泣
どれかの項目のショートカットキーを実行すると初めてズラッと表示されます。
#「ショートカットなんて,とっくに覚えてるやろ?」と挑発されてる気がします(^^ゞ
ツイート | ![]() |