Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

SimpleGUI-Demo_III.bas

Uploader:MitgliedMuttonhead
Datum/Zeit:21.12.2008 14:51:42

#include "SimpleGUImerge.bi" '<--- Oneparted Version, nur für Demozwecke

'#include "simplegui\SimpleGUI.bi"
'Nur die benötigten .bi-Files müssen includet werden!!!
'#include "simplegui\SimpleGadget.bi"
'#include "simplegui\StringGadget.bi"
'#include "simplegui\ToggleGadget.bi"
'#include "simplegui\CheckmarkGadget.bi"
'#include "simplegui\RadioButton.bi"
'#include "simplegui\Arrows.bi"
'#include "simplegui\Trackbars.bi"


Screen 19,32,,&H04 'kein Fullscreen erlaubt
width 300\8,600\16
SetColors ' nach Screen(und Width) aufrufen!!

'wir verpassen all unseren Gadgets (Variablen-)Namen und nummerieren sie durch, von 1(wichtig) beginnend
enum
    OK=1
    Stringer
  Checker
    Banana
    Apple
    Peach
  UKW
  KW
  LW
    HTrack
    VTrack
  ArrowL
  ArrowR
  ArrowU
  ArrowD
  ArrowSL
  ArrowSR
  ArrowSU
  ArrowSD
end enum

'wir bauen die Bedienoberfläche!!
'mit den Adds... werden die Gadgets zur GadgetList hinzugefügt in Activation=0 (unsichtbar und nicht anwählbar)
Frame (10,10,150,50,"SimpleGadget")
AddSimpleGadget (OK,55,22,50,20,"OK!")

Frame (10,70,150,50,"StringGadget")
AddStringGadget (Stringer,21,85,15,100,"Franz jagt im komplett verwahrlosten Taxi quer durch Bayern. 1234567890")

Frame (10,130,150,50,"CheckMarkGadget")
AddCheckmarkGadget (Checker,75,145,1)

Frame (10,190,150,80,"ToggleGadget")
AddToggleGadget (Banana,35,200,100,20,1,"Banane")
AddToggleGadget (Apple,35,221,100,20,0,"Apfel")
AddToggleGadget (Peach,35,242,100,20,1,"Pfirsich")


Frame (10,280,150,80,"RadioButton")
draw string (80,295),"UKW"
draw string (80,315),"KW"
draw string (80,335),"LW"
'Erzeugen einer RadioButtonGruppe
AddRadioButton(UKW,60,295,0,0) 'letzter Parameter 0 => erstes Element oder Beginn einer Gruppe
AddRadioButton(KW,60,315,1,UKW)'"anhängen" dieses RadioButtons an "UKW"!!!
AddRadioButton(LW,60,335,0,KW)'"anhängen" dieses RadioButtons an "KW"!!!
'Gruppe fertig !!!!
'damit werden bei Anwählen eines RadioButtons alle anderen der Gruppe überprüft und entsprechend verändert
'weitere Gruppen einfach wieder mit 0 beginnen

Frame (10,370,150,120,"Trackbar")
AddHTrackbar (HTrack,20,400,90,-5,10,0,0)
AddVTrackbar (VTrack,120,380,100,100,108,100,1)

Frame (10,500,150,50,"Arrows")
AddArrow (ArrowL,40,510,0)
AddArrow (ArrowR,60,510,1)
AddArrow (ArrowU,80,510,2)
AddArrow (ArrowD,100,510,3)
AddSmallArrow (ArrowSL,40,535,0)
AddSmallArrow (ArrowSR,60,535,1)
AddSmallArrow (ArrowSU,80,535,2)
AddSmallArrow (ArrowSD,100,535,3)

'mit GadgetOn(es gibt auch noch GadgetSleep,GadgetOff) werden die Gads sichtbar und anwählbar!!
'(bei den anderen Activation-Modis entsprechend nicht)
GadgetOn(OK)

GadgetOn(Stringer)

GadgetOn(Checker)

GadgetOn(Banana)
GadgetOn(Apple)
GadgetOn(Peach)

GadgetOn(UKW)
GadgetOn(KW)
GadgetOn(LW)

GadgetOn(HTrack)
GadgetOn(VTrack)

GadgetOn(ArrowL)
GadgetOn(ArrowR)
GadgetOn(ArrowU)
GadgetOn(ArrowD)
GadgetOn(ArrowSL)
GadgetOn(ArrowSR)
GadgetOn(ArrowSU)
GadgetOn(ArrowSD)
'Oberfläche fertig!!

'Console öffnen für Textoutput
dim as integer ff= freefile
open cons for output as #ff


'der EventLoop
dim as integer gad
do
  WaitEvent

  gad=GadgetControl'the name of the game

  'der select case Block für die Auswertung der controls
  select case gad

    case OK
      print #ff,"OK Button gedrueckt"
      print #ff,

    case Stringer
      print #ff,"Text im Eingabefeld: ";GetString (Stringer)
      print #ff,

    case Checker
      if GetSelect(gad)=1 then
        print #ff,"Checkmark selektiert"
      else
        print #ff,"Checkmark nicht selektiert"
      end if
      print #ff,

    case Banana
      if GetSelect(gad)=1 then
        print #ff,"Banane selektiert"
      else
        print #ff,"Banane nicht selektiert"
      end if
      print #ff,

    case Apple
      if GetSelect(gad)=1 then
        print #ff,"Apfel selektiert"
      else
        print #ff,"Apfel nicht selektiert"
      end if
      print #ff,

    case Peach
      if GetSelect(gad)=1 then
        print #ff,"Pfirsich selektiert"
      else
        print #ff,"Pfirsich nicht selektiert"
      end if
      print #ff,

    case UKW
      print #ff,"Radio auf Ultrakurzwelle eingestellt"
      print #ff,

    case KW
      print #ff,"Radio auf Kurzwelle eingestellt"
      print #ff,

    case LW
      print #ff,"Radio auf Langwelle eingestellt"
      print #ff,

    case HTrack
      print #ff,"horiz. Trackbar(-5 bis 10):";GetVal(HTrack)
      print #ff,

    case VTrack
      print #ff,"vert. Trackbar(100 bis 108):";GetVal(VTrack)
      print #ff,

    case ArrowL
      print #ff,"ArrowLeft gedrueckt"

    case ArrowR
      print #ff,"ArrowRight gedrueckt"

    case ArrowU
      print #ff,"ArrowUp gedrueckt"

    case ArrowD
      print #ff,"ArrowDown gedrueckt"

    case ArrowSL
      print #ff,"SmallArrowLeft gedrueckt"

    case ArrowSR
      print #ff,"SmallArrowRight gedrueckt"

    case ArrowSU
      print #ff,"SmallArrowUp gedrueckt"

    case ArrowSD
      print #ff,"SmallArrowDown gedrueckt"
  end select
loop until EXITPROG

close #ff
end