CWinCtrlListbox¶
スクリプト: LISTBOX
リストボックスのためのコントロールです。
コンテンツを複製し、それを一行とします。
コンテンツの数はメモリが許す限り自由に設定可能です。
垂直方向にコンテンツが並んでいるリストボックスだけでなく、水平方向にも並べることも可能です。
CWindowBase に届くコールバック
固有の関数/プロパティ
リストボックスのサイズとなります。 sizeプロパティと同等です。
リストボックスの仮想画面のサイズです。 コンテンツリスト内の全ての高さの総和になります。
リストボックスが仮想画面のどこをポイントしているかを表しています。 値を設定すると一気に移動します。 滑らかにアニメーションさせながら移動させたいときは、 :meth:`setSmoothOffset<CWinCtrlListBox.setSmoothOffset>` を使ってください。
スワイプ中かどうか判定します。
0.25の速度で、 :meth:`setSmoothOffset<CWinCtrlListBox.setSmoothOffset>` したのと同じ振る舞いになります。
setSmoothOffsetによるスクロールアニメーションかどうかを取得できます。
特定のコンテンツが指定したアンカー位置に沿って表示されるようなオフセットを取得できます。
リストボックスが縦方向の時は次の通りです。
e_Anchor
位置
Bottom,LeftBottom,RightBottom
コンテンツが一番下に来るようなオフセット値
Top,LeftTop,RightTop
コンテンツが一番上に来るようなオフセット値
Center,Left,Right
コンテンツが真ん中に来るようなオフセット値
リストボックスが横方向の時は次の通りです。
e_Anchor
位置
Left,LeftBottom,LeftTop
コンテンツが一番左に来るようなオフセット値
Right,RightBottom,RightTop
コンテンツが一番右に来るようなオフセット値
Center,Top,Bottom
コンテンツが真ん中に来るようなオフセット値
使用例
override public void onUpdate() {
// get control
CWinCtrlListbox lbFriends = find<CWinCtrlListbox>(LISTBOX_Friends);
// set list box contents num.
lbFriends.resize(10);
// Refresh the status in a list box (In this case, 10 lines will be updated.)
for (int i = 0;i < lbFriends.Count;++i) {
// Get a single line of list box content.
CWinContents contents = lbFriends.getContentsFromIndex(i);
//Get BUTTON(Name)
CWinCtrlButton btnName = contents.find<CWinCtrlButton>(BUTTON_Name);
//Get ICON(Icon)
CWinCtrlIcon icnName = contents.find<CWinCtrlIcon>(ICON_Icon);
}
}