FontDialog クラス

FontDialog クラス

システムに現在インストールされているフォントのリストを表示するコモン ダイアログ ボックスを表します。System.Windows.Forms.FontDialog クラス互換のコモン ダイアログ ボックスです。

この型のすべてのメンバの一覧については、FontDialog メンバ を参照してください。

System.Object
 System.MarshalByRefObject
  System.ComponentModel.Component
   System.Windows.Forms.Control
    System.Windows.Forms.ScrollableControl
     System.Windows.Forms.ContainerControl
      System.Windows.Forms.Form
       SmartPDA.Windows.Forms.FontDialog

[C#]
public class FontDialog : Form

スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説
.NET Compact Framework 1.0, 2.0 ではフォントを選択する FontDialog コモン ダイアログ ボックスは提供されていません。このクラスを使用するとユーザがフォントを選択する事が出来るコモン ダイアログ ボックスを使用する事が出来ます。

System.Windows.Forms.FontDialog クラスのコモン ダイアログ ボックスとの違い
.NET Framework の FontDialog は、システムにインストールされているフォントのリストを表示しますが、このコモン ダイアログ ボックスは特定のパスに
存在しているフォントファイルに含まれているフォントリストを表示します。
それなのでシステムが認識していないフォントも、このコモン ダイアログ ボックスでは表示する事ができます。

使用例
[C#] ShowDialog を使用して FontDialog を表示する例を次に示します。
このコードでは、 TextBox とボタンが配置された状態で Form が作成されていることを前提にしています。
また、 fontDialog1 が作成されていることも前提にしています。 Font は、サイズ情報は保持しますが、色情報は保持しません。

private void Dialog_Click(object sender, EventArgs e)
{
	FontDialog fd = new FontDialog();
	
	fd.Text = "Open Fonts";
	fd.SearchPath = this.FontSearchPath.Text;
	fd.FontFileExt = this.FontFileExt.Text;
	fd.FontNameOnly = this.FontNameOnly.Checked;
	
	DialogResult d = fd.ShowDialog();
	
	switch (d)
	{
		case(DialogResult.OK):
			{
				MessageBox.Show("Selected!");
				this.FontName.Text = fd.FontName;
				this.FontPath.Text = fd.FontPath;
				this.FontSample.Font = fd.SelectedFont;
				break;
			}
		case (DialogResult.No):
			{
				MessageBox.Show("Calcel!");
				break;
			}
		case (DialogResult.Abort):
			{
				MessageBox.Show("Abort! Error!");
				break;
			}
	}
	
	fd.Dispose();
}
[Visual Basic, C++, JScript] Visual Basic, C++, JScript のサンプルはありません。

必要条件

名前空間 : SmartPDA.Windows.Forms

プラットフォーム : .NET Compact Framework - Windows CE.NET

アセンブリ : SmartPDA.Windows.Forms ( FileDialog.dll 内 )

参照 :
FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

FontDialog メンバ

FontDialog クラスは、System.Windows.Forms.Form クラスを継承しているクラスです。ここでの解説においては FontDialog クラス独自のプロパティ、メソッドの解説を行い、継承している Form クラスのプロパティおよびメソッドの解説は行いません。

パブリック コンストラクタ
FontDialog コンストラクタ FontDialog クラスの新規インスタンスを初期化します。


パブリック プロパティ
FontFileExt フォントファイルの拡張子を指定します。
FontName ユーザが選択したフォントのフォント名 ( FontFullName ) が設定されます。
FontNameID システムに登録されているフォントのフォント情報を取得します。
FontNameOnly FontDialog でユーザが選択できる項目をフォント名だけに制限するかどうかを示す値を取得または設定します。
FontPath ユーザが選択したフォントファイルのパスが設定されます。
SearchPath フォントファイルを検索するパスを指定します。
SelectedFont ユーザが選択したフォントを取得または設定します。


パブリック メソッド
ReadFont フォントファイルを読み込み、FontDialog インスタンス内にフォント情報を格納します。


FontDialog コンストラクタ

FontDialog クラスの新規インスタンスを初期化します。

[C#]
public FontDialog();

解説
既定のコンストラクタは、すべてのフィールドを初期値に設定します。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

FontFileExt

フォントファイルの拡張子を指定します。

[C#]
public string FontFileExt { get; set; }

プロパティ値
FontDialog でルートフォルダで表示される文字列を含む値。既定値は String.Empty です。

解説
SearchPath プロパティで指定したパスから取得するフォントファイルの拡張子を指定します。
FontDialog が読み込めるフォントファイルの形式は TrueType Font, TrueType Collection フォントです。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

FontName

ユーザが選択したフォントのフォント名 ( FontFullName ) を取得します。

[C#]
public string FontName { get; set; }

プロパティ値
ユーザが選択したフォントのフォント名 ( FontFullName ) を含む文字列。ユーザがダイアログをキャンセルした場合は空白 ( String.empty ) が返されます。

解説
ユーザが選択したフォントのフォント名 ( FontFullName ) が設定されます。この値は Font クラスのコンストラクタの第1パラメータとして使用できます。
ユーザがキャンセルをした時は、空白文字列が設定されます。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

FontNameID

システムに登録されているフォントのフォント情報を取得します。

[C#]
public HashTable FontNameID { get; }

プロパティ値
システムに登録されているフォントの情報を格納するクラス NameID が格納されている HashTable。

解説
FontNameID Hashtable には、フォント名をキーとして NameID クラスが格納されています。

fontdialog.FontNameID["Tahoma"] とすると、Tahoma フォントの NameID クラスを取得することができます。
NameID クラスには、フォントの Copyright, FamilyName, SubFamilyName, UID, FullFontName, Version, PostscriptName, Trademark が格納されています。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

FontNameOnly

FontDialog でユーザが選択できる項目をフォント名だけに制限するかどうかを示す値を取得または設定します。

[C#]
public string FileName { get; set; }

プロパティ値
Bool 値。既定値は false です。

解説
FontNameOnly を true に設定してダイアログを開くと、フォント名以外の選択項目は表示されますが無効になり、ユーザは選択できなくなります。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間 | System.Windows.Forms.Form メンバ

FontPath

ユーザが選択したフォントファイルのパスが設定されます。

[C#]
public string FontPath { get; set; }

プロパティ値
ユーザが選択したフォントのファイル名・パスを含む文字列。ユーザがダイアログをキャンセルした場合は空白 ( String.empty ) が返されます。

解説
ユーザが選択したフォントのファイル名・パスを含む文字列。ユーザがダイアログをキャンセルした場合は空白 ( String.empty ) が返されます。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間 | System.Windows.Forms.FontDialog メンバ

SearchPath

フォントファイルを検索するパスを指定します。

[C#]
public string SearchPath { get; set; }

プロパティ値
フォントファイルを検索するパスを含む文字列。

解説
FontDialog は、ここに指定されているパスに存在するフォントファイル ( *.ttf, *.ttc, *.ac3 ) のフォントをリストアップします。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間 | System.Windows.Forms.FontDialog メンバ

SelectedFont

FontDialog でユーザが選択したフォントを取得または設定します。

[C#]
public Font SelectedFont { get; set; }

プロパティ値
Font オブジェクト。初期値は null です。

解説
FontDialog を開く ( ShowDialog を呼ぶ ) 前にこのプロパティに Font オブジェクトを指定すると、フォントリスト一覧で指定したフォントが選択されます。
指定したフォントがフォントリストに含まれていない場合は、フォントリストの一番上に登録されているフォントが選択されます。

またユーザがフォントを選択してダイアログを終了した場合、選択したフォントがこのプロパティに格納されます。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間

ReadFont

フォントファイルを読み込み、FontDialog インスタンス内にフォント情報を格納します。

[C#]
public bool ReadFont();

解説
FontDialog は、コンストラクタ内でシステムのフォントファイルを読み込み、そのフォント情報をインスタンス内に格納します。
ReadFont メソッドは、この動作を手動で行う事が出来ます。
FontDialog インスタンス生成後、フォントファイルの追加等が行われた場合にこのメソッドを実行します。

必要条件

プラットフォーム : .NET Compact Framework - Windows CE.NET

参照 :
FontDialog クラス | FontDialog メンバ | SmartPDA.Windows.Forms 名前空間


ローカライズ

FontDialog は、ダイアログ内で表示される文字列リソースをシステムから自動的に取得します。このためどの言語の Windows Mobile 上で実行させる場合でも、各国語リソースを用意する必要はありません。

プラットフォームによってシステムに存在しない文字列リソースがある場合は、英語で表示されます。



文字列を各国語で表示させたい場合は以下 ( VS2005 の場合 ) のようにして MUI ファイルを作成する必要があります。

日本語 ( ja-JP : LCID, 411 ) のリソースを作成する
  1. FontDialog.en.rc ファイルを編集し、ファイル名を FontDialog.ja.rc に変更します。
  2. Visual Studio コマンドプロンプトを起動
  3. "c:\Program Files\Microsoft Visual Studio 8\VC\Bin\rc.exe" /l0 /n FontDialog.ja.rc
  4. "c:\Program Files\Microsoft Visual Studio 8\VC\Bin\link.exe" /DLL /NOENTRY /MACHINE:ARM /SUBSYSTEM:windowsce,4.0 /INCREMENTAL:NO /NOLOGO /OPT:REF /OPT:ICF /OUT:"FontDialog.dll.0411.mui" FontDialog.ja.res
  5. MUI ファイル名は、FontDialog.dll.LCID.mui とします。
    LCID は、FontDialog.dll を実行する LCID にします。この LCID はカルチャにより異なりますので、あらかじめ LCID を調べておいてください。
    C# では、System.Globalization.CultureInfo.CurrentCulture.LCID.ToString("x4"); で取得できます。
  6. MUI ファイルは、FileDialog.dll と同じフォルダに配置します。









Tag: ソフトウェア DLL フォントの選択