LISTBOX #handle.ext,array$(),eventHandler,x,y,wide,high

LISTBOX #handle.ext, array$(), eventHandler, x, y, wide, high

  


Beschrijving:
Listboxen worden toegevoegd aan vensters om een manier van tonen van een lijstselectie 
in programma's mogelijk te maken. Listbox wordt geladen met een verzameling 
van strings van een gespecificeerde string array, en een commando RELOAD 
werkt de inhoud van listbox van de array bij wanneer de inhoud van de array is veranderd. 
Gebruik het RELOAD bevel  ook om de listbox te verfrissen wanneer het display er niet
behoorlijk uitziet nadat u gebruik heeft gemaakt van STYLEBITS of FONT commando's.

#handle.ext  
Het #handle deel van dit statement moet hetzelfde uitzien als #handle van het venster 
dat de listbox bevat.  Het ".ext" deel moet uniek zijn zodat het programma commando's
naar listbox kan sturen en later weer informatie ervan terug krijgt.

array$()  
Dit is de naam van de array (het moet een stringarray zijn) die de inhoud van listbox bevat.
Zorg ervoor dat u de array met strings inlaadt alvorens het venster te openen. 
Als het later  noodzakelijk is om de inhoud van listbox te veranderen, 
verander dan eenvoudig de inhoud van de array en zendt een opdracht 
voor het herladen (RELOAD) naar de listbox. 
De index cijfers van de items in de array hoeven niet overeen te komen met de 
index cijfers van diezelfde items in de control (listbox). 
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 listbox door erop te dubbelklikken selecteert. 
Er is wel selectie wanneer slechts een single klik  op een item wordt gegeven,
maar er is geen event dus het programma takt NIET af  
tenzij natuurlijk het "singleclickselect" bevel aan listbox was gegeven. 
Zie ook:  Controls and Events

x, y 
Dit is de afstand in x en y (in pixels) van listbox vanaf de linkerbovenhoek van het venster. 

wide, high  
Dit specificeert de breedte en de hoogte (in pixels) van listbox.


Hier zijn de commando's voor listbox:

print #handle.ext, "select string" Dit selecteert het item dat gelijk is als "string" en werkt de display bij. Als een variabele in dit commando moet worden gebruikt, moet het buiten de aanhalingstekens worden geplaatst, met in acht neming van de spaties: print #handle.ext, "select "; string$ print #handle.ext, "selectindex i" Dit selecteert het item op indexpositie i en werkt de display bij. Merk op dat "i" een geldig indexgetal voor de listbox 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: print #handle.ext, "selectindex "; i print #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. print #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 index 0 worden. print #handle.ext, "reload" Dit zal listbox met de huidige inhoud van zijn array herladen en zal de display bijwerken. print #handle.ext, "locate x y width height" Dit herplaatst de listbox 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 locatie niet eerder bijwerken dan wanneer er een REFRESH bevel wordt verzonden naar het venster. Zie het RESIZE.BAS - voorbeeldprogramma. print #handle.ext, "font facename pointSize" Het font van de listbox krijgt het gespecificeerde lettertype en grootte. Als een exact 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 (uiterlijk) Voor meer informatie over het specificeren van lettertypes lees How to Specify Fonts Voorbeeld: print #handle.ext, "!font times_new_roman 10" print #handle.ext, "singleclickselect" Dit vertelt Liberty BASIC om reeds naar het aftaketiket van de control te springen bij een enkelvoudige muisklik, in plaats van bij dubbelklikken (hetgeen standaard is) te springen. print #handle.ext, "setfocus" Dit zorgt ervoor dat listbox de input focus krijgt. Dit betekent dat elke keer als een toets wordt ingedrukt dit gegeven naar de listbox wordt geleid print #handle.ext, "enable" Dit zorgt ervoor dat de control toegankelijk is. print #handle.ext, "disable" Dit maakt de control inactief , de control wordt licht grijs. print #handle.ext, "show" Dit zorgt er voor dat de control zichtbaar wordt. print #handle.ext, "hide" Dit verbergt de control en maakt het onzichtbaar. Test programma 'Branch Label Event Handler ' Sample program. Pick a contact status options$(0) = "Cold Contact Phone Call" options$(1) = "Send Literature" options$(2) = "Follow Up Call" options$(3) = "Send Promotional" options$(4) = "Final Call" listbox #status.list, options$(), [selectionMade], 5, 35, 250, 90 button #status, "Continue", [selectionMade], UL, 5, 5 button #status, "Cancel", [cancelStatusSelection], UR, 15, 5 WindowWidth = 270 : WindowHeight = 180 open "Select a contact status" for window as #status wait [selectionMade] print #status.list, "selection? selection$" notice selection$ + " was chosen" close #status end [cancelStatusSelection] notice "Status selection cancelled" close #status end De controle over de listbox in het voorbeeld programma wordt verkregen door simpelweg bevelen naar de listbox te printen, net zoals dat in Liberty BASIC gedaan wordt met gewone venster types. Deze Listbox heeft #status.list als handle. Dus om er achter te komen wat er werd geselecteerd, kunt u het statement print #status.list , "selection? selection$" gebruiken. Als u een string met de lengte nul krijgt (een lege string), dan betekent dit dat er geen item werd geselecteerd. Subroutine Event Handler: ' Sample program. Pick a contact status options$(0) = "Cold Contact Phone Call" options$(1) = "Send Literature" options$(2) = "Follow Up Call" options$(3) = "Send Promotional" options$(4) = "Final Call" listbox #status.list, options$(), selectionMade, 5, 35, 250, 90 button #status, "Cancel", [cancelStatusSelection], UR, 15, 5 WindowWidth = 270 : WindowHeight = 180 open "Select a contact status" for window as #status #status.list "singleclickselect" wait sub selectionMade handle$ print #status.list, "selection? selection$" notice selection$ + " was chosen with listbox ";handle$ end sub [cancelStatusSelection] notice "Status selection cancelled" close #status end For information on creating controls with different background colors, see Colors and the Graphical User Interface.