YKLook説明書 GUIオブジェクト利用の手引き リスト 前へ   次へ
   

リスト


リストは、選択肢を表示・操作するGUIオブジェクトのひとつです。
詳細については クラス解説 YKLookList をご覧ください。




表示

リストを表示するプログラム例です。

def yki_make_display()
    lis = YKLookList.new( ['項目1','項目2','項目3'] )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lis )
    yk_add( pan )
end

リストオブジェクトを生成した後に選択項目を指定したり追加・削除することもできます。
リストの表示行数を指定できます。この行数を超えるときは、自動的にスクロールバーが表れます。
画像(アイコン)を表示したり、YKLookLabel オブジェクトを指定して文字列と画像(アイコン)を同時に表示することもできます。
選択肢の任意の項目を選択状態にすることもできます。
このクラスのスーパークラスである YKLookComponent のメソッドを使って、フォント・色・有効か無効か・ツールチップ等の属性を指定することもできます。


状態の取得

リストの選択状態を取り出すプログラム例です。
「状態取得」ボタンを押すと、リストの状態を調べます。
メソッド yk_selected_item() を使います。

def yki_make_display()
    lis = YKLookList.new( ['項目1','項目2','項目3'] )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lis )
    pan.yk_add( btn )
    yk_add( pan )
    lis.yk_set_tag( 'list' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    lis = yk_look( 'list' )
    ary = lis.yk_selected_item()
    msg = '選択状態の項目数は ' + ary.size().to_s() + ' 個です'
    yk_show_dialog_message( nil, msg )
end

上の例は、リストを参照するのにタグ名を使った例です。
下の例は、インスタンス変数を使った例です。

def yki_make_display()
    @ls = YKLookList.new( ['項目1','項目2','項目3'] )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( @ls )
    pan.yk_add( btn )
    yk_add( pan )
    yk_var( '@ls' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    ary = @ls.yk_selected_item()
    msg = '選択状態の項目数は ' + ary.size().to_s() + ' 個です'
    yk_show_dialog_message( nil, msg )
end

メソッド yk_selected_index() を使って、インデックスを取得することもできます。


イベント

リストのイベントを処理するプログラム例です。
通常のボタンとは違い、リストのイベントを使うことはあまりありません。

def yki_make_display()
    lis = YKLookList.new( ['項目1','項目2','項目3'] )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lis )
    yk_add( pan )
    lis.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    lis = prm_event.yk_source()
    ary = lis.yk_selected_item()
    msg = ary[0].to_s() + ' が選択されました'
    yk_show_dialog_message( nil, msg )
end

yk_set_listener() の引数に指定するメソッド名は任意ですが、名前の先頭が 'yk' で始まるものは指定できません。

リストのイベントは YKLookEventListClick クラスのオブジェクトです。
詳細については クラス解説 YKLookEventListClick をご覧ください。

イベント処理の基本は YKLook用アプリの製作 > イベント処理 をご覧ください。




   
YKLook説明書 GUIオブジェクト利用の手引き リスト 前へ   次へ


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.