COMBOBOXEN

COMBOBOX #handle.ext, array$(), eventHandler, xPos, yPos, wide, high

Beschrijving:
Comboboxen lijken veel op listboxen, maar zij werden ontworpen om ruimte op het scherm te besparen.
In plaats van het tonen van een volledige lijst van items, tonen zij slechts een
geselecteerde. Wanneer de gebruiker op de checkbox pijlknop (aan de rechterkant) klikt,
verschijnt een lijst (soort pull down). Het is dan mogelijk om de mogelijke selecties door te bladeren,
en te selecteren indien gewenst. Wanneer de selectie wordt gemaakt,
wordt de nieuwe selectie benadrukt (krijgt de focus).
De gebruiker kan in het tekstbox deel bovenop combobox typen,
in plaats van een item uit de dropdown lijst te kiezen.
Het programma kan de inhoud van dit gebied ontvangen en verwerken.
Combobox wordt geladen met een verzameling van strings van een gespecificeerde
string-array (serie of rijtje), en een bevel tot herladen werkt de inhoud van combobox bij
naar de inhoud van de het rijtje (de array) wanneer de inhoud van de array is veranderd.

#handle.ext
Het #handle deel van dit item moet het zelfde zijn als de handle van het venster
dat combobox bevat. Het .ext deel moet uniek zijn zodat het programma bevelen
kan verzenden naar combobox en informatie later er van kan ontvangen.

array$()
Dit is de naam van de serie (moet een string array zijn) die de inhoud van combobox bevat.
Zorg ervoor dat u de rij met strings geladen heeft alvorens het venster te openen.
Als enige tijd later het noodzakelijk wordt om de inhoud van combobox te veranderen,
verandert u eenvoudig de inhoud van het rijtje en geeft een bevel voor
het herladen (RELOAD) naar de combobox. De index cijfers van de items in de array
hoeven niet overeen te komen met de index cijfers van diezelfde items in de control (combobox).
De control wordt geladen vanuit de array, en de eerste index die in de control wordt gebruikt is "1".
Er worden geen lege strings geladen in de control, waardoor alleen array items die tekst bevatten worden geladen.

eventHandler Dit is het aftak etiket of de subroutine waar de uitvoering begint
wanneer de gebruiker een item van de combobox door erop te klikken selecteert.
Zie ook: Controls and Events

xPos & yPos
Deze co÷rdinaten specificeren de afstand in x en y (in pixel) van combobox vanaf
de linker boven (upper-left) hoek van het venster.

wide & high
Deze parameters bepalen de breedte en de hoogte (in pixels) van de combobox.
De "hoogte" verwijst in dit geval naar de lengte van de selectielijst
wanneer de knop van combobox is ingedrukt, niet aan de grootte van het aanvankelijke selectievenster,
dat van de grootte van font afhankelijk is.

Hier zijn de commando's voor combobox:

#handle.ext "!contents"
Dit commando plaatst de inhoud van het gebiedsdeel van de combobox naar de string die staat na het ! teken.

#handle.ext "contents? text$"
Dit neemt de inhoud van het tekstgebied van de combobox en geeft die
aan de variabele genoemd text$ terug.

#handle.ext "locate x y width height"
Dit herpositioneert de combobox in het venster. Dit is alleen effectief wanneer combobox
binnen vensters van het type "Window" of "dialog" is geplaatst.
Combobox zal zijn grootte en plaats niet bijwerken voordat een REFRESH bevel wordt verzonden naar het venster.
Zie het Resize.bas- voorbeeldprogramma.

#handle.ext "font facename pointSize"
Hiermee wordt het font van de control aan het gespecificeerde lettertype en grootte ge´nitieerd.
Als een nauwkeurige gelijke lettertype niet kan worden gevonden,
dan zal Liberty BASIC proberen om een dichtstbijzijnde gelijke te matchen,
waarbij grootte belangrijker is dan hoe het eruit ziet (gezicht.)
Voor meer info over het specificeren van lettertypes lees How to Specify Fonts
Example:
#handle.ext "font times_new_roman 10"

