XPスタイル

私のパソコンは会社のも家のもwindowsXPなのですが、「windowsラシックスタイル」にして使っています。(XPスタイルはあんまり好きじゃないので。)
それが落とし穴でした。
Access2003で作っている某システムでは、データ表示用の項目をテキストボックスで作っています。状況によっては入力することもあるのでラベルは使えません。
以下のように設定してました。下の3つは状況に応じてVBAで操作します。

  • 立体表示プロパティ:くぼみ
  • Enabled(使用可能)プロパティ:False(いいえ)
  • Locked(編集ロック)プロパティ:True(はい)
  • BackStyle(背景スタイル)プロパティ:0(透明)

実際、私と新人さんのマシンでは問題なくみえてたのです。(新人さんもクラシックスタイルにしていたらしい。)
でも、お客さんのところで見てみたら、枠がなくて背景と同化しているじゃないですか。
しかも、透明にしといた筈のタブは真っ白になってるんですけど。
あれ?なんで?


どうやら「windowsXPスタイル」にすると、そうなるみたいです。
立体表示プロパティ:くぼみ、の立場は?
タブの背景スタイルプロパティ:透明、は無視ですか?
たーのーむーよーーー。


今回は、本番前に少しさわってみたい、というお客さんのご要望によるプレ納品だったので、次までに対応します、とごまかしましたが、超ださいですよねえええ。
会社に戻ってから調べてみたら、Accessの「ツール」−「オプション」の「フォーム/レポート」の「フォーム上のコントロールWindowsのテーマを使用する」のチェックをOFFにすると、私の思っていたような画面表示になるそうです。仕方がないので、実行時に強制的に設定を変えることにしました。以下の記述で、設定が変わるそうです。

Call Application.SetOption("Themed Form Controls", False)

私はチキンなので、設定値を保存しておいて、設定を変えて、システム終了時に元に戻すような仕組みにしました。
色々めんどくさいです。ううむ。
表示をXPスタイルにするのは全然構わないんだけど、「くぼめよ!」「透明になれよ!」と言いたい。
もう。






もう一人の人はXPスタイルにしてるのに、何も言ってくれないし。(「そういうものかと思ってた」とか言われた。)
テキストの枠がないのはともかく、タブのとこだけ真っ白で表示されてるのは明らかにかっこ悪いじゃないですか。
私の確認漏れだから偉そうなことは言えないんだけど…。言ってよー………。