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);
   }
}