#handle.ext "select string"
Dit selecteert het item dat gelijk is als "string" en werkt de vertoning bij.
Merk op dat "string" een geldig item van de combobox array moet zijn.
Als een variabele in dit commando moet worden gebruikt, moet het buiten de aanhalingstekens worden geplaatst,
met in acht neming van de spaties:
#handle.ext "select "; string$

#handle.ext "selectindex i"
Dit selecteert het item bij indexpositie i en werkt de display bij.
Merk op dat "i" een geldig indexgetal voor de combobox array (rijtje) moet zijn.
Als een variabele in dit commando moet worden gebruikt, moet het buiten de aanhalingstekens worden geplaatst,
met in acht neming van de spaties:
#handle.ext "selectindex "; i

#handle.ext "selection? selected$"
Dit plaatst de geselecteerde string in veranderlijke selected$.
Als er geen geselecteerd item is, dan zal selected$ een string van nul lengte (een lege string) zijn.

#handle.ext "selectionindex? index"
Dit plaatst de index van de geselecteerde string in de variabele die index heet.
Als er geen geselecteerd item, dan zal de index 0 worden.

#handle.ext "reload"
Dit zal listbox met de huidige inhoud van zijn array herladen en zal de display bijwerken.

#handle.ext "setfocus"
Dit zorgt ervoor dat combobox de input focus krijgt. Dit betekent dat elke toets aanslag
naar de combobox wordt verder geleid

#handle.ext "locate x y width height"
Dit herplaatst de combobox control binnen het venster.
Dit commando is alleen effectief als de control binnen een venster van het type "Window" is geplaatst
De Combobox control zal zijn grootte en plaats niet eerder bijwerken voordat
een REFRESH bevel wordt verzonden naar het venster.
Zie het Resizer.bas- voorbeeldprogramma.

#handle.ext "font facename pointSize"
Het font van de combobox control krijgt het gespecificeerde lettertype en grootte.
Als een nauwkeurige gelijke lettertype niet kan worden gevonden,
dan zal Liberty BASIC proberen om een dichtstbijzijnde gelijke te matchen,
waarbij grootte belangrijker is dan hoe het eruit ziet (gezicht.)
Voor meer info over het specificeren van lettertypes lees How to Specify Fonts
Example:
print #handle.ext, "!font times_new_roman 10"

#handle.ext "enable"
Dit zorgt ervoor dat er toegang tot de control is.

#handle.ext " disable"
Dit maakt de control inactief , de knop wordt licht grijs.

#handle.ext " show"
Dit zorgt er voor dat de control zichtbaar wordt.

#handle.ext " hide"
Dit verbergt de control en maakt het onzichtbaar.

 

Usage:
'combobox demo with branch label event handler

nomainwin
a$(1) = "one"
a$(2) = "two"
a$(3) = "three"
a$(4) = "four"

combobox #win.combo, a$(),[doCombo],10,10,120,200
open "Combobox Demo" for window as #win
#win "trapclose [Quit]"
#win.combo "selectindex 1"

wait

[Quit] close #win:end

[doCombo]
#win.combo "selection? sel$"
notice "You chose ";sel$
wait

'combobox demo with subroutine event handler
nomainwin
a$(1) = "one"

a$(2) = "two"
a$(3) = "three"
a$(4) = "four"

combobox #win.combo, a$(),doCombo,10,10,120,200

open "Combobox Demo" for window as #win
#win "trapclose Quit"
#win.combo "selectindex 1"

wait

sub Quit handle$
 close #handle$
 end
 end sub

sub doCombo handle$
#handle$ "selection? sel$"
notice "You chose ";sel$
end sub

For information on creating controls with different background colors,
see Colors and the Graphical User Interface.