ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

クロスプラットフォーム互換性のための設計

既定のシステムフォント

Uicontrol は既定で、使用しているプラットフォームの既定フォントを使用します。たとえば、PC 上でユーザー GUI を表示するとき、Uicontrol は MS San Serif を使用します。ユーザー GUI が、異なるプラットフォーム上で動作するとき、コンピューターの既定のフォントを使用します。このため、ユーザー GUI と他のアプリケーション GUI に関係して、同じ外見を与えます。

FontName プロパティを名前の付いたフォントに設定した後、既定値に戻したい場合、プロパティを文字列 default に設定することができます。そうすると、MATLAB は実行時にシステム既定値を使用します。

このプロパティを設定するために、プロパティ インスペクターを使用することができます。

代わりに、set コマンドを使用して、GUI コード ファイルにプロパティを設定することもできます。たとえば、ユーザー GUI にプッシュ ボタンが存在する場合、そのハンドルは、handles 構造体の pushbutton1 フィールドに保存され、その後、次のステートメント、

set(handles.pushbutton1,'FontName','default')

は、FontName プロパティにシステム既定値を使用するように設定します。

固定幅フォントの指定

ユーザー インターフェイス コントローに固定幅フォントを使用したい場合、その FontName プロパティを文字列 fixedwidth に設定してください。この特別な識別子により、ターゲット プラットフォームに対して、ユーザー GUI が標準の固定幅を使用することを保証します。

ルートの FixedWidthFontName プロパティを調べることにより、与えられたプラットフォーム上で使用される固定幅フォント名を検出することができます。

get(0,'FixedWidthFontName')

特定のフォント名の使用方法

FontName プロパティに対して、(Times あるいは Courierのような) 実際のフォント名を指定することができます。ただし、そのように指定すると、ユーザー GUI が異なるコンピューター上で動くとき、期待どおりの外見にならない可能性があります。ターゲット コンピューターが指定のフォントをもたない場合、ユーザー GUI が良く見えなかったり、そのシステム上の GUI に使用される標準フォントではない、他のフォントに置き換えられることもあります。また、同じ名前でフォントの異なるバージョンのものは、与えられた文字の組に対して、サイズ要求が異なることもあります。

標準背景色

既定のコンポーネント背景色は GUI が実行しているシステムの標準のシステム背景色です。この色はコンピューター システムが異なると変わります。たとえば、PC の標準的なグレーの影は UNIX® システムのものとは異なり、既定の GUI 背景色とは一致しないことがあります。

既定のコンポーネントの背景色を使用すると、GUI の背景色と同じ色を使用できます。このため、ユーザー GUI と他のアプリケーション GUI に関係して、同じ外見を与えます。GUIDE でこれを行うには、レイアウト エディターの [ツール] メニューで [GUI オプション][背景にシステム配色を使用 (推奨)] をチェックします。

    メモ:   このオプションは最初に [FIG ファイルと MATLAB ファイルの作成] オプションを選択した場合に限り、利用できます。

次の図は、システム カラー マッチングがある場合とない場合の結果を示します。

クロスプラットフォーム互換の Units

クロスプラットフォーム互換の GUI は、スクリーン サイズと解像度が異なるコンピューター上で、正しく見える必要があります。ピクセルのサイズは異なるコンピューター表示上では変わることがあるので、Figure の Units の既定値である pixels を使用すると、すべてのプラットフォーム上で同じに見える GUI を生成することはできません。

このため、GUIDE は既定値で Figure に対する Units プロパティを characters にします。

システムに依存したユニット

Character unit は、既定値のシステム フォントからの文字によって定義されています。character unit の幅は、システム フォントにおいて文字 x の幅に等しくなります。character unit の高さは、テキストの 2 行のベースライン間の距離です。Character unit が四角でないことに注意してください。

Units とサイズ変更の動作

GUI のサイズ変更動作を GUI オプション ダイアログ ボックスから設定すると、GUIDE はプラットフォームが変わっても意図した外見や特徴を保つように GUI のコンポーネントに対する Units を自動的に設定します。サイズ変更動作のオプションを指定するには、[ツール][GUI オプション] を選択し、次に、[リサイズの動作][リサイズ不可][比例 (プロポーショナル)] または [その他 (ResizeFcn を使用)] から選択して指定します。

[リサイズ不可] オプションを選択すると、GUIDE は既定でコンポーネントの単位を characters にします。[比例 (プロポーショナル)] を選択すると、コンポーネントの単位を既定値の normalized にします。いずれの場合も、これらの設定によって、GUI は自動的に、GUI が異なるコンピューター上に表示されるときのサイズとコンポーネントの相対的な間隔を調整します。

[その他 (ResizeFcn を使用)] を選択すると、GUIDE は既定でコンポーネントの単位を characters にします。ただし、GUI のサイズ変更動作をカスタマイズするために、ResizeFcn コールバックを与える必要があります。

    メモ:   Figure の Resize プロパティをプログラミングで、あるいはプロパティ インスペクターで変更する場合、GUIDE はコンポーネントの単位を自動的には調整しません。

GUI をレイアウトする場合、より一般的な単位、たとえば、インチまたはセンチメートルを使用すると便利な場合があります。ただし、異なるコンピューター上で GUI の外見を保つには、Figure の Units プロパティを characters に変更し、GUI を保存する前に、コンポーネントの Units プロパティを characters (サイズ変更不可の GUI) あるいは normalized (サイズ変更可能な GUI) に変更します。

この情報は役に立ちましたか?