code: func CreateListBox(parent Control, width, height int, scale int) *ListBox {
  	l := new(ListBox)
  	l.BaseControl = NewBaseControl()
  
  	if height == AutoSize {
  		height = 3
  	}
  	if width == AutoSize {
  		width = 5
  	}
  
  	l.SetSize(width, height)
  	l.SetConstraints(width, height)
  	l.currSelection = -1
  	l.items = make([]string, 0)
  	l.topLine = 0
  	l.parent = parent
  	l.buttonPos = -1
  
  	l.SetTabStop(true)
  	l.SetScale(scale)
  
  	l.onSelectItem = nil
  
  	if parent != nil {
  		parent.AddChild(l)
  	}
  
  	return l
  }
docs: /*
  NewListBox creates a new frame.
  view - is a View that manages the control
  parent - is container that keeps the control. The same View can be a view and a parent at the same time.
  width and heigth - are minimal size of the control.
  scale - the way of scaling the control when the parent is resized. Use DoNotScale constant if the
  control should keep its original size.
  */