Older Newer
Fri, 27 Dec 2019 14:08:23 . . . . SyneRyder [Reformat code examples to fit eBook screens]


Changes by last author:

Added:
= COMBOBOX =

== Syntax ==

ctl[n]: COMBOBOX(Class Specific Properties), Other Properties

== Description ==

Comboboxes are good for drop-down lists, also known as "pull-down menus". The items in the listbox are specified in the Text string, separated with the new-line escape sequence (\n). Each item has a unique integer value, starting at 0 and increasing.

== Class Specific Properties ==

:DISABLENOSCROLL

::Used in conjunction with HSCROLL or VSCROLL; if the item amount is less than needed to require scrolling, the scrollbar is disabled (instead of it being removed).

:EXTENDEDUI

::List drops down when right and down arrow keys are pressed. By default, arrow keys select the next item without dropping down the list.

:INTEGRALHEIGHT

::The height of the listbox is resized according to the items' height. (default)

:LOWERCASE

::Items in the combobox are displayed in lowercase characters.

:NOINTEGRALHEIGHT

::The height of the listbox is resized according to the Size property, even if items are partially displayed.

:SORT

::Sorts the items in alphabetical order. The values of the items are recomputed - the top item is always 0 and continues with 1, 2, etc.

:UPPERCASE

::Items in the combobox are displayed in uppercase characters.

:VSCROLL

::If necessary, a vertical scrollbar is activated.

== Other Properties ==

:Text

::Defines the combobox's text contents. (default = no text)

:Val

::Assigns a value to the combobox and activates the item. (default = -1)

== Example ==

<code>

ctl[0]: COMBOBOX(VSCROLL, DISABLENOSCROLL),

Text="U.S.A.\nGermany\nRussia\n"

"Brazil\nSpain\nEgypt", Val=1,

Size=(*,60)

</code>

== COMBOBOX usage example ==

<code>

%ffp

ctl[0]: COMBOBOX(VSCROLL),

"Algorithm 1\nAlgorithm 2\n"

"Algorithm 3\Algorithm 4", Val=0,

Size=(130,60), Action=PREVIEW

ForEveryTile:

{

// Loop through all rows

for (y = y_start; y &lt; y_end; y++)

{

// Loop through all columns

for (x = x_start; x &lt; x_end; x++)

{

switch (ctl(0))

{

case 0: //Algorithm 1

... Your code

break;

case 1: //Algorithm 2

... Your code

break;

case 2: //Algorithm 3

... Your code

break;

case 3: //Algorithm 4

... Your code

break;

}

}

}

// Tile has been completely processed

return true;

}

</code>

== Notes ==

When using the INTEGRALHEIGHT and Size=(x,y) properties, the y value refers to the height of the list displayed after the combobox is clicked. The height is automatically rounded-off to display a whole number of textlines. You cannot extend the height of the combobox beyond the length of the combobox list (FilterMeister will round down values that are too high). This behaviour can be overridden using the NOINTEGRALHEIGHT property.

== See Also ==

LISTBOX

== Comments ==

Everyone can add their comments about their experiences with this function here. Tips for using it are welcome, too.