フック一覧 Furigana (項目フック) 前の項目フック 次の項目フック

VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)

Furigana (振り仮名) 項目フックメソッド

役割 (この項目フックメソッドに委託されている処理)

この項目の派生元項目へのデータのインプットの完結を契機として、この項目に振り仮名を設定して表示する。

配置 (ツーピーススタイルの場合にこの項目フックメソッドをどこに配置できるか)

ローカルピースに配置するか、または配置しない。セントラルピースに配置することは禁止されている。

代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)

VB での書き方:
 Friend Function Furigana(パラメタ宣言列) As 型名
 または
 Friend Function 項目略称_Furigana(パラメタ宣言列) As 型名

パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして ByVal Ji_Furigana As String を含めることができる。

C# での書き方:
 internal 型名 Furigana(パラメタ宣言列)
 または
 internal 型名 項目略称_Furigana(パラメタ宣言列)

パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして string Ji_Furigana を含めることができる。

Java での書き方:
 型名 Furigana(パラメタ宣言列)
 または
 型名 項目略称_Furigana(パラメタ宣言列)

パラメタ宣言列の中には、この項目フックメソッド固有のパラメタとして String Ji_Furigana を含めることができる。

Ji_Furigana には、インプットされた文字列が半角のフリガナに変換され設定されている。以前にこの項目の Furigana フックメソッドが呼び出されている場合には、その後にインプットされた分だけが変換され設定される。

なお、フック名としては、Furigana の他に振り仮名を用いることができる。

呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)

この項目に文字または文字列がインプットされたとき。IME を使って漢字などをインプットしている場合には、変換が確定したとき。

戻り値の意味とデフォルト動作 (戻り値による ItemBase への伝言)

この項目に振り仮名として設定すべき値 (数値または文字列)。

デフォルト動作: なし。

代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)

(関係する代行メッセージなし)

使用上のヒントと注意事項

この項目に対応するコントロールは、TextBox でなければならない。

このフックメソッドのパラメタとして指定した一つまたは複数の項目が、派生元項目になる。

もしも複数の派生元項目がある場合、それぞれの派生元の値の変化に応じてこのフックメソッドが呼び出されることになる。

項目に値を設定する方法には、キーボードやマウスで直接インプットする方法 (手入力) と他の項目へのインプットを契機とする Furigana フックメソッドで値を設定する方法 (派生設定) の 2 種類がある。ところで、RelCheck フックメソッドは項目間の関係に関する整合性をチェックするものであるが、これが呼び出されるのは、手入力による場合であって、派生設定の場合には呼び出されないことに注意が必要である。すなわち、Furigana フックメソッドの中で項目の値を派生設定する場合には、もしも RelCheck フックメソッドがあれば、そこで行う関係チェックに矛盾しない値にする必要がある。

関連事項

Check 系の項目フックメソッドの戻り値が 0 の場合 (または Check 系の項目フックメソッドが組み込まれていない場合)、まず関連をもつ項目フックメソッド Furigana (本フックメソッド) が呼び出され、さらにこの後に関係をもつ項目群フックメソッド RelCheck または RelCheckLC が呼び出される。

項目に値を設定する役割を果たす項目フックメソッドには、この他に Derived, DerivedLC, InitVal, InitValLC, SList, Term がある。また、パラメタに ByRef 指定をした Check 系の項目フックメソッドによっても項目に値を設定することができる。

項目に値を設定する役割を果たす項目フックメソッドには、この他に Derived, DerivedLC, InitVal, InitValLC, SList, Term がある。

使用例

' 項目 TokuiNm への漢字などのインプットを契機に項目 TokuiKn にフリガナを表示する。
Friend Function Furigana(ByVal TokuiKn As String, ByVal Ct_TokuiNm As Control, ByVal Ji_Furigana As String) As String
    If Ct_TokuiNm.Text.Trim() = String.Empty Then
        Return Nothing
    ElseIf TokuiKn Is Nothing OrElse TokuiKn.Length = 0 Then
        Return Ji_Furigana
    Else
        Return TokuiKn.TrimEnd() + Ji_Furigana
    End If
End Function ' Furigana
// 項目 TokuiNm への漢字などのインプットを契機に項目 TokuiKn にフリガナを表示する。
internal string Furigana( string TokuiKn, Control Ct_TokuiNm, string Ji_Furigana ) {
    if (Ct_TokuiNm.Text.Trim() == string.Empty) {
        return null;
    }
    else if (TokuiKn == null || TokuiKn.Length == 0) {
        return Ji_Furigana;
    }
    else {
        return TokuiKn.TrimEnd() + Ji_Furigana;
    }
} // Furigana
// 項目 TokuiNm への漢字などのインプットを契機に項目 TokuiKn にフリガナを表示する。
String Furigana( String TokuiKn, Component CT_TokuiNm, String Ji_Furigana ) {
    JTextField wk_TokuiNm = (JTextField) CT_TokuiNm;
    if (wk_TokuiNm.getText().trim().length() == 0) {
        return null;
    } else if (TokuiKn == null || TokuiKn.length() == 0) {
        return Ji_Furigana;
    } else {
        return Strings.TrimEnd(TokuiKn) + Ji_Furigana;
    }
} // Furigana