Colors and the GUI

Per definitie, geeft Liberty BASIC aan vensters en besturingselementen (controls)
de standaardkleuren die de gebruiker heeft ingesteld in zijn Windows Configuratiescherm.
Verscheidene speciale variabelen worden verstrekt
om de kleuren van bepaalde vensters en controls te kunnen veranderen.
Deze variabelen zijn hoofdletter gevoelig, en moeten op de juiste manier worden getypt.
Bijvoorbeeld, "backgroundcolor$" is niet het zelfde als "BackgroundColor$".
De volgende code leidt tot een venster met een donkerblauwe achtergrond en een lichtgrijze tekst.
Het doet dit door de variabelen BackgroundColor$ en ForegroundColor$ in te stellen
ALVORENS het VENSTER TE OPENEN:

  'set the foreground and background colors
  BackgroundColor$ = "darkblue"
  ForegroundColor$ = "lightgray"
  statictext #dialog.static, "What is your name?", 10, 10, 100, 20
  textbox #dialog.tbox, 10, 30, 100, 20
  button #dialog.accept, "Accept", [gotIt], UL, 10, 55
  open "Name getter" for dialog as #dialog
  print #dialog.tbox, "Type your names in here."
  print #dialog, "trapclose [quit]"
  wait
[gotIt]
  print #dialog.tbox, "!contents? name$"

  notice "Hi "; name$
  wait
[quit]
  close #dialog
  end

Het instellen van de BackgroundColor$ geeft de kleur van de achtergrond van het venster,
en van groupboxes, checkboxes, radiobuttons en statictext controls.
Het instellen van de ForegroundColor geeft de kleur aan van tekst die getoond wordt in alle controls.
Alleen de laatst geplaatste waarden ForegroundColor$ en BackgroundColor$
alvorens een venster wordt geopend zijn geldig voor dat venster.
Er bestaan ook andere speciale kleurenvariabelen voor
het instellen van de achtergrondkleur van de verscheidene widgets:

  TextboxColor$
  ComboboxColor$
  ListboxColor$
  TexteditorColor$
  

De waarde van de variabele TextboxColor$, TexteditorColor$, ListboxColor$ of ComboboxColor$
kan tussendoor bij elke control statement worden veranderd.
Een control zal worden gekleurd volgens het laatste kleurenstatement dat vermeld staat
vr het commando om de controle te creren. Hieronder is een kort voorbeeld:


    WindowWidth = 550
    WindowHeight = 410

    TextboxColor$ = "red"
    textbox #main.textbox1, 26, 16, 100, 25
    TextboxColor$ = "blue"
    textbox #main.textbox2, 30, 61, 100, 25

    TextboxColor$ = "yellow"
    textbox #main.textbox3, 30, 121, 100, 25
    open "untitled" for dialog as #main


[main.inputLoop]   'wait here for input event
    wait

Hier is een lijst van geldige kleuren (in alfabetische volgorde):

      black, blue, brown, buttonface, cyan, darkblue, darkcyan,
      darkgray, darkgreen, darkpink, darkred, green, lightgray, 
      palegray, pink, red, white, yellow

"Palegray" en "Lichtgrijs (Lightgray)" zijn verschillende namen voor de zelfde kleur.
"Buttonface" is de standaard achtergrondkleur die momenteel ingesteld is
op het systeem van een gebruiker, zodat het al naar gelang de Desktop kleurenschema's zal variren.
De namen van de kleuren zijn niet hoofdlettergevoelig, zodat het "WHITE" het zelfde is als "white."
Hier is een grafische voorstelling van de beschikbare kleuren: