C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 120 を表示中)
■70283 / )  Re[5]: warningの一時的抑止
□投稿者/ とっちゃん (203回)-(2014/03/07(Fri) 10:52:14)
とっちゃん さんの Web サイト
No70282 (nobb さん) に返信

> ・プログラムの起動時にスプラッシュウィンドウを表示し、その際に「起動準備中...」という文字を表示する
> ・フォント高さを変えずに「起動準備中...」と表示した場合、フォントが小さく気づきにくい
> ・色々大きさを変えた結果(lfHeightを色々変えてみる)、1.5倍した大きさが一番しっくりくる。2倍では大きすぎた。
> ・1.5倍という数字自体に際立った意味はなく、1.4倍でも、1.6倍でも見やすければ(大きすぎず、小さすぎず)良しとする。
> ・ただ、1.4とか1.6よりは1.5の方がキリがいいかな?という事で1.5を採用した
>
基準としている値(18)は、どういう単位(18という値がどこから導き出された値なのか?)かを把握していますか?
1.5倍としていますが、画面の解像度などの影響や、ダイアログフォントのサイズの影響を受けていませんか?


ログフォントの取得方法がわからないので、基準値がわかりませんが
Windowsアプリ(おそらくMFCアプリですよね?)は、原則システム設定等の影響を大きく受けます。

そのため、ユーザーの設定次第では、標準(システムの初期状態値)とは異なる大きなフォントや小さなフォントが
設定されている場合もあります。

具体的な不具合の典型例としては
開発環境やテスト範囲では、96dpi で 100% の文字サイズで確認していたのに
ユーザー環境では、大きいフォント(150%)や、解像度が異なる(アプリ設定にもよるので影響しない場合もある)などの影響で

「1.5倍した結果、文字列がはみ出して読めなくなった。」

ということもあります。

なので、こういった一過性のものや、とにかく大きめに見せたいという場合は
現在の画面設定を基準にするのではなく、スプラッシュ画像の表示領域サイズを基準にして
絶対値をあらかじめ決定しておくあるいは、文字列の長さを基準に実行時に最大限の大きさになるような
計算を行うなどとするのが一般的です。

必ずこうしなければならないというものではありませんが、失敗パターンに一番はまりやすい計算方法をとっているようなので...
#実際にそうやって失敗したという不具合報告は過去に何度となく社内で流れていますからね...

返信 編集キー/


管理者用

- Child Tree -