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

ポップアップリスト


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




表示

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

def yki_make_display()
    lis = YKLookPopupList.new( ['項目1','項目2','項目3'] )
    lis.yk_set_preferred_size( [160, nil], [160, 40] )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lis )
    yk_add( pan )
end

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


状態の取得

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

def yki_make_display()
    lis = YKLookPopupList.new( ['項目1','項目2','項目3'] )
    lis.yk_set_preferred_size( [160, nil], [160, 40] )
    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' )
    obj = lis.yk_selected_item()
    msg = '選択状態の項目は ' + obj.to_s() + ' です'
    yk_show_dialog_message( nil, msg )
end

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

def yki_make_display()
    @ls = YKLookPopupList.new( ['項目1','項目2','項目3'] )
    @ls.yk_set_preferred_size( [160, nil], [160, 40] )
    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 )
    obj = @ls.yk_selected_item()
    msg = '選択状態の項目は ' + obj.to_s() + ' です'
    yk_show_dialog_message( nil, msg )
end

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


イベント

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

def yki_make_display()
    lis = YKLookPopupList.new( ['項目1','項目2','項目3'] )
    lis.yk_set_preferred_size( [160, nil], [160, 40] )
    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()
    obj = lis.yk_selected_item()
    msg = obj.to_s() + ' が選択されました'
    yk_show_dialog_message( nil, msg )
end

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

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

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




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


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.