フォーカス

Q1
フォーカスの当たっているオブジェクトを強調表示するには

A1
[解決方法]
Windows Mobile 搭載機種上で動作させた場合、オブジェクトにフォーカスが当たっても
表示に変化がないために、フォーカス位置が確認しづらい場合があります。

フォーカスの位置を確認するための解決方法として、OnGetFocusイベントハンドラ内で
現在フォーカスの当たっているオブジェクトを判断し、Labelなどを利用してフォーカスの
当たっているオブジェクトを強調させる方法があります。




[サンプルコード]
Form1{
    :
    :
    /* ボタンの背後に表示するラベル */
    Label Label3 {
        X = 149;
        Y = 122;
        Width = 75;
        Height = 18;
        Visible = $FALSE;
        BgColor = $BLACK;
        TabIndex = 1;
    }

    Function OnGetFocus( e ) {
        flg = e.from.name;
        Label2.Value = flg;

        /* e.from でイベント発生元のオブジェクトが判断出来ます。
           classプロパティにて、オブジェクトのクラスを判断します。*/

        if(e.from.class == "Button" ) {

            /* ボタンのサイズより大きめにLabel3を表示します */
            Label3.Visible = $TRUE;
            Label3.X = e.from.X -1;
            Label3.Y = e.from.Y - 1;
            Label3.Width = e.from.Width + 2;
            Label3.Height = e.from.Height + 2;
        }else{
            Label3.Visible =$FALSE;
        }
    }
}
サンプルソースは、「フォーカス強調サンプル (mobFocusSample.zip)」をご参照ください。

管理番号:BMP_C001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