自分の環境では、きちんとコントロールが表示されているのに、
他のマシンで動かすと、全てのコントロールが崩れている事があります。
フォームが巨大化してたり、ボタンの大きさが違っていたりと、
想定した画面と全然違います。
始めて気づいた時はショックでした(涙)
それとWindows2000/XPの登場により文字化け問題が浮上して来たようです。
夢の女神戦はずっと前に気づいて修正済みだったので影響はありませんでした。
コントロールの崩れる原因
Windowsのフォントサイズの違いによって発生します。
VisualBasicはWindowsのフォントサイズの設定に従って、
全コントロールの大きさを決定します。
開発環境のマシンと、実行環境のマシンで、フォントサイズが違えば、文字フォントだけでなく、
コントロールサイズまで、違ってきます。
グラフィックを使わないアプリケーションならそれはそれで、
全体的にコントロールが大きくなるだけでさほどの問題は出ないと思います。
ですが、グラフィックを使うアプリでこの影響を受けると、画面が崩れる可能性があります。
フォントサイズとは?
Windowsのコントロールパネルを開いて下さい。そして画面を選択します。
それから、ディスプレイの詳細を見てください。
そこにフォントサイズの設定があります。初期値はフォントサイズ小です。
環境によってはフォントサイズ大の方が見やすいので、時々大にする方もいます。
解決法・・。
フォントサイズは
Screen.TwipsPerPixelXで調べる事ができます。
この命令は、1ピクセルあたりのTwips数を調べる命令です。
この値が、15ならフォントサイズ小。
12ならフォントサイズ大です。
フォントサイズが分かれば、プログラムで設定し直します。
ちなみにDelphiの場合はフォームのScaledプロパティをFalseに設定すれば、
開発時のコントロールサイズで表示する事が出来ます。
文字化けについて
VisualBasicでMS Pゴシックを使うと文字化けを引き起こす事があります。
VBはデフォルトでMS Pゴシックを使うようになっていますので気をつけて下さい。
この文字化けする原因はVBのランタイムライブラリのようです。
一部のランタイムライブラリでMS Pゴシックを使うと化けます。
この化けるライブラリはWindows2000/XPのデフォルトで入っているようです。
ですから文字化けしないMS ゴシックを使う方が無難です。
MS Pゴシックを使用する場合は、ランタイムを文字化けしない版に差し替えてもらうなど対応が必要になります。

例)開発時の文字化け前の画面です。

Windows2000で実行してみました。日本語部分が化けました。
Visual Basicページへ
|