エディタの入力
GcFontPickerCellのエディタに直接、フォントの名前を入力することができます。入力された内容が既知のフォント名に一致する場合、セルが自動的に有効な値に変換します。そして、AutoCompleteModeプロパティを利用して入力動作を補助することが可能です。
入力されたフォントの名前が有効でない場合は、Valueプロパティはクリアされます。
|
AutoCompleteModeの値 | 説明 | 例 |
---|---|---|
None | 入力中に内容を自動的に補完しません。入力した内容が有効なフォントの名前の場合、フォーカスがセルから離れたとき、Valueプロパティの値として確定されます。 | |
Suggest | 入力中の内容がフォント一覧の項目に前方一致する場合、ドロップダウンリストを開き該当のフォント項目を選択します。 | |
Append | 入力中の内容がフォント一覧の項目に前方一致する場合、該当のフォント項目をエディタに未確定の候補として表示します。 | |
SuggestAppend | 入力中の内容がフォント一覧の項目に前方一致する場合、ドロップダウンリストを開き該当のフォント項目を選択し、なおかつエディタに未確定の候補として表示します。 |
入力されたフォントの名前が有効でない場合は、Valueプロパティはクリアされます。
ドロップダウンリストから選択
セルのドロップダウンボタンからリストを表示し、フォント一覧から選択することができます。リストには、お気に入りのフォント、最近使用したフォントを表示または非表示するようにカスタマイズすることが可能です。
ドロップダウンリストのカスタマイズについては、「セルのカスタマイズ」をご参照ください。
ドロップダウンリストのカスタマイズについては、「セルのカスタマイズ」をご参照ください。
フォントのフィルタリング
ItemFilterプロパティを使用して、GcFontPickerCellで表示するフォントの対象を絞ることができます。フィルタリングの方法には、文字セット(CharSetsプロパティ)による方法と、フォントタイプ(FontTypesプロパティ)による方法があります。二つの方法を同時に使用してフィルタリングすることも可能です。
文字セットによる方法では、FontCharSet列挙体で定義されているさまざまな文字セット(日本語、中国語、韓国語、西ヨーロッパなど)を選択してフィルタリングすることができます。フォントタイプによる方法では、FilterFontTypes列挙体で定義されているフォントの種類(通常フォント、記号フォント、TrueTypeフォント、OpenTypeフォントなど)を選択してフィルタリングすることができます。いずれの方法でも、複数の選択が可能です。
ItemFilterを設定するには、プロパティウィンドウでItemFilterプロパティを展開してサブプロパティのCharSetsとFontTypesを設定します。
文字セットによる方法では、FontCharSet列挙体で定義されているさまざまな文字セット(日本語、中国語、韓国語、西ヨーロッパなど)を選択してフィルタリングすることができます。フォントタイプによる方法では、FilterFontTypes列挙体で定義されているフォントの種類(通常フォント、記号フォント、TrueTypeフォント、OpenTypeフォントなど)を選択してフィルタリングすることができます。いずれの方法でも、複数の選択が可能です。
ItemFilterを設定するには、プロパティウィンドウでItemFilterプロパティを展開してサブプロパティのCharSetsとFontTypesを設定します。
文字セットでフィルタリングの例
- プロパティウィンドウで、ItemFilter.CharSetsプロパティを選択してコントロールに表示したい文字セット(日本語)を選択します。
- 実行時に、日本語フォントだけがドロップダウンリストに表示されます。
フォントタイプでフィルタリングの例
- プロパティウィンドウで、ItemFilter.FontTypesプロパティを選択してセルに表示したいフォントの種類(記号フォント)を選択します。
- 実行時に、シンボルフォントだけがドロップダウンリストに表示されます。
選択したフォントの取得
セルで選択されたフォントを取得するには、GcFontPickerEditingControl.SelectedFontInfoプロパティを使用します。Valueプロパティを使用します。GcMultiRow.CellValueChangedイベントを使用すると、選択されたフォントが変わったときの値を取得することができます。
次のコードは、GcFontPickerCellで選択したフォントをRichTextBoxで選択されている文字に設定します。
次のコードは、GcFontPickerCellで選択したフォントをRichTextBoxで選択されている文字に設定します。
Imports GrapeCity.Win.MultiRow Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim GcFontPickerCell1 As New PlusPakCell.GcFontPickerCell() GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcFontPickerCell1}) GcMultiRow1.RowCount = 10 End Sub Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing Dim GcFontPickerCell As PlusPakCell.GcFontPickerEditingControl = TryCast(e.Control, PlusPakCell.GcFontPickerEditingControl) If GcFontPickerCell IsNot Nothing Then RemoveHandler GcFontPickerCell.FontChanged, AddressOf Me.Editor_FontChanged AddHandler GcFontPickerCell.FontChanged, AddressOf Me.Editor_FontChanged End If End Sub Private Sub Editor_FontChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcFontPicker1.FontChanged Dim GcFontPickerCell As GrapeCity.Win.Pickers.GcFontPicker = DirectCast(sender, GrapeCity.Win.Pickers.GcFontPicker) ' GcFontPickerCellで選んだフォントをRichTextBoxの選択された文字に設定する(12ポイントサイズ) RichTextBox1.SelectionFont = GcFontPickerCell.SelectedFontInfo.ToFont(12) End Sub
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; private void Form7_Load(object sender, EventArgs e) { PlusPakCell.GcFontPickerCell gcFontPickerCell1 = new PlusPakCell.GcFontPickerCell(); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcFontPickerCell1 }); gcMultiRow1.RowCount = 10; gcMultiRow1.EditingControlShowing += new EventHandler<EditingControlShowingEventArgs>(gcMultiRow1_EditingControlShowing); } private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e) { PlusPakCell.GcFontPickerEditingControl editor = (e.Control as PlusPakCell.GcFontPickerEditingControl); if (editor != null) { editor.SelectedFontChanged -= new EventHandler(editor_SelectedFontChanged); editor.SelectedFontChanged += new EventHandler(editor_SelectedFontChanged); } } private void editor_SelectedFontChanged(object sender, EventArgs e) { GrapeCity.Win.Pickers.GcFontPicker gcFontPickerCell = (sender as GrapeCity.Win.Pickers.GcFontPicker); // gcFontPickerCellで選んだフォントをRichTextBoxの選択された文字に設定する(12ポイントサイズ) richTextBox1.SelectionFont = gcFontPickerCell.SelectedFontInfo.ToFont(12); }