Windows Xp SP2の画面表示上の話で、プログラム的なことではないのですがよろしくお
願いします。
あるパソコン上のタスクバーの高さなのですが、他のパソコンのものに比べ、高さが微
妙に高くなっています。何か設定があるのでしょうか?
ちなみに、ドラッグして故意に高さを高くしているわけではありません。
タスクバープロパティの「タスクバーを固定にする」チェックをはずした状態で比較す
ると、他のパソコンが34ドットに対して高さが高いパソコンのものは40ドットで
す。
タスクバーの高さの違いにより、画面最大化時のクライアント領域が違ってしまってお
り、画面レイアウトが最大サイズぎりぎりに作ってある関係上、一部が隠れてしまう状
態となり困っています。
どなたかご教示ください。
あまり詳しくないのですが、Windowsのdpiの設定が異なっているとか、ないですか?
画面のプロパティのフォントサイズやアイコンサイズも影響すると思います。
dairygoodsさんの話の方ではないかと私も思います。
GDIで画面のDPIを取得するといつも96DPIが返ってきますが、
実際には画面の方は1024×768とか1280×1024とか変更できますから
いつも96DPIなわけありません。
(なので実際には取得した値は使えないと言う事になります。)
ちなみにタスクバーの高さってどうやって得ましたか?
ドット単位で書かれているのでGetMonitorInfoかなんかで取得した値から算出したの
でしょうか。
いずれにしてもフォントのサイズとかアイコンサイズとか全てを同じ条件にしないと
同じ状態にはならないような気がします。
なのでWindowのサイズを固定にしてしまうのはあまり良い方法ではないです。
アプリの中の設定用のダイアログなどであれば、サイズ固定でもあまり困りませんけれど
画面ぎりぎりに配置するような物は動作しているマシンの画面のサイズに合わせて
描画するなり、コントロールの配置を調整するなり、方法を考えないとまずいと思います。
コントロールの配置を調整するのが面倒ならスクロール領域内に表示するようにして
画面サイズの違いが影響しないような作りにする方が無難ではないでしょうか。
Takaです。ありがとうございます。
「画面のプロパティ」をしたところ、違いがありませんでした。
<確認項目>
「デザイン」タブ→「デザインの詳細」の各項目
「設定タブ」タブ→「詳細設定」→「全般」タブ→DPI設定
タスクバーのドットサイズの測定方法は、画面全体をキャプチャーし、
ペイントに表示し、タスクバーの青色部分のドット数をを数えました。
PATIOさんの言うとおり、プログラムの画面レイアウトの問題も
あると思っております。ただ、1画面上に表示させたい項目が多いため
1024×768を最小サイズと規定し、それ以上の画面サイズで使用してもらう
使用としております。
また、タスクバーの高さが高いPCでは、右端の時計表示が「上段が時間+下段が曜日」
という2段表示になっています。
それって特別なソフトを動かしてそこの表示をカスタマイズしていたりしませんかね。
標準でそんな事できましたっけ?
もしそういうソフトを使っているのであれば、そういうソフトは使用禁止とでもするしか
無いのではないかと思います。
多分のその表示を行うためにタスクバーの高さを調整しているでしょうから。
その場合、WindowsOSの問題ではなくてそのPCの固有環境の問題になるので
こういう場でどうこう言っても仕方が無いような気がします。
> ただ、1画面上に表示させたい項目が多いため1024×768を最小サイズと規定し、
> それ以上の画面サイズで使用してもらう使用としております。
要らぬ突込みですけど、使用? 仕様?
一画面で表示するにしてもタブを使って一画面で複数ページを切り替えて
表示するとか方法はありそうな気もしますね。
まあ、その辺の話はしてもしょうがない話なのかもしれませんけれど。
Takaです。
時計表示の件ですが、
特別なソフトはソフトは起動しておりません。
ちなみに、タスクバーをドラッグして故意に高さを高くして
みれば判るかと思いますが、時計表示が変わると思います。
要するに、時計表示が変わるくらい微妙にタスクバーの高さが
実際に高くなっていると言うことを言いたかったのですが。
Takaです。
画面の「プロパティ」でビジュアルスタイルをOFFにし
再度ONしたところ直りました。
(タスクバー高さが40から36ドットに変わりました)
テーマを「Windows クラシック」にし、「Windows Xp」に戻す操作を行いました。
有り難うございました。
XP のビジュアルスタイルだと、「タスクバーを固定する」が ON か OFF かで、見た目
の高さは若干変わりますね。