In file include/csws/cslistbx.h:

## class csListBox : public csComponent

> List box class is a rectangle which contains a number of list box items

## Inheritance:

### Public Methods

csListBox(csComponent *iParent, int iStyle = CSLBS_DEFAULTVALUE, csListBoxFrameStyle iFrameStyle = cslfsThickRect)
  Create input line object
virtual void Draw()
  Draw the list box
csComponent* ForEachItem(bool (*func) (csComponent *child, void *param), void *param = NULL, bool iSelected = true)
  For each listbox item call a function with a optional arg Function returns the first child on which func returnes 'true'
virtual bool HandleEvent(csEvent &Event)
  Handle external events and generate timeouts
void PlaceItems(bool setscrollbars = true)
  Find a place for each menu item
virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)
  Resize child items on parent window resize

### Protected Methods

void MakeItemVisible(csComponent *item)
  Make a listbox item visible (same as cscmdListBoxMakeVisible)

### Private Fields

int BorderWidth
  List box frame width and height
int deltax
  Horizontal scrolling position & maximum
csComponent* first
  First list box item
csComponent* firstvisible
  First visible list box item
csListBoxFrameStyle FrameStyle
  List box frame style
csScrollBarStatus hsbstatus
  Status of both scroll bars
csScrollBar* hscroll
  The scroll bars
int ListBoxStyle
  List box style
bool selstate
  Selection state in mouse capture mode (initialized on MouseDown)
int vertcount
  Number of items that fits vertically

### Inherited from csComponent:

### Public Fields

csApp* app
csRect bound
csVector clipchildren
csComponent* focused
unsigned int id
csComponent* next
csComponent* parent
csComponent* top

### Public Methods

void Box(int xmin, int ymin, int xmax, int ymax, int colindx)
void Center(bool iHoriz = true, bool iVert = true)
virtual void Close()
virtual void Delete(csComponent *comp)
void DeleteAll()
void DeleteClipChild(csComponent *clipchild)
void Drag(int x, int y, int DragMode)
void FindMaxFreeRect(csRect &area)
virtual void FixPosition(int &newX, int &newY)
virtual void FixSize(int &newW, int &newH)
csComponent* ForEach(bool (*func) (csComponent *child, void *param), void *param = NULL, bool Zorder = false)
csComponent* GetChild(int find_id)
csComponent* GetClipParent()
int GetColor(int Index)
csComponent* GetDefault()
int GetDragStyle()
csComponent* GetFocused()
int GetFont()
int GetState(int mask)
virtual char* GetText()
virtual void GetText(char *oText, int iTextSize)
csComponent* GetTop()
void GlobalToLocal(int &x, int &y)
bool HandleDragEvent(csEvent &Event, int BorderW, int BorderH)
virtual void Hide()
virtual void Insert(csComponent *comp)
void InsertClipChild(csComponent *clipchild)
void Invalidate(csRect &area, bool IncludeChildren = false)
void Invalidate(bool IncludeChildren = false)
void Invalidate(int xmin, int ymin, int xmax, int ymax, bool IncludeChildren = false)
void Line(float x1, float y1, float x2, float y2, int colindx)
void LocalToGlobal(int &x, int &y)
virtual bool Maximize()
virtual csComponent* NextChild(csComponent *start = NULL, bool disabled = false)
virtual csComponent* NextControl(csComponent *start = NULL)
virtual csComponent* NextGroup(csComponent *start = NULL)
void ObliqueRect3D(int xmin, int ymin, int xmax, int ymax, int cornersize, int darkindx, int lightindx)
void Pixel(int x, int y, int colindx)
virtual bool PostHandleEvent(csEvent &Event)
virtual bool PreHandleEvent(csEvent &Event)
virtual csComponent* PrevChild(csComponent *start = NULL, bool disabled = false)
virtual csComponent* PrevControl(csComponent *start = NULL)
virtual csComponent* PrevGroup(csComponent *start = NULL)
void Rect3D(int xmin, int ymin, int xmax, int ymax, int darkindx, int lightindx)
void Redraw()
virtual bool Restore()
bool Select()
void* SendCommand(int CommandCode, void *Info = NULL)
void SetApp(csApp *newapp)
void SetClipRect()
void SetClipRect(int xmin, int ymin, int xmax, int ymax)
void SetColor(int Index, int Color)
bool SetDragRect(int xmin, int ymin, int xmax, int ymax)
void SetDragStyle(int iDragStyle)
bool SetFocused(csComponent *comp)
void SetFont(int iFont, bool IncludeChildren = false)
void SetMouse(csMouseCursorID Cursor)
void SetPalette(int *iPalette, int iPaletteSize)
void SetPalette(int iPaletteID)
void SetPos(int x, int y)
void SetSize(int w, int h)
void SetSizingCursor(int dragtype)
virtual void SetState(int mask, bool enable)
virtual void SetSuggestedSize(int dw, int dh)
virtual void SetText(char *iText)
bool SetZorder(csComponent *comp, csComponent *below)
virtual void Show(bool focused = false)
void Sprite2D(csSprite2D *s2d, int x, int y)
void Sprite2D(csSprite2D *s2d, int x, int y, int w, int h)
virtual void SuggestSize(int &w, int &h)
void Text(int x, int y, int fgindx, int bgindx, char *s)
int TextHeight()
int TextWidth(char *text)

### Public

### Protected Fields

csRect clip
csComponent* clipparent
csRect dirty
static csRect dragBound
int DragStyle
static int dragX
int Font
bool Maximized
csRect OrgBound
bool originalpalette
int* palette
int state
char* text

### Protected Methods

void Clip(csObjVector &rect, csComponent *last)
void ClipAlienChildren(csObjVector &rect, csComponent *child)
void DrawUnderline(int iX, int iY, char *iText, int iUnderlinePos, int iColor)
static void PrepareLabel(char *iLabel, char * &oLabel, int &oUnderlinePos)
static int WordLeft(char *iText, int StartPos)
static int WordRight(char *iText, int StartPos)

### Inherited from csBase:

## Documentation

> List box class is a rectangle which contains a number of list box items. List box can have only one selected item at a time (if CSLBS_MULTIPLESEL style is not specified) or have multiple selected items at a time (if that style flag is set).

`int ListBoxStyle`
  List box style

`csListBoxFrameStyle FrameStyle`
  List box frame style

`int BorderWidth`
  List box frame width and height

`csComponent* first`
  First list box item

`csComponent* firstvisible`
  First visible list box item

`bool selstate`
  Selection state in mouse capture mode (initialized on MouseDown)

`int vertcount`
  Number of items that fits vertically

`csScrollBar* hscroll`
  The scroll bars

`csScrollBarStatus hsbstatus`
  Status of both scroll bars

`int deltax`
  Horizontal scrolling position & maximum

`csListBox(csComponent *iParent, int iStyle = CSLBS_DEFAULTVALUE, csListBoxFrameStyle iFrameStyle = cslfsThickRect)`
  Create input line object

`virtual bool HandleEvent(csEvent &Event)`
  Handle external events and generate timeouts

`virtual void Draw()`
  Draw the list box

`void PlaceItems(bool setscrollbars = true)`
  Find a place for each menu item

`virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)`
  Resize child items on parent window resize

`csComponent* ForEachItem(bool (*func) (csComponent *child, void *param), void *param = NULL, bool iSelected = true)`
  For each listbox item call a function with a optional arg Function returns the first child on which func returnes 'true'

`void MakeItemVisible(csComponent *item)`
  Make a listbox item visible (same as cscmdListBoxMakeVisible)

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de