アーカイブ

2006年 8月 19日 のアーカイブ

駄目な感じ。
Aeroで透明になるような変更については、別にやって構わない。
問題はアイコン付きメニューの全撤廃だ。
真魚の場合、既に開いているファイルは履歴でアイコンを変化させたりしてる。
出来るからやるという軽い気持ちでやってるのではなく、ポリシーがあってやっていたようだ。
それでも無視して、一応アイコンなしメニューに変更させてみたりもした。
メニューが一般的なスタイルになると、ツールバーも一般的でないと似合わない。
ツールバーを一般的な描画にすると、その他の部分の縁取りも変えなきゃバランス悪い。
あーでもないこーでもないとどんどん変えていった結果、元に戻そうという気になってきた。
必要でやってるアイコン付きメニューだから、バグとも心中するか。

そのテストをしている間に気がついたのだが、
Vistaの外観は透けるAeroと透けないVista標準と、さらにクラシックも入っているのね。
Aeroにしたのに唯一透けてない真魚は、Vista標準みたいな描画だったのか。

真魚に限らずDelphiアプリにも限らず、またメニューのアクセラレータ下線がなくなってる。
かつて、Delphiアプリ特有でそういうバグがあった。
今回はおそらくメイリオが原因だろうけど、どっちにしろこのままのリリースはないだろう。
で、たぶんMSがそれを直した時点で、もう一度外観いじらなきゃいけなくなる気がする。

メモ帳の背景色とかに使われる窓色としての白と、ボタン色の薄いグレーが近すぎる。
真魚ではフォント選択ボックスで、等幅かどうかの区別にこれらの色を使用しているので、
この二つが判別しにくいのは非常に困る。要対策。

なんか、まだまだだな。

Delphi製のアプリはXPの時点でも外観でトホホだったよという所まで巻き戻り。
まずはメニューの話。
XPでアプリの外観が大きく変わり、それまでメニュー色とボタン色は同じグレーだったのに、
メニュー色だけ白に変わったと言うことが大事件だった。
それらは同じ色だという前提で動いていた部分が全部書き直しされなきゃいけない。
Delphiの対応が遅いので、自分でバグは回避するハメになる。
それよりかなら、Delphi標準でない、独自描画のサードパーティー製メニューも有力な選択肢。
ユニコードに対応してないアプリを作るなら、サードパーティ製で良いのがあるが、
真魚だとそうも行かないので、TnTでユニコード化したメニューを独自でいじる。
実はアイコンつきメニューさえあきらめれば、独自描画の必要はない。
Delphi製アプリのメニューがおかしい諸悪の根源はアイコンつきメニューだ。
真魚は、クラシックの表示とXPの表示を両立できるようにするために、
そのどちらでもなく、Office XPのようなメニュー表示に切り替えた。
アイコン部分はボタン色、活字部分は窓内色、周りを文字色で縁取るフラットメニューだ。
しかしこれがVistaでも自然に表示されるようにするとなると、また複雑化する。
しかもそれ系のコードの一部が、Vistaで不透明なタイトルバーを持つ原因だ。
いっそアイコンつきメニューをやめてしまおうと画策。
よく見たらEmEditorも秀丸も萌ディタも、メニューにはアイコン付けてないじゃない。
アイコンずらりはサクラぐらいだ。
今まで余計なことをしてきたなと反省しつつ、普通のメニューに戻したい。

もう一つ、タスクバーに表示されるウィンドウと、目に見えるウィンドウが違うアプリは不利になる。
普通のDelphiアプリはそうなっていて、真魚もその状態なので修正しなきゃいけない。
真魚のタイトルバーには開いているファイル名が出てるのに、タスクバーには出ていない。
この状態は気に入って好きでやっていたのだが、それも潮時となるようだ。
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_SDIStyleApp.htm
↑ここを参考に、作業自体はわずかだが、全体に影響しそうな大変更をした。
今後、思いもよらぬところで、潜んでいたウィンドウの取り違いバグが起こりかねない。

外観以外の対応はまたそのうち考えるか。