メンバ一覧 SetFocusLogically 前のメソッド 次のメソッド

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

SetFocusLogically メソッド

機能および役割

パラメタで指定された論理項目にフォーカスを移動する。

画面に現れていない論理項目 (スクロールしないと現れない項目) へのフォーカス移動もできる。この場合には、スクロールが自動的になされる。

所属クラス (ツーピーススタイルの場合にこのメソッドが宣言されているクラス)

AppliTech.WorkFrame.FormBase (ローカル)

AppliTech.WorkFrame.FormBase (セントラル)

呼出し方

fB.SetFocusLogically(論理項目インデックス)

(ただし fB は、クラス FormBase のインスタンス)

戻り値の型および意味

(戻り値なし)

パラメタの型および意味

論理項目インデックス (整数型): この論理項目にフォーカスを移動する。

項目のインデックス番号は ItemBase の CpPx プロパティから取得することができる。

例外の発生 (誤った呼出しの際に発生する例外)

「現 FormBase でないので使用できません (SetFocusLogically)」

「入出の指定がカーソル移動不可状態です (SetFocusLogically)」

「SetFocusLogically によるカーソル移動不可状態の項目です」

「パラメタの値 xxxx が異常 (SetFocusLogically)」

「バーチャル項目は指定不可です (SetFocusLogically)」

「Label は指定不可です (SetFocusLogically)」

「RadioButton は指定不可です (SetFocusLogically)」

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

上記の例外は、プロパティ ExceptionOfSetFocusLogically が True の場合だけ発生する。False の場合、例外は無視される。

このフックメソッドを呼び出せるのは、次のフックメソッドの中 (またはその延長線上) だけに限られている。

関連事項

MANDALA V6 の AE_SetFocus に相当するが、次の違いがある。

AE_SetFocus との違いは、 パラメタが論理項目インデックス (Px) であり、セントラル側でも使えること、 および Function ではなく Sub であり、 戻り値によって SetFocus の成否が分かるわけではないことである。

また、AE_SetFocus は、 画面に見えていない項目 (スクロールしないと現れない項目) へのフォーカス移動ができなかったが、SetFocusLogically ならばできる。

使用例

Friend Function Father_GetEvent(ByVal fB As FormBase, ByVal 生徒姓 As String) As Boolean
    ' 家族構成に「父」を追加します。
    Dim index As Integer = fB.De2
    If index < 0 OrElse index > fB.LastDe Then
        Return FormBase.GETEVENT_Deny
    End If
    fB.ClearDe()
    fB.setValue(生徒家族構成管理FormBase.ii_続柄コード, index, "11")
    fB.setValue(生徒家族構成管理FormBase.ii_家族姓, index, 生徒姓)
    fB.RecalcBdDe()
    Dim iB_家族名 As ItemBase = fB.getItemBase(生徒家族構成管理FormBase.ii_家族名, index)
    fB.SetFocusLogically(iB_家族名.CpPx)
    Return FormBase.GETEVENT_Allow
End Function
internal bool Father_GetEvent( FormBase fB, string 生徒姓 ) {
    // 家族構成に「父」を追加します。
    int index = fB.De2;
    if (index < 0 || index > fB.LastDe) {
        return FormBase.GETEVENT_Deny;
    }
    fB.ClearDe();
    fB.setValue(生徒家族構成管理FormBase.ii_続柄コード, index, "11");
    fB.setValue(生徒家族構成管理FormBase.ii_家族姓, index, 生徒姓);
    fB.RecalcBdDe();
    ItemBase iB_家族名 = fB.getItemBase(生徒家族構成管理FormBase.ii_家族名, index);
    fB.SetFocusLogically(iB_家族名.CpPx);
    return FormBase.GETEVENT_Allow;
}
public boolean Father_GetEvent( FormBase fB, String 生徒姓 )
        throws Exception {
    // 家族構成に「父」を追加します。
    int index = fB.De2;
    if (index < 0 || index > fB.LastDe) {
        return FormBase.GETEVENT_Deny;
    }
    fB.ClearDe();
    fB.setValue(生徒家族構成管理FormBase.ii_続柄コード, index, "11");
    fB.setValue(生徒家族構成管理FormBase.ii_家族姓, index, 生徒姓);
    fB.RecalcBdDe();
    ItemBase iB_家族名 = fB.getItemBase(生徒家族構成管理FormBase.ii_家族名, index);
    fB.SetFocusLogically(iB_家族名.CpPx);
    return FormBase.GETEVENT_Allow;
}