LISTBOXEX

C#: CWinCtrlListboxEx

This is the control for the list box.

It has contents of the same number as the number of rows.

It can have a lot of contents as long as the remaining memory.

Not only the list box that is lined with content in the vertical direction , it is possible to arrange also in the horizontal direction .

Differences between the LISTBOX is to measure the content size automatically.

If the content is arranged in a vertical direction, it automatically calculate only height.

If the content is arranged in a horizontal direction, it automatically calculate only width.

This control is scrollable control.

if you set SCROLL_LOCK to STYLE property, the window system calls onDrag when you drag these controls.And you can get a dragged direction of these controls.Even if you set DRAG to STYLE property, these controls do not affect anything.

LISTBOXEX(Control name) {

Property 1;

Property 2;

:

:

Property n

};

Example

WINDOW(255_000_00001) {
  STYLE = NOTITLEBAR|NOFRAME|ANCHOR_CENTER;
  POSITION = 0,100;
  SIZE = 512,256;
};

$w = 400;
LISTBOXEX(List) {
  ID = 001_100_00000;
  POSITION = 0,0;
  STYLE = ANCHOR_BOTTOM;
  SIZE = $w,{100} - 16;
  CONTENTS = {
    CHECKBOX(IP) {
      ID = 001_000_00020;
      CAPTION = 001_000_00030;
      STYLE = ANCHOR_LEFTTOP;
      POSITION = 0,0;
      SIZE = $w,48;
    };
  };
  LINE_SPACE = 4;
  GROUP = SCROLLBAR(List);
};
SCROLLBAR(List) {
  ID = 001_100_00010;
  STYLE = ANCHOR_LEFTTOP;
  POSITION = 4,16;
  SIZE = 0,-16 * 2;
};
_images/LISTBOXEX.png

Property

Default value

STYLE = ITEM_STACK_V; //Arranged in the vertical direction
COLOR = 1,1,1,1;
CAPTION_COLOR = 1,1,1,1;
SE_ID = scrollSE;

ID = Control ID

Define the control ID.

ID = 001_000_00010;

Note

If you don’t set the ID, it generates automatically from the hash value.

POSITION = X, Y

Determine the display position. The base position changes according to the anchor in STYLE.

POSITION = 32,{50} + 64;

Coordinates can be specified as a percentage .

SIZE = width,height

It changes the display size. If it is omitted , or , you specify 0 ,it gets the size from the texture parts.

SIZE = 512,512;       //512x512
SIZE = {50} - 100,{50} + 100; //screen width * 0.5 - 100,screen height * 0.5 + 100

Size can be specified as a percentage .

CONTENTS_SIZE = width, height

Set the size of the line.

If the content is arranged in a vertical direction , the height of the content is automatically calculated. Therefore this property affects only the width of the content .

On the other hand,if the content is arranged in a horizontal direction , the width of the content is automatically calculated. Therefore this property affects only the height of the content .

Otherwise, it is the same as the LISTBOX.

// only vertical direction to scroll
SIZE = 400,400;               //display size
CONTENTS_SIZE = 400,40;       //virtual screen size

// Scroll to the left and right direction
SIZE = 400,400;               //display size
CONTENTS_SIZE = 800,40;       //virtual screen size

Contents size can be specified as a percentage .

CONTENTS = { Control define; … }

Set controls to define a line of LISTBOX.

A position of the controls place with a relative from the position of the LISTBOX.

It is possible to include any type of control .

// It is also possible to put the list box in the list box
CONTENTS = {
      BUTTON(A) {
          :
      };
      CHECKBOX(B) {
          :
      };
      LISTBOX(C) {
          :
      };

How to access to a particular control of the content list from C#, please refer to here.

Note

The coordinates and the size percentage of the control in the content are calculated from the size of the list box.

Note that it is not a window size.

LINE_SPACE = line spacing pixel value

It defines the gaps between the content.

LINE_SPACE = 8;       //Put an 8-dot space.

You cannot specify a percentage.

GROUP = SCROLLBAR Control ID,…

If you set scroll controls to the GROUP property,it display scroll bars in conjunction with the listbox.

It should be careful not to set to CONTENTS.

It is also possible to assign multiple scrollbars.

GROUP = SCROLLBAR(Horizon),SCROLLBAR(Vertical);

COLOR = R,G,B,A

It is possible to set the color values . By changing color , it affects all of the controls that are included .

Set R, G, B in the range of 0…2 .

If you set a value in excess of one , each color component can double the brightness.

Set A in the range of 0…1 .

SE_ID = SE_ID

When the head of the content has changed during the scroll , set the ID of the sound effect. The default is “scrollSE”. if it is 0 , sound should not be.

STYLE = Flag0|Flag1|..|Flagn

Configurable unique styles in the list box are like the following .

Listbox control flag

Description

ITEM_STACK_V

List box arranged in the vertical direction.

ITEM_STACK_H

List box arranged in the vertical direction.

NOBOUNCES

When you’ve stopped it to scroll ,it is stopped even if there are still the momentum.

SCROLL_UNLOCK

Enable the scroll of contents.

SCROLL_LOCK

Disable the scroll of contents.

You can set the display anchor of control.

Display position anchor flag

Description

ANCHOR_DEFAULT

Set the anchor position in the upper left

Same as ANCHOR_LEFTTOP

The default control center position is set to BASE_LEFT.

ANCHOR_LEFTTOP

Set the anchor position in the upper left

The default control center position is set to BASE_LEFT.

ANCHOR_LEFT

Set the anchor position to the left.

And vertical centering

The default control center position is set to BASE_LEFT.

ANCHOR_LEFTBOTTOM

Set the anchor position to the left.

Located along the lower edge

The default control center position is set to BASE_LEFTBOTTOM.

ANCHOR_TOP

Set the anchor position to the upper side

Centering at lateral.

The default control center position is set to BASE_TOP.

ANCHOR_CENTER

Set the anchor position in the center of the window

The default control center position is set to BASE_CENTER.

ANCHOR_BOTTOM

Set the anchor position at the bottom

Centering at lateral.

The default control center position is set to BASE_BOTTOM.

ANCHOR_RIGHTTOP

Set the anchor position in the upper right

The default control center position is set to BASE_RIGHTBOTTOM.

ANCHOR_RIGHT

Set the anchor position to the right

And vertical centering

The default control center position is set to BASE_RIGHT.

ANCHOR_RIGHTBOTTOM

Set the anchor position to the right

Located along the lower edge

The default control center position is set to BASE_RIGHTBOTTOM.

You can set the center position of the control.

Base position change flag

Description

BASE_DEFAULT

It varies depending on the anchor flag .

If you do not specifically set , this value is set .

See the description of each anchor flag

BASE_LEFTTOP

Set the center position to the upper left side.

BASE_LEFT

Set the center position to the left side.

and vertical centering.

BASE_LEFTBOTTOM

Set the center position to the bottom left side.

BASE_TOP

Set the center position to the upper side.

and horizontal centering

BASE_CENTER

Set the center position to the center.

BASE_BOTTOM

Set the center position to the bottom side.

And horizontal centering.

BASE_RIGHTTOP

Set the center position to the upper right side.

BASE_RIGHT

Set the center position to the right side.

and horizontal centering

BASE_RIGHTBOTTOM

Set the center position to the bottom right side.

Style that limits the function as follows .

Function limit style

Description

HIDE

Hide.

DISABLE

It is not able to pressing the control. And the control color darken.

NOHIT

It is not able to pressing the control.

ITEM_STACK_V

List box arranged in the vertical direction.

ITEM_STACK_H

List box arranged in the vertical direction.

NOBOUNCES

When you’ve stopped it to scroll ,it is stopped even if there are still the momentum.

SCROLL_UNLOCK

Enable the scroll of contents.

SCROLL_LOCK

Disable the scroll of contents.