Delphi7とXPスタイルにおけるビットボタンについて。

解決


junpei  URL  2003-01-28 07:04:13  No: 2686

Delphi6でこさえたアプリに,XPのビジュアルに対応するべく,manifestを埋め込んでも,
ビットマップ画像を貼り付けたボタンは,いわゆるXPスタイルにはならないですが。
コレは,XPスタイルに対応したと謳っている,Delphi7ではどーなんでしょう?

ビットボタンはやはり以前の表示スタイルのままなのか,
それとも画像(アイコン)を表示しつつ,XPスタイルのボタンになるのか?

ご存じの方がいらっしゃったら,ご教授願いたくよろしくお願いします。


たかみちえ  URL  2003-01-29 00:00:06  No: 2687

Googleで調べてみたら、こんなのがありました。
http://www6.ocn.ne.jp/~iskouzi/delphi.htm
  話の流れからして、スクリーンショットはDelphi7のものだと思いますけど、
ステータスバーはビジュアルスタイルなのに、ボタンのほうはそうでもないところを見ると、
だめそうですね。

  ええと、このサイト(http://www.namakoworld.com/lowtech/)の人が
XPスタイル対応のコンポーネントを公開しています。
  TBitbtnのはないですけど、
UXTheme用のモジュールを公開しているようなので、
それを使えば、何とかXP対応のものも作れるかな・・・?と思います。

  でも、ビジュアルスタイルが、デフォルトのLunaならばともかく、
StyleXPなどでビジュアルスタイルを変更している場合、
ビットマップがはみ出してしまうと思うので、それをどうするかが問題だと思いますけど。


junpei  2003-01-29 06:22:20  No: 2688

レス,ありがとうございます。あちこちの掲示板でお名前,よくお見かけいたしております。

>   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スタイルと,以前のスタイルとが,混在するのを嫌ったりしての改変かな,とか。

ま,初めに戻りますけど。こだわるヤツが珍しい…ですよね。
公開ソフトを,タスクトレイの表示色で,二つ用意するようなヤツなど,
他に見たことないですもの,ね(^^;;
#一応「解決」ってことにしておきます。


たかみちえ  URL  2003-01-30 02:20:50  No: 2689

> コンボボックスを展開するボタンは,XPスタイルになってるはずだ,と。
  そうですね、よく見てみたら…。
Delphi7の話が上にあったので、Delphi7のかなと思ってしまいました。

  ちなみに気になったので、VB6でボタンに画像をつけてみました。
Styleプロパティ(VBではボタンのStyleプロパティを1にすると、画像が表示されるようになる)を変更してみると、
とたんにボタンが旧スタイルになってしまいました^^;
  VB6も同じくXP登場前のものだから、これだってわかりませんけど。

  ただ、回避策はあります。
TBitbtnのかわりに、ツールバーを使えばいいんです。
  Alignをなくしたツールバーを、ボタンの代わりに使えば、XPスタイルに対応できます。
(わたしの使ってるVB製ソフトでは、そうやって画像つきボタンを作ってました)
ただそれでも、はみ出すときにははみ出しますけどね^^;


junpei  2003-01-30 05:40:31  No: 2690

>   ちなみに気になったので、VB6でボタンに画像をつけてみました。
どうも,お手数おかけしてしまって,申し訳ありません。

> とたんにボタンが旧スタイルになってしまいました^^;
他を排除しようとゆーMicrosoftの意図だったりして…。
結構アチラでは独禁法だなんだで,いじめられてるみたいですから。

>   ただ、回避策はあります。
> TBitbtnのかわりに、ツールバーを使えばいいんです。
あ,いえ。別に「何としてもXPスタイルのビットボタンを使いたい」とゆーわけではなく,
「興味がある」とゆーのが真相なんです。

「XPテーマに対応したアプリを作れる」ってのを謳ったDelphi7が,
そこんとこをどー対処したのか?
画像を貼り付けながらXPスタイルのボタンを作れるように改良したか,
それともビットボタンを使おうとすると,
「コレはXPスタイルにはなりませんが,よろしいですか?」って警告を出すのか?って。

で。買って来ちゃいました,Delphi7 Personal。
疑問はすぐに解明される,と思います。


<解決>junpei  2003-01-31 11:59:11  No: 2691

> 「XPテーマに対応したアプリを作れる」ってのを謳ったDelphi7が,
> そこんとこをどー対処したのか?
…分かったので,一応ご報告を,と参上しました。

と言っても,たかみちえさん以外の反応が無かった事実を鑑みると,
誰も,そんなこと気にしていない(か,Delphi7を使っていない)ってことでしょーから,
無意味な投稿になるようにも思いますが(^^;;

結局,過去にDelphi6で作った,独自の画像を貼り付けたビットボタンが,
そのまま(画像も表示されたまま)XPスタイルのボタンになりました。
ポインタを置いたときに,ボタンの縁に色が付くのもイケてます。

ただし,manifestは自分で用意するなり,埋め込むなりしなくちゃなりません。
↑なんか,ちょっと変ですよね。ライセンスの問題とか何かあるんでしょうか?
ヘルプにも,「本人(またはアプリケーションのユーザー)が,マニフェストファイルを
追加する必要があります」と記されてありました<なんか,笑っちゃった。

あと,ボクが公開しているソフトの場合ですと,コンパイル後の実行ファイルのサイズが,
全く同じソースを使って,557KBから532KBになりました。
↑コレは,「6」から「7」へ,より最適化された,とゆーことですよね。
また,全く同じソースなのに,「6」の時には何の警告も出てなかったものが,
「7」では,構文チェックでアレコレと警告を出されました。
↑コレは,ただでさえ厳格なDelphiの文法にさらに磨きがかかったってことでしょうか?
それから,ボクの環境(SONY,VAIO U3)のみの障害である可能性が高いのですが,
起動時に,メニュー項目のアクセラレータキーが表示されません(泣
どれかの項目のショートカットキーを実行すると初めてズラッと表示されます。
#「ショートカットなんて,とっくに覚えてるやろ?」と挑発されてる気がします(^^ゞ


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加