MESCIUS PlusPak for Windows Forms 12.0J
フォントの設定と取得

GcFontPickerコントロールのフォントの設定と取得方法について、以下に解説します。

エディタの入力
GcFontPicker コントロールのエディタに直接、フォントの名前を入力することができます。入力された内容が既知のフォント名に一致する場合、コントロールが自動的に有効な値に変換します。そして、AutoCompleteMode プロパティを利用して入力動作を補助することが可能です。

AutoCompleteModeの値 説明
None 入力中に内容を自動的に補完しません。入力した内容が有効なフォントの名前の場合、フォーカスがコントロールから離れたとき、Text プロパティの値として確定されます。
Suggest 入力中の内容がフォント一覧の項目に前方一致する場合、ドロップダウンリストを開き該当のフォント項目を選択します。
Append 入力中の内容がフォント一覧の項目に前方一致する場合、該当のフォント項目をエディタに未確定の候補として表示します。
SuggestAppend 入力中の内容がフォント一覧の項目に前方一致する場合、ドロップダウンリストを開き該当のフォント項目を選択し、なおかつエディタに未確定の候補として表示します。

入力されたフォントの名前が有効でない場合は、Text プロパティを最後に入力された有効な値に戻します。Text プロパティをデフォルト値に戻したい場合は、ResetText メソッドを使用します。
ドロップダウンリストから選択
コントロールのドロップダウンボタンからリストを表示し、フォント一覧から選択することができます。リストには、お気に入りのフォント、最近使用したフォントを表示または非表示するようにカスタマイズすることが可能です。

ドロップダウンリストのカスタマイズについては、「コントロールのカスタマイズ」をご参照ください。

フォントのフィルタリング
ItemFilter プロパティを使用して、GcFontPicker コントロールで表示するフォントの対象を絞ることができます。フィルタリングの方法には、文字セット(CharSets プロパティ)による方法と、フォントタイプ(FontTypes プロパティ)による方法があります。2つの方法を同時に使用してフィルタリングすることも可能です。

文字セットによる方法では、FontCharSet 列挙体で定義されているさまざまな文字セット(日本語、中国語、韓国語、西ヨーロッパなど)を選択してフィルタリングすることができます。フォントタイプによる方法では、FilterFontTypes 列挙体で定義されているフォントの種類(通常フォント、記号フォント、TrueTypeフォント、OpenTypeフォントなど)を選択してフィルタリングすることができます。いずれの方法でも、複数の選択が可能です。

ItemFilter を設定するには、プロパティウィンドウで ItemFilter プロパティを展開してサブプロパティの CharSets と FontTypes を設定します。

文字セットでフィルタリングの例

  1. プロパティウィンドウで、ItemFilter.CharSets プロパティを選択してコントロールに表示したい文字セット(日本語)を選択します。

  2. 実行時に、日本語フォントだけがドロップダウンリストに表示されます。


フォントタイプでフィルタリングの例

  1. プロパティウィンドウで、ItemFilter.FontTypes プロパティを選択してコントロールに表示したいフォントの種類(記号フォント)を選択します。

  2. 実行時に、シンボルフォントだけがドロップダウンリストに表示されます。


選択したフォントの取得
コントロールで選択されたフォントを取得するには、SelectedFontInfo プロパティを使用します。選択されたフォントが変わったときはSelectedFontChanged イベントが発生します。次のコードは、GcFontPicker コントロールで選択したフォントをリッチテキストボックスで選択されている文字に設定します。

Private Sub GcFontPicker1_SelectedFontChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcFontPicker1.SelectedFontChanged
    ' GcFontPicker コントロールで選んだフォントをRichTextBoxの選択された文字に設定する(12ポイントサイズ)
    RichTextBox1.SelectionFont = GcFontPicker1.SelectedFontInfo.ToFont(12)
End Sub
private void gcFontPicker1_SelectedFontChanged(object sender, EventArgs e)
{
    // gcFontPicker コントロールで選んだフォントをRichTextBoxの選択された文字に設定する(12ポイントサイズ)
    richTextBox1.SelectionFont = gcFontPicker1.SelectedFontInfo.ToFont(12);
}

関連トピック

 

 


© MESCIUS inc. All rights reserved.