| Tutorials: Mala škola velikog BB2 II | |||
|---|---|---|---|
| Tonči A. LOŽIĆ | pl-print@st.tel.hr | ||
Umjesto predgovora
Ljeto je iza nas i nadamo se da ste od prošlog nastavka "male škole
velikog BlitzBasica2" naučili kako otvoriti ekran (screen), prozor
(window) te naučili rukovati s editorom i compilerom. U ovom nastavku, baš
kao što smo i obećali, pozabavit ćemo se tkz. "padajućim izbornicima" (pulldown menu).
Već nakon slijedećeg nastavka imat ćete dovoljno znanja da započnete pisati i
vlastite programe ili igre. Dakle, tastaturu u ruke i na posao...
1. PullDown izbornici
Jedna od odlika Amige i njenog OS-a još od daleke 1985. i WB1.2 jesu
padajući izbornici (PullDown menus). Korisniku se omogućava da pritiskom na
desnu tipku miša dobije jedan ili više izbornika iz kojih može izabrati opciju
odnosno uključiti tj. isključiti istu. Ova odlika AmigaOS-a se koristi ponajviše u
ozbiljnijim aplikacijama, a nešto manje u igrama.
Prvo što morate učiniti (nakon što ste otvorili ekran i prozor) jest davanje
imena izborniku. Za to Vam služi komanda: MenuTitle ml, mb, i$
ml = broj liste (seta) izbornika
mb = broj izbornika
i$ = naziv izbornika
Primjer pravilnog dodjeljivanja imena izborniku bi glasila:
MenuTitle 0,0,"test"
čime otvarate prvi (zapavo nulti) set izbornika (objašnjeno kasnije),
i prvi izbornik nazvan "test". Ako želite otvoriti više izbornika tada dodajete
komadu MeniTitle ali s nešto
drugačijom sintaksom:
MenuTitle 0,1,"test2"
tako da u tom slučaju imate izbornik 0 nazvan test i izbornik 1 nazvan test2
Nadalje, treba izbornik popuniti, odnosno dati mu opcije koje će korisniku
biti na raspolaganju. To se postiže komandom MenuItem
čija bi sintaksa izgledala ovako:
MenuItem ml, fl, mb, it, t$, sc gdje su:
ml = broj liste izbornika
fl = flag, odnosno stanje/vrsta opcije
mb = izbornik broj #
it = broj opcije tj. izbora
t$ = naziv opcije tj. izbora
sc = tipka koja će vršiti tkz. "shortcut" za dotičnu opciju
Primjer bi izgledao ovako: MenuItem 0,0,0,0,"kraj"
Ovom komandom (gledajući prethodnu) ste otvorili izbornik 0 nazvan test i opciju nazvanu kraj.
Slijedeći potez je aktiviranje seta izbornika. Što je to set? Dobri programeri se
uvijek koriste tkz. modularnim programiranjem, tako da glavni program podjele u
nekoliko nezavisnih modula koji zajedno tvore program. Recimo da vam za svaki takav
modul trebaju drugačiji pull-down izbornici. BlitzBasic vam omogućava da unaprijed
definirate izbornike za svaki takav modul, a pull-down izbornik za svaki taj modul
se naziva set odnosno lista.
Aktiviranje seta izbornika se vrši s komandom SetMenu ml
gdje je ml broj liste izbornika, odnosno broj seta izbornika kojeg želimo aktvirati.
Za početak jedan jednostavan primjer koji ima jedan padajući izbornik nazvan
"Test!" s dvije opcije, "Dozvoljen prekid?" i "Prekid". Kako program radi?
Opcija "Dozvoljen prekid?" ima flag (oznaku vrste) 1 koja ga pretvara u
tkz. "Check item" odnosno opciju koja se može uključiti tj. isključiti.
U navedenom programu s opcijom "Prekid" izlazite iz programa, ali tek kad
uključite opciju "Dozvoljen prekid?" tj. kad s njegove lijeve strane bude vidljiv
"Check" simbol kvačice (komanda ).
Otkucajte i pokrenite program i vjerujem da će vam sve
biti jasno.
MenuTitle 0,0,"Test!"
MenuItem 0,1,0,0," Dozvoljen prekid?"
MenuItem 0,0,0,1,"Prekid"
Screen 0,3
Window 0,0,12,320,DispHeight-12,$100f,"Izaberi izbornik",1,2
SetMenu 0
Repeat
a.l=WaitEvent
If a=256 AND ItemHit=1
If MenuChecked(0,0,0)
End
Else
WLocate 0,0
Print "Prekid nije dozvoljen!"
EndIf
EndIf
Forever
Osim ovih osnovnih komandi, za pull-down izbornike BlitzBasic2 ima još dosta
dodatnih komandi, kao što su one za definiranje boja opcija, definiranje
podopcija u izborniku i sl.
Boju opcije određujete s komandom MenuColor #col
gdje je #col broj boje iz trenutne palete u koju želite da vam se
ispisuju izbornici.
Isto tako, ponekad će vam zatrebati i podopcije (kao što npr. Workbench ima
pulldown izbornik Window koji između ostalog ima opciju nazvanu Snapshot,
a koja u sebi ima dvije podopcije nazvane Window i All).
Za podopcije je namjenjena komanda SubItem čija sintaksa
izgleda ovako:
SubItem ml, fl, mb, it, st, t$, sc
ml = broj liste izbornika
fl = flag, odnosno stanje/vrsta opcije
mb = izbornik broj #
it = broj opcije tj. izbora
st = broj podopcije tj. podizbora
t$ = naziv podopcije tj. podizbora
sc = tipka koja će vršiti tkz. "shortcut" za dotičnu opciju
Vidljiva je sličnost komande SubItem
s komandom Item. Razlika je samo u jednom
dodatnom parametru za podopciju.
Evo jedan primjer jednostavnog programa koji ima 2 pulldown izbornika, 4 izbora/opcije od kojih jedan
ima dva podizbora/podopcije:
MenuTitle 0,0,"1. izbornik"
MenuTitle 0,1,"2. izbornik"
MenuItem 0,0,0,0,"Izbor s podizborima "+Chr$(187)
SubItem 0,0,0,0,0,"Podizbor 1"
SubItem 0,0,0,0,1,"Podizbor 2"
MenuItem 0,0,0,1,"Izlaz"
MenuItem 0,0,1,0,"Izbor 1 "
MenuItem 0,0,1,1,"Izbor 2"
MenuItem 0,0,1,2,"Izbor 3"
Screen 0,3
Window 0,0,12,320,DispHeight-12,$100f,"Izaberi...",1,2
SetMenu 0
Repeat
Until WaitEvent=256 AND MenuHit=0 AND ItemHit=1
Sada znate gotovo sve o pulldown izbornicima; Kako ih otvoriti, promjeniti im
boju, definirati opcije i podopcije. Za kraj je još ostalo ono najvažnije! Kako
kontrolirati u svojim programima koju opciju tj. podopciju je korisnik odabrao?
Za to se koriste komande MenuHit,
ItemHit i
SubItemHit
Jednostavan primjer bi glasio:
If MenuHit=0 AND ItemHit=1 AND SubItemHit=2 then print "Gotovo"
Ovakav program bi ako korisnik odabere menu 0, opciju 1 i podopciju 2
ispisao tekst "Gotovo". Jednostavno, zar ne?
To bi bilo gotovo sve o "padajućim izbornicima" iako BlitzBasic2 dozvoljava još
nekoliko zanimljivih stvari glede istih. Jedna od zasigurno najzanimljivijih jest
ona koja dozvoljava da za pull down opciju možete upotrijebiti sliku tj. "brush" koji
ste prethodno izradili u nekom grafičkom programu!
Međutim, o tome nešto više u idućem nastavku kada ćemo se posvetiti grafici u
BlitzBasicu2.
|
PL Print d.o.o Split e-mail: pl-print@st.tel.hr URL: http://www.pl-print.tel.hr/ |
Copyright (c)1994-99. PL Print d.o.o. Split, sva prava pridržana