Saturday, April 15, 2017

KAPITULLI 3. Formset, Kontrollet, dhe Menute

KAPITULLI 3. Formset, Kontrollet, dhe Menute
Hapi i pare per krijimin e nje aplikimi me Visual Basic, eshte ndertimi i nderfaqesit, pjesa vizuale e aplikimit, me te cilen do te komunikoje perdoruesi. Formset dhe kontrollet jane mjetet baze qe perdoren per krijimin e nderfaqesit. Ato jane objektet me te cilat ju do te punoni per te ndertuar aplikimin.
Formset jane objektet qe ekspozojne vetite qe percaktojne aparencen e objekteve, metodat qe percaktojne sjelljen e tyre, dhe ngjarjet qe percaktojne komunikimin me perdoruesin.
Kontrollet jane objektet qe prefshihen brenda formseve. Cdo tip kontrolli ka vetite e veta, metodat e veta dhe ngjarjet e veta. Disa kontrolle mund te perdoren per futje dhe afishim teksti, disa te tjera per tu lidhur me aplikime te tjera dhe per te punuar me te dhena njesoj sikur aplikimi i larget te jete pjese e aplikimit tuaj.
Ky kapitull permban konceptet baze te punes me formset dhe kontrollet si dhe vetite, metodat dhe ngjarjet e lidhura me to.

Shembull

     Controls.vbp Shembujt e ketij kapitulli ndodhen ne aplikimin  Controls.vbp. Nqs ju keni instaluar edhe shembujt e Visual Basic, ju do ti gjeni ato ne nendirektorine  \Controls te direktorise se shembujve te Visual Basic(p.sh \Vb\Samples\ \PGuide\Controls)
         


      Kuptimi i Vetive , Metodave dhe Ngjarjeve

Formset dhe kontrollet ne Visual Basic jane objekte qe ekspozojne vetite, metodat dhe ngjarjet e tyre. Vetite mund te mendohen si atribute te objektit, metodat si aksione dhe ngjarjet si pergjigje te tyre.
Imagjinoni nje objekt, si p.sh nje bolone femijesh. Edhe ajo ka gjithashtu vetite, metodat dhe ngjarjet e saj. Vetite e balones perfshijne atributet e saj qe duken si pesha, diametri apo ngjyrat. Veti te tjera pershkruajne gjendjen e saj(e fryre apo e pafryre), ose atribute qe nuk duken si p.sh “mosha” e balones.
Nje balone ka gjithashtu metoda ose e thene ndryshej mund te kryeje aksione te ndryshme. Ajo ka metoden e fryrjes(aksioni i mbushjes se saj me helium), metoden e shfryrjes etj.
Balonat gjithashtu kane pergjigje te percaktuara ndaj ngjarjeve te jashtme. P.sh, nje balone i pergjigjet ngjarjes se shpimit te saj, duke u shfryre, ose ngjarjes se leshimit duke u ngjitur neper ajer.
Figure 3.1   Objektet kane veti, u pergjigjen ngjarjeve, dhe kryejne metoda.

         
N.q.s mundeni te programoni nje balone, kodi ne Visual Basic mund te ishte si me poshte. Per te vendosur vetite e balones:
Balone.Ngjyre = Kuqe
Balone.Diameter = 10
Balone.Fryre = Vertete
         
Shihet se sintaksa ka trajten - Objekti (Balona) i ndjekur nga vetia (.Ngjyre), i ndjekur nga dhenia e vleres (Kuqe). Ju mund te ndyshoni ngjyren e balones nga kodi, duke perseritur kete instruksion dhe vendosur nje vlere tjeter. Vetite mund te vendosen gjithashtu edhe ne dritaren e vetive, gjate ndertimit te nderfaqesit.
Metodat e balones mund te zbatoheshin si me poshte:
Balone.fryj
Balone.shfryj
Balone.ngjit 5
         
Sintaksa eshte e ngjashme me vendosjen e vetive - Objekti (nje emer) ndjekur nga metoda (nje folje). Ne shembullin e trete, ka nje element me teper, qe quhet argument, qe percakton distancen e ngjitjes. Disa metoda kane nje ose disa argumenta, per te pershkruar me mire aksionin qe do te kryhet.
Balona mund t’i pergjigjet nje ngjarjeje si me poshte:
Sub Balone _Shpim()
          Balone.shfryej
          Balone.Bejzhurme "Bang"
          Balone.fryre = fallso
          Balone.Diameter = 1
End Sub
         
Ne kete rast, kodi pershkruan sjelljen e balones kur ndodh ngjarja e shpimit te balones: provokohet metoda Shfryej, pastaj metoda BejZhurme me argumentin “Bang”(Tipi i zhurmes qe do te behet). Kur balona nuk eshte me e fryre, vetia Fryre belet fallso, dhe vetise Diameter i jepet nje vlere e re.
Tani per tani eshte e qarte qe ju nuk mund te programoni nje balone, por le te sherbejne ilustrimet e mesiperme, si nje shembull i programimit ne Visual Basic te nje formsi ose kontrolli. Si programist, ju jeni ne kontroll. Ju vendosni se cilat veti duhet te ndryshohen, cilat metoda duhet te provokohen, si duhet te sillen kontrollet e perdorura ndaj ndodhjes se ngjarjeve.

        Vizatimi i Formsit.

Formset jane mjetet baze per ndertimin e nje aplikimi ne Visual Basic, dritaret aktuale me te cilat komunikon perdoruesi kur ekzekuton aplikimin. Formset kane vetite e tyre, ngjarjet dhe metodat me te cilat ju mund te kontrolloni aparencen dhe sjelljen e tyre.


Figure 3.2   Formset dhe kontrollet kane vetite e tyre, ngjarjet, dhe metodat

   
           

         
Hapi i pare ne vizatimin e nje formsi eshte vendosja e vetive te tij. Ato mund te vendosen gjate ndertimit te formsit(Design time) ne dritaren e vetive ose gjate shkrimit te kodit(ne run time).
Vendosja e vetive te formsit.
Shumica e vetive te formsit kane te bejne me aparencen e saj te jashtme. Vetia Caption, percakton tekstin qe shfaqet ne shiritin e titullit te formsit, Vetia Icon vendos ikonen qe afishohet kur formsi minimizohet. Vetite MaxButton dhe MinButton percaktojne nese formsi mund te jete i maksimizuar ose i minimizuar.
Vetite Height dhe Width percaktojen dimensionet fillestare te formsit. Vetite Left dhe Top percaktojne pozicionin e formsit ne relacion me cepin e siperm te majte te ekranit. Vetia WindowState mund te vendoset per te percaktuar gjendjen fillestare te formsit: e maksimizuar, e minimizuar apo normale.
Vetia Name vendos emrin me te cilin mund ti referoheni formsit ne kod. Ne menyre implicite, kur nje forms shtohet ne projekt, emri i tij do te jete  Form1, Form2, dhe keshtu me rradhe. Rekomandohet qe formsit t’i vihet nje emer domethenes, psh “frmHapje” per nje forms qe hap aplikimin.
Menyra me e mire per tu familjarizuar me vetite e formseve eshte eksperimentimi i tyre. Ndryshoni disa nga vetite e formsit ne dritaren e vetive (Figura 3.3), dhe pastaj ekzekutoni aplikimin per te pare efektin e tyre. Ju mund te merrni informacion per sejcilen veti, duke e zgjedhur ate dhe duke shtypur tasten F1.
Figure 3.3   Dritarja e Vetive.


Ngjarjet dhe Metodat e Formsit.
Edhe  formset si objekte, kane metodat e tyre, dhe sillen ndaj ngjarjeve.
Ngjarja Resize shkaktohet kur ridimensionohet nje forms, qofte nga veprime te perdoruesit, qofte nga kodi. Kjo ju lejon juve te kryeni aksione te tilla si levizja ose ridimensionimi i kontrolleve ne forms, kur dimensionet e formsit kane ndryshuar.
Ngjarja Activate shkaktohet kur nje forms behet forms aktiv; Ngjarja Deactivate ndodh kur nje forms ose aplikim tjeter behet aktiv. Keto ngjarje jane te pershtatshme per te inicializuar ose finalizuar sjelljen e nje formsi. P.sh, ne ngjarjen Activate, ju mund te shkruni kodin per te ndricuar tekstin ne nje kuti teksti te vecante; ne ngjarjen Deactivate, ju mund te ruani ndryshimet ne nje skedar ose baze te dhenash.
Per te bere nje forms vizibel, duhet provokuar metoda
Form2.Show
         
Provokimi i metodes Show ka te njejtin efekt si vendosja e vetise Visible te formsit, True

        Kryerja e veprimeve nepermjet klikimit te butonave

Menyra me e lehte per te lejuar perdoruesin per te komunikuar me nje aplikim eshte duke parashikuar butona per tu klikuar. Ju mund te perdorni kontrollin command button, ose ju mund te krijoni butonat tuaj personale, duke perdorur nje kontroll Image qe permban nje grafik, si p.sh nje ikone.
Perdorimi i kontrolleve te Butonave te komandave
Shumica e aplikimeve Visual Basic, perdorin butona komandash per te lejuar perdoruesin per te thjeshtesuar perdorimin e aplikimit. Kur perdoruesi klikon butonin, provokohet ngjarja Click, per te kryer veprimet e parashikuara nga programisti.
Ka disa menyra per zgjedhjen e nje butoni gjate ekzekutimit te aplikimit:
·   Klikoni butonin me mouse..
·   Jepni butonit fokus, duke shtypur tasten TAB dhe pastaj zgjidhni butonin duke shtypur tasten SPACEBAR ose ENTER (Shikoni "Kuptimi i Fokusit" me vone ne kete kapitull.)
·   Shtypni tasten e lidhur me butonin (ALT+ germen e nenvizuar).
·   Vendosni vleren e vetise Value te butonit, True ne kod.
cmdClose.Value = True
         
·   Provokoni ngjarjen Click te butonit:
cmdClose_Click
         
         
Te gjitha keto veprime shkaktojne qe te provokohet ngjarja Click e butonit te komandave.
Aplikimi Test Butonash.
Ju perdorni vetine Caption per te afishuar nje tekst ne buton, qe i tregon perdoruesit se cfare ben butoni. Ne figuren 3.4, shembulli Test Butonash permban nje buton komandash me vetine Caption  "Change Signal” (Per nje version te ketij shembulli shikoni Button.frm ne aplikimin Controls.vbp.)
Shenojme qe ‘S’ eshte tasta e lidhur me kete buton, e nenvizuar si ne aplikimet e tjera Windows. Futja e nje karakteri ampersand (&) ne tekstin e vetise Caption, ben qe karakteri qe e ndjek te jete taste e lishur e ketij butoni. (per shembull, Change &Signal).


Figure 3.4   Buton komade me nje Caption.



        Kontrollet qe perdoren per afishim dhe futje teksti.

Kontrollet label dhe text box perdoren per te afishuar ose per te futur tekst. Perdorni kontrollin label kur doni qe aplikimi juaj te afishoje tekst ne nje forms, dhe kontrollin text box(kuti teksti) kur doni te lejoni perdoruesin te fuse tekst ne kete kontroll. Kontrollet Label permbajne tekst qe mund te jete vetem i lexueshem, nderkohe qe kontrollet text box permbajne tekst qe mund te modifikohet.

·          Perdorimi i etiketave per te afishuar tekst


Nje kontroll etikete, afishon tekst, qe perdoruesi nuk mund ta ndryshoje. Etiketat mund te perdoren per te identifikuar kontrollet e tjera, si kutite e teksteve, listat etj qe nuk e kane vetine Caption. Teksti i afishuar ne etiketa kontrollohet nga vetia Caption, qe mund te vendoset gjate ndertimit te nderfaqesit ose edhe ne run time.
Vetia BorderStyle e etiketave, e cila mund te vendoset gjate ndertimit te nderfaqesit, ka te beje me konturin e etiketave. Gjithashtu mund te perdoren vetite BackColor, BackStyle, ForeColor, dhe Font qe kane te bejne me aparencen e etiketave.
Dimensionimi i etiketave.
Per etiketat mund te specifikohet qe gjate ndertimit te nderfaqesit, qe teksti qe ato afishojne te jete single-line. Mirepo ne qofte se na duhet te fusim nje tekst me te gjate se gjatesia e parashikuar per etiketen, si duhet te veprojme? Etiketat kane dy veti qe ju ndihmojne per ti ridimensionuar ato ne varesi te gjatesise te tekstit qe afishojne: AutoSize dhe WordWrap.
Vetia AutoSize percakton nese etiketa do te ridimensionohet automatikisht kur ndryshon gjatesia e tekstit. Vendosni vleren e kesaj vetie, True, kur deshironi nje gje te tille.
Figure 3.5   Shembull i vetise AutoSize




         
Vetia WordWrap shkakton ndryshimin automatit te lartesise se etiketes, duke mbajtur te njejten gjatesi, si ne figuren 3.6. Per nje version te ketij shembulli shikoni formsin Wordwrap.frm ne aplikimin Controls.vbp


Figure 3.6 Shembull i vetise WordWrap



         
Shenim   Ne qofte se ekzekutoni shembullin AutoSize nga Controls.vbp, per te punuar shmbulli WordWrap, do t’ju duhet qe te zgjidhni te dy butonat e kontrollit, sepse per te bere te efektshme vetine WordWrap  te etiketes, vetia Autosize duhet te jete vendosur True. Gjatesia e etiketes do te rritet vetem nqs gjatesia e nje fjale te vetme e kalon gjatesine e etiketes.
         




·          Puna me kutite e tekstit


Kutite e tekstit jane kontrolle qe mund te perdoren qofte per te futur tekst nga perdoruesi, qofte per afishim teksti. Ato nuk duhet te perdoren per te afishuar tekst, kur ju deshironi qe teksti i afishuar te mos modifikohet nga perdoruesi.
Teksti i afishuar ne nje kuti teksti, kontrollohet nga vetia Text. Kjo veti mund te vendoset ne dritaren e vitive, ne run time(duke i dhene vleren ne kod) ose edhe nga perdoruesi gjate perdorimit te aplikimit. Permbajtja e tekstit te nje kutie teksti, mund te konsultohet duke lexuar vetine Text.
Multiple-Line Text Boxes and Word Wrap

Ne menyre implicite, nje kuti teksti afishon nje rresht te vetem teksti dhe nuk ka ashensore(Scrool bar). Nqs se gjatesi e tekstit eshte me e madhe se gjatesia e kutise se tekstit, atehere vetem nje pjese e tekstit do te afishohet. Pamja dhe sjellja e nje kutie teksti mund te ndryshohet duke vendosur dy veti MultiLine dhe ScrollBars, te cilat mund te vendosen vetem ne dritaren e vetive
Shenim   Vetia ScrollBars nuk duhet ngaterruar me kontrollet scrool bar, te cilat nuk mund te lidhen me kontrollin kuti teksti, dhe kane vetite e tyre personale.
         
Vendosja e vetise  MultiLine True lejon nje kuti teksti te pranoje ose afishoje me shume se nje rresht. Nje kuti teksti me vetine MultiLine, e rregullon tekstin automatikisht sado i gjate qofte ai(kujtoni funksionin e word wrap ne aplikimet e trajtimit te tekstit), nqs nuk eshte vendosur ashensor horizontal. Nqs vendoset vetia multiline, perdoruesi nuk ka nevoje te shtypi ENTER per te kaluar ne rresht tjeter.
Nderprerjet e rreshtit nuk mund te futen ne dritaren e vetive. Brenda nje procedure, ju mund te krijoni nje nderprerje rreshti(Line break), duke futur karakteret ANSI 13 dhe 10. Ju mund te perdorni konstanten e Visual Basic vbCrLf, per realizuar kete (kombinimi carriage return/linefeed). Per shembull, ngjarjet e meposhtme fusin dy rreshta teksti ne nje kuti teksti multi-line.
Sub Form_Load ()
Text1.Text = "Ketu jane dy rreshta" & vbCrLf & "ne nje kuti teksti"
End Sub
         
Puna me tekstin ne nje Kuti teksti.
Ju mund te kontrolloni pozicionin e kursorit dhe zgjedhjen e tekstit ne nje kuti teksti me vetite SelStart, SelLength dhe SelText. Keto veti mund te vendosen vetem me kod(ne dritaren e vetive jane te pavlefshme).
Kur nje kuti teksti merr fokus, kursori pozicionohet te te majte te tekstit ekzistues. Ai mund te zhvendoset nga perdoruesi me tastiere ose me mouse. N.q.s kutia e tekstit e humbet dhe pastaj e rimerr fokusin, kursori do te ripozicionohet ne pozicionin qe ishte para se te humbiste fokusi.
Ka rste si ne aplikimet e trajtimit te teksteve qe perdoruesi do qe, pasi fokusohemi ne nje pozicion te caktuar, karakteret e shtypura te shtohen pas tekstit ekzistues, ndersa ne aplikimet e futjes se te dhenave, perdoruesi do qe karakteret e shtypura pas fokusimit te zevendesojne tekstin ekzistues. Keto probleme zgjidhen me ndihmen e vetive SelStart dhe SelLength
Vetia SelStart eshte nje numer qe tregon pozicionin e kursorit brenda tekstit. Nqs kjo veti ka per vlere 0, kursori vendoset ne te majte te tekstit. Nqs vetia SelStart ka nje vlere te barabarte ose me te madhe se gjatesia e tekstit, kurosri do te pozicionohet pas karakterit te fundit, si ne figuren 3.7. Per nje version te ketij shembulli, shikoni formsin Text.frm ne aplikimin Controls.vbp
Figure 3.7   Shembull i pozicionimit te kursorit
           
         
Vetia SelLength eshte nje vlere numerike, qe percakton gjeresine e kursorit. Nqs kjo veti ka per vlere me te madhe se 0, atehere karakteret zgjidhen dhe ndricohen duke filluar nga pozicioni i kursorit e djathtas. Ne Figuren 3.8 shihet situata e zgjedhjes se tekstit


Figure 3.8   Shembull i zgjedhjes se tekstit


         
Nqs perdoruesi shtyp ndonje karakter pas zgjedhjes se tekstit, teksti i zgjedhur do te zevendesohet. Ne disa raste, mund te deshironi qe te zevendesoni nje tekst te zgjedhur me nje tekst te ri, duke perdorur komanden Paste. Vetia Seltext eshte nje vlere string(varg karakteresh) qe mund te perdoret gjate programimit, per te zevendesuar tekstin e zgjedhur. Nqs nuk ka tekst te zgjedhur, atehere vetia SelText do te fuse tekstin ne pozicionin e kursorit.

Kontrollet qe paraqesin mundesi zgjedhjeje per perdoruesin.

Shumica e aplikimeve, kane nevoje te paraqesin mundesi zgjedhjeje per perdoruesin, duke variuar nga nje opsion i thjeshte Po/Jo, deri ne opsione qe paraqesin lista te gjata qe permbajne me qindra mundesi zgjedhjeje. Visual Basic Ka nje sere kontrollesh standarte qe perdoren per te paraqitur mundesi zgjedhjeje per perdoruesin . Tabela e meposhtme paraqet nje permbledhje te ketyre kontrolleve.

Nje numer i vogel zgjedhjesh, nga te cilat perdoruesi mund te zgjedhi nje ose disa prej tyre.
Kutite e kontrollit (check box)
Nje numer i vogel zgjedhjesh, nga te cilat perdoruesi mund te zgjedhi vetem njeren(Perdorni Frame-et nqs doni te beni grupime shtese)
Butonat opsionale(option button)
Nje liste e gjate, nga e cila perdoruesi mund te zgjedhe.
Listat(list box)
Nje liste e komprimuar, me nje kuti ku mund te futen te dhena, nga e cila perdoruesi mund te zgjedhe ose te shtype zgjedhjen.
listat e komprimuara(combo box)

Kutite e kontrollit, butonat opsionale, listat dhe listat e komprimuara(Kombot), jane shtjelluar me poshte.

·          Zgjedhja e opsioneve individuale me ndihmen e kutive te kontrollit.


Nje kuti kontrolli, tregon nese plotesohet ose jo nje kusht. Kutite e kontrollit mund te perdoren ne nje aplikim per tu dhene perdoruesve opsionet Po/Jo ose E vertete/Fallso. Meqenese kutite e kontrollit jane te pavarura nga njera tjetra, perdoruesi mund te zgjedhe disa prej tyre ne te njejten kohe. Psh, ne shembullin e figures 3.9, jane zgjedhur kutite e kontrollit bold dhe Italic.
Figure 3.9   Kutite e kontrollit.


         
Aplikim me Kuti kontrolli.
Shembulli me kuti kontrolli, perdor nje kuti kontrolli per te percaktuar nese nje tekst afishohet i pjerret(italic) apo jo. Shikoni shembullin e formsit Check.frm ne aplikimin Controls.vbp
Aplikimi ka nje kuti teksti, nje etikete, nje buton komande dhe dy kuti kontrolli si ne figuren 3.10.
Figure 3.10 Shembulli me kuti kontrolli


         
Tabela e meposhtme, liston vetite e vendosura per objektet e perdorura ne aplikim.

Objekti
Vetia
Vlera
Formsi
Name
frmCheck

Caption
Check Box Example
Kutia e tekstit
Name
txtDisplay

Text
Some sample text
Kutia e kontrollit e pare
Name
chkBold

Caption
&Bold
Kutia e kontrollit e dyte
Name
chkItalic

Caption
&Italic
Butoni i Komandave
Name
cmdClose

Caption
&Close
                       

Kur zgjidhni Bold ose Italic, vetia Value e kutise se kontrollit merr vlere 1. Nqs eshte e pazgjedhur, vetia Value ka vlere 0. Vlera implicite eshte 0, keshtu qe kutia e kontrollit kur afishohet ne fillim eshte e pazgjedhur. Mund te perdoren konstantet vbChecked dhe vbUnchecked per te paraqitur vlerat 1 dhe 0.                    
Ngjarjet ne aplikimin me kuti kontrolli
Ngjarja Click per kutine e kontrollit, ndodh sapo klikoni kutine. Kjo ngjarje teston nese kutia e kontrollit eshte e zgjedhur( nqs vlera e tij eshte Value = vbChecked). Nqs se po, atehere teksti kthehet ne bold ose Italic, duke vendosur vetine bold ose Italic te objektit Font, qe kthen vetia Font e kutise se tekstit.
Private Sub chkBold_Click ()
          If ChkBold.Value = vbChecked Then      ' nqs e zgjedhur.
                      txtDisplay.Font.Bold = True
          Else                                                                ' nqs jo e zgjedhur.
                      txtDisplay.Font.Bold = False
          End If
End Sub

Private Sub chkItalic_Click ()
          If ChkItalic.Value = vbChecked Then  ' nqs e zgjedhur.
                      txtDisplay.Font.Italic = True
          Else                                                                ' nqs jo e zgjedhur.
                      txtDisplay.Font.Italic = False
          End If
End Sub
         

·          Butonat opsionale.


Butonat opsionale paraqesin nje numer dy apo me shume opsionesh para perdoruesit. Ndryshej nga kutite e kontrollit, butonat opsionale duhet te jene gjithmone te grupuar. Zgjedhja e njerit, automatikisht pastron gjithe butonat e tjere te grupit. Percaktimi i nje grupi butonash opsionale, i thote perdoruesit, "Ke disa mundesi zgjedhjeje, nga te cilat mund te zgjedhesh vetem nje ."
Per shembull, ne grupin e butonave opsionale ne Figuren 3.11, perdoruesi mund te zgjedhe nje nga tre butonat.
Figure 3.11  Zgjedhja e nje butoni opsional.


         
Krijimi i nje grupi butonash opsionale.
Te gjithe butonat opsionale te vendosura direkt ne nje forms, formojne nje grup. Nqs doni te formoni disa grupe butonash, atehere vendosni ata ne nje kontroll Frame ose Picture box. Te gjithe butonat brenda nje frame ose picture box, formojne nje grup te vecante. Kur krijoni nje grup te vecante ne kete menyre, gjithmone ndertoni ne fillim kontrollin frame ose picture box, dhe pastaj vendosni butonat obsionale ne krye te tij. Figura 3.12 afishon nje forms me dy grupe butonash opsionale.
Figure 3.12   Grupe butonash opsionale

         
    Per te grupuar butonat ne nje frame
1. Zgjidhni kontrollin  frame nga toolbox dhe vendosni frame-in ne forms.
2. Zgjidhni kontrollin buton opsional(option button) nga toolbox dhe vendoseni brenda frame-it
3. Perserisni hapin 2 per cdo buton qe doni te shtoni ne frame
         
Ndertimi ne fillim i Frame-it dhe pastaj i cdo kontrolli opsional brenda tij ju lejon te zhvendosni frame-in dhe butonat njekohesisht.
Shenim    Nqs keni kontrolle ekzistuese qe doni ti gruponi tashme ne nje frame, ju mund t’i zgjidhni te gjithe ata, dhe pastaj te zbatoni funksionin cut dhe Paste brenda nje frame ose picture box.
Mbajtesit e kontrolleve
Megjithese kontrollet jane objekte te pavarura, nje relacion meme-bije ekziston ndermjet formseve dhe kontrolleve. Figura 3.12 demostron se si nje buton opsional mund te jete brenda nje formsi ose brenda nje kotrolli frame.
Per te kuptuar konceptin e nje mbajtesi kontrollesh, duhet te keni te qarte se te gjitha kontrollet, jane bije te formsit ne te cilin jane vizatuar. Gati te gjithe kontrollet, kane nje veti Parent, qe ka vleren e formsit ne te cilin ndodhet kontrolli. Vetite Top dhe Left te kontrollit jane te lidhura me formsin meme, dhe kontrollet nuk mund te levizin jashte kontureve te objektit meme. Zhvendosja e nje mbajtesi, zhvendos edhe kontrollet brenda.
Zgjedhja e butonave opsionale.
Nje buton opsionale mund te aktivizohet(zgjidhet):
·   Duke e klikuar ate ne run time me mouse.
·   Duke levizur me TAB neper forms derisa te pozicionohemi ne grupin e opsioneve dhe pastaj duke levizur me shigjetat e drejtimit derisa te zgjidhet opsioni i deshiruar.
·   Duke i dhene vetise Value te tij, vleren True ne kod.
optZgjedh = True
         
         
Per te bere nje buton opsional qe te jete butoni implicit ne grup, i japim vetise Value te tij, vleren True ne dritaren e vetive. Ai qendron i zgjedhur derisa perdoruesi te zgjedhi nje buton tjeter.
Aplikim me butona Opsionale
Formsi i shfaqur ne figuren 3.13 perdor butona opsionale per te percaktuar tipin e procesorit dhe sistemin operativ per nje kompjuter te prishur. Kur perdoruesi zgjedh nje buton ne ndonjerin grup, vetia Caption e etiketes, ndryshohet per te reflektuar zgjedhjen e bere. Shikoni formsin  Options.frm ne aplikimin Controls.vbp


Figure 3.13   Shembuj butonash opsionale.


         
Tabela e meposhtme, liston vetite e vendosura per objektet e perdorura ne aplikim.

Objekti
Vetia
Vlera
Etikete
Name
lblDisplay

Caption
(Bosh)
Buton komandash
Name
cmdClose

Caption
&Close
Butoni i pare opsional
Name
opt486

Caption
&486
Butoni i dyte opsional
Name
opt586

Caption
&Pentium

Value
True
Butoni i trete opsional
Name
opt686

Caption
P&entium Pro
Frame
Name
fraSystem

Caption
&Operating System
Butoni i katert opsional
Name
optWin95

Caption
Windows 95
Butoni i peste opsional
Name
optWinNT

Caption
Windows NT

Value
True
         
Ngjarjet ne aplikimin me butona opsionale.
·   Ngjarja Click per tre butonat e pare, i jep nje variabli string strComputer, i deklaruar ne nivel formsi, nje pershkrim korrespondues.
·   Ngjarja Click per dy butonat e fundit, i jep nje variabli tjeter string strSystem, i deklaruar ne nivel formsi, nje pershkrim korrespondues.

Pra ketu jane perdorur dy variabla te tipit string strComputer dhe strSystem, qe permbajne vlera te ndryshme string, ne varesi te butonave te zgjedhur. Sa here qe zgjidhet nje buton i ri, vlera e variablit perkates, ndryshon.
Private Sub opt586_Click()
          strComputer = "Pentium"
          Call DisplayCaption
End Sub
         
Pastaj thirret nje procedure, e quajtur DisplayCaption, qe bashkon permbajtjet e dy variablave dhe ndryshon vetive Caption te etiketes.
Sub DisplayCaption()
          lblDisplay.Caption = "You selected a " & _
          strComputer & " running " & strSystem
End Sub
         
Procedura e mesiperme eshte perdorur sepse, procedura e ndyshimit te vetise Caption te etiketes eshte e njejte per te peste butonat opsionale, ndryshon vetem vlera e variablave. Keshtu nuk eshte e nevojshme te perseritet pese here i njejti kod ne te pese ngarjet Click


·          Perdorimi i listave dhe i kombove.


Listat dhe kombot(combo box), paraqesin nje liste mundesish zgjedhjeje para perdoruesit. Ne menyre implicite, zgjedhjet paraqiten vertikalisht ne nje kolone te vetme, megjithate ato mund te ndertohen edhe me disa kolona. Nqs numri i zgjedhjeve e kalon ate qe mund te afishohet ne nje liste apo kombo, atehere shfaqen automatikisht ashensoret, dhe perdoruesi mund te shikoje te gjithe elementet e listes apo kombos. Figura 3.14, paraqet nje liste me nje kolone te vetme.


Figure 3.14   Liste me nje kolone.



         
Nje kontroll kombon kombino cilesite e nje kutie teksti me nje liste. Ky kontrolll u lejon ose te zgjidhni nje element nga lista ose te shtypni vete elementin e listes. Figura 3.15 paraqet nje kombo.
Figure 3.15  Kombo


         
Ndryshej nga kontrollet e tjera qe permbajne nje vlere te vetme, psh vetia Caption e etiketes ose vetia Text e kutise se tekstit, listat dhe kombot permbajne disa vlera ose nje koleksion vlerash. Ato suportojne metoda per te shtuar, hequr ose konsultuar vlerat nga koleksioni i tyre ne run-time. Per te shtuar disa elemente ne nje liste te quajtur List1, kodi do te ishte si me poshte:
List1.AddItem "Paris"
List1.AddItem "New York"
List1.AddItem "San Francisco"
         
Listat dhe kombot jane nje menyre e shkelqyer per te paraqitur nje sere mundesi zgjedhjesh para perdoruesit ne nje hapesire te kufizuar ne forms.

·          Perdorimi i ashensoreve ne rrethana futje te dhenash.


Megjithese ashensoret ne shumicen e rasteve perdoren ne dritare apo kuti teksti per te levizur neper to, shpesh here do ti shihni ato te perdorura gjate futjes se te dhenave. Meqenese ashensoret mund te tregojne pozicionin korent ne nje objekt te shkallezuar, ata mund te programohen per te kontrolluar volumin e zerit ose ngjyrat ne nje figure. Kontrollet HScrollBar (horizontal) dhe  VScrollBar (vertikal)  operojne ne menyre te pavarur nga kontrollet e tjera dhe kane vetite, metodat dhe ngjarjet e tyre. Kontrollet Scroll bar(ashensoret) nuk jane njesoj si ashensoret qe mund te lidhen me kutite e teksteve listat apo kombot.

      Kontrollet per afishimin e figurave dhe grafikeve

Meqenese Windows eshte nje GUI(graphical user interface), eshte shume e rendesishme te afishoni imazhe grafike ne aplikimet tuaja. Visual Basic ofron kater kontrolle per te punuar me grafiken: kontrolli picture box, kontrolli image, kontrolli shape dhe kontrolli line.
Kontrollet image, shape dhe line shpesh quhen si  kontrolle grafike  "lightweight". Ata kerkojne me pak cilesi te sistemit, dhe perdoren per te afishuar imazhe, me shpejt se kontrolli Picture. Ata kane nje nenbashkesi te vetive, ngjarjeve dhe metodave te kontrollit Picture.
Qellimi                                                           Kontrolli qe perdoret

Nje mbajtes kontrollesh te tjere                 Picture box
Zbatim metodash printimi ose grafike.     Picture box
Afishim figurash                                           kontroll Image ose picture box
Afishim elementesh te thjeshte grafik      kontroll Shape ose  line


·          Puna me kontrollin Pikture (Picture box)

Qellimi kryesor i perdorimit te kontrollit pikture eshte per te afishuar figura para perdoruesit. Figura qe afishohet percaktohet nga vetia Picture. Vetia Picture permban emrin e skedarit(e specifikuar bashke me rrugekalimin nqs eshte e nevojshme), per skedarin qe mban figuren qe duhet afishuar.
Shenim   Formsi ka gjithashtu nje veti  Picture qe mund te perdoret per te afishuar nje figure ne sfondin e formsit.
Per te afishuar ose zevendesuar nje figure ne run-time, ju mund te perdorni funksionin LoadPicture, per te vendosur vetine Picture. Ju duhet te specifikoni emrin e skedarit qe mban figuren si parameter te funksionit LoadPicture:
picMain.Picture = LoadPicture("VANGOGH.BMP")
         
Kontrolli pikture, ka nje veti AutoSize, qe nqs ka vleren True, shkakton ridimensionimin automatik te figures. Duhet te keni shume kujdes gjate vizatimit te formsit nqs perdorni nje kontroll pikture me vetine AutoSize me vlere true, sepse meqenese piktura do te ridimensionohet ne varesi te permbajtjes se saj, ajo mund t’ju mbuloje kontrollet e tjera ne forms.
Perdorimi i kontrolleve Pikture si mbjajtes kontrollesh te tjere.
Kontrolli pikture mund te perdoret gjithashtu edhe si mbajtes kontrollesh te tjere. Njesoj si me nje frame, ju mund te vizatoni kontrolle te tjera brenda tij. Kontrollet e vendosura brenda tij, levizin bashte me kontrollin pikture, dhe vetite Top dhe Left te tyre jane te lidhura me kete kontroll.
Nje perdorim i kontrollit pikture si mbajtes, eshte duke e perdorur ate si toolbar ose status bar. Ju mund te vendosni kontrolle image ne te per ti perdorur si butona, ose te shtoni etiketa per ta perdorur si status bar. Figura 3.16 shfaq nje kontroll pikture me vetine Align me vlere Bottom. Ai permban dy etiketa qe mund te perdoren per te afishuar mesazhin e gjendjes.
Figure 3.16   Kontroll pikture, i perdorur si status bar


         
Perdorime te tjera te kontrollit Pikture
Kontrolli pikture, ka nje sere metodash qe e bejne ate te perdorshem per qellime te tjera. Nje kontroll i thjeshte mund te perdoret per te afishuar tekst, grafik ose edhe animacione te thjeshta
Metoda Print ju lejon juve per ta afishuar tekst ne kontrollin pikture. Shume veti te fontit qe jane te vlefshme kontrollojne karakteristikat e tekstit te afishuar me metoden print. Metoda Cls mund te perdoret per te pastruar afishimet e bera.
Metodat Circle, Line, Point dhe Pset mund te perdoren per te vizatuar grafike te ndryshem ne nje kontroll pikture.Vetite si DrawWidth, FillColor, dhe FillStyle ju lejojne te persosni pamjen e grafikes se ndertuar.
Duke perdorur metoden PaintPicture, mund te krijohen animacione brenda kontrollit picture.
         

·          Kontrollet grafike “Lightweight”


Kontrollet image, shape dhe line konsiderohen si kontrolle “lightweight”;Quhen te tilla pasi ato kane vetem nje nenbashkesi te vetive, metodave dhe ngjarjeve te kontrollit pikture. Per kete arsye ato kane me pak kerkesa dhe bejne ngarkimin e figurave me shpejt se kontrolli pikture.

Perdorimi i kontrollit Imazh(Image) ne vend te kontrollit Pikture
Kontrolli imazh eshte i ngjashem me kontrollin pikture, por perdoret vetem per te afishuar figura. Ai nuk ka vetine per te sherbyer si mbajtes kontrollesh te tjera, dhe nuk ka disa nga metodat e kontrollit pikture.
Figurat ngarkohen ne kontrollin imazh njesoj si ne kontrollin pikture. Ne dritaren e vetive, vendosni vetine Picture me emer skedari dhe rrugekalim; ne run-time perdorni funksionin LoadPicture
Kontrolli imazh ka nje veti Stretch nderkohe qe kontrolli pikture ka vetine AutoSize. Sic e thame te kontrollet pikture, nqs vetise AutoSize i japim vleren True, kontrolli merr permasat e figures, ndersa nqs vetise AutoSize i japim vleren False, shkokton prerjen e figures, vetem nje pjese e saj do te shihet. Nqs ne kontrollin imazh, vetise Stretch te tij i japim vleren False(implicite), shkakton kontrollin te marre permasat e figures, ndersa kur kjo veti ka vleren False, atehere figura merr permasat e kontrollit imazh, gje qe mund te shkaktoje prishjen e cilesise se figures.
         
Perdorimi i kontrollit imazh per te krijuar butona personale.
Kontrolli imazh, suporton ngjarjen click, keshtu qe ju mund ta perdorni ate edhe si buton komandash. Kjo eshte nje menyre e pershtatshme per te krijuar nje buton me nje figure, ne vend te Caption-it. Grupimi i disa kontrolleve imazh sebashku, horizontalisht ne krye te ekranit-ju lejun juve te krijoni nje toolbar ne aplikimin tuaj.
Per te krijuar nje kontur perreth kontrollit imazh, vendosni vetise BorderStyle 1-Fixed Single.
Shenim   Ndryshej nga kontrollet e butova te komandave, kontrolli imazh nuk duket i shtypur kur shtypet, kjo do te thote se nqs ju nuk ndryshoni figuren ne ngjarjen MouseDown, shtypja e ketyre kontrolleve kur perdoren si butona, nuk dallohet
         
         
Perdorimi i kontrolleve Shape dhe Line
Kontrollet Shape dhe line perdoren per vizatimin e elementeve grafike ne siperfaqen e nje formsi. Keto kontrolle nuk suportojne ndonje ngjarje; ata perdoren kryesisht per qellime dekori.
Vetite e shumta qe ata suportojne, kontrollojne pamjen e kontrollit Shape. Duke vendosur vetine Shape, ai mund te afishohet si drejtkendesh, katror, rreth, drejtkendesh i rrumbullakosur, ose katror i rrumbullakosur. Vetite BorderColor dhe FillColor mund te vendosen per ti ndryshuar ngjyren, vetite BorderStyle, BorderWidth, FillStyle, dhe  DrawMode kontrollojne se si eshte vizatuar ai.
Kontrolli line eshte i ngjashem me kontrollin shape por mund te perdoret vetem per te vizatuar vija te drejta.
         

·          Aplikim me imazhe.


Formsi i paraqitur ne Figuren 3.18 perdor kater kontrolle imazhe, nje kontroll shape,nje kontroll pikture , dhe nje buton komande. Kur perdoruesi klikon nje simbol letrash bixhozi, kontrolli shape ndricon simbolin dhe nje mesazh afishohet ne kontrollin pikture. Shikoni shembullin  Images.frm ne aplikimin Controls.vbp.


Figure 3.18   Shembull me kontrolle imazhe dhe shape.


         
Tabela e meposhtme, liston vetite e vendosura per objektet e perdorura ne aplikim.
Object
Property
Setting
Kontroll Pikture
Name
picStatus

Align
Bottom
Kontrolli imazh i pare
Name
imgClub

Picture
Spade.ico
Kontrolli imazh i dyte
Name
imgDiamond

Picture
Diamond.ico
Kontrolli imazh i trete
Name
imgHeart

Picture
Heart.ico
Kontrolli imazh i katert
Name
imgSpade

Picture
Spade.ico
Kontrolli Shape
Name
shpCard

Shape
4-Rounded Rectangle

BorderWidth
2

Height
735

Width
495
buton komande
Name
cmdClose

Caption
&Close

                       
Ngjarjet ne aplikimin me imazhe
·   Ngjarja Click ne cdo kontroll imazh, vendos vetine  Left te kontrollit te barabarte me me vleren e vetise Left te vete kontrollit imazh, duke e levizur kontrollin shape ne krye te imazhit.
·   Metoda Cls e kontrollit pikture provokohet per te fshire afishimin korent nga “status bar”.
·   Metoda  Print e kontrollit pikture provokohet, per te printuar(afishuar) mesazhin e ri ne “status bar”
         
Kodi ne ngjarjen Click te kontrollit imazh eshte si me poshte
Private Sub imgHeart_Click()
          shpCard.Left = imgClub.Left
          picStatus.Cls
          picStatus.Print "Selected: Club"
          shpCard.Visible = True
End Sub
         
Nje instruksion tjeter interesant ne kete aplikim eshte ne ngjarjen Form_Load event.
shpCard.Visible = False
         
Duke i dhene vetise Visible te kontrollit shape vleren False, kontrolli shape eshte i fshehur derisa te klikohet kontrolli i pare.
         

·          Kontrolle te tjera shtese.

Shume kontrolle te tjera, perfshihen ne kutine toolbox standarte te Visual Basic. Disa kontrolle perdoren per te punuar me sasi te medha te dhenash, te ndodhura ne nje baze te dhenash. Disa te tjera mund te perdoren per te konsultuar skedaret e sistemit te Windows-it.
Ju mund te perdorni gjithashtu kontrollet ActiveX, qe ne versionet e meparshme jane quajtur kontrolle OLE, ne nje aplikim Visual Basic, ne te njejten menyre si kontrollet standarte.
         
Kontrollet e konsultimit te te dhenave.

Ne biznesin e sotshem, shumica e informacionit rezervohet ne nje ose disa baza te dhenash. Visual Basic suporton nje sere kontrollesh per konsultimin e shumices se formateve te bazave te dhenave si Microsoft Access dhe  SQL.
·     Kontrolli data perdoret per tu lidhur me nje baze te dhenash. Vetite, metodat dhe ngjarjet e tij ju lejojne juve te navigoni, dhe manipuloni te dhenat nga aplikimi juaj.
·     Kontrolli DBList eshte i ngjashem me kontrollin liste(list box). i kombinuar me nje kontroll data, kontrolli DBList mund te mbushet automatikisht me vlerat e nje fushe nje te baze te te dhenash.
·     Kontrolli DBCombo eshte si nje kombinim i kontrolleve  DBList me nje kuti teksti. Teksti i zgjedhur ne kutine e tekstit mund te modifikohet.
·     Kontrolli DBGrid afishon te dhenat ne nje gride ose tabele. I kombinuar me nje kontroll data, ai paraqet te dhena te modifikueshme nga shume fusha te nje baze te dhenash.
·     Kontrolli  MSFlexGrid eshte nje kontroll unik per te paraqitur disa pamje te dhenash. Ai mund te konsiderohet si kombinim i nje kontrolli gride me nje kontroll tree ose outline. Ne run-time, perdoruesi mund te riorganizoje kolonat dhe rreshtat per te marre pamje te ndryshme te dhenash.
         
         
Kontrollet e skedareve te sistemit
Visual Basic ka tre kontrolle per komunikimin me skedaret e sistemit, qe perdoren te kombinuar se bashku.
·     Kontrolli DriveListBox ngjan me nje kontroll kombo. ai paraqet nje kombo me emrat e disqeve qe mund te zgjedhe perdoruesi.
·     Kontrolli DirListBox ngjan me nje kontroll liste, me vecorine qe afishon listen e direktorive te diskut te zgjedhur
·     Kontrolli  FileListBox gjithashtu ngjan me nje kontroll liste, dhe afishon listen e skedareve te direktorise se zgjedhur.
         
Shenim   Keto kontrolle jane suportuar ve Visual Basic 5.0, per kompabilitet me aplikimet e krijuara ne versionet e meparshme te Visual Basic. Kontrolli Common Dialog, ofron me shume komoditet dhe metoda me te lehta per lidhjen dhe komunikimin me skedaret e sistemit. Per me shume informacion rreth kontrollit common dialog, shikoni “Kontrollet Mikse”, me poshte ne kete kapitull.
         
Kontrollet mikse
Visual Basic, suporton edhe shume kontrolle te tjera standarte.
·   Kontrolli  timer mund te perdoret per te krijuar nje ngjarje ne aplikimin tuaj qe duhet te shkaktohet pas nje intervali te caktuar.
·   Kontrolli common dialog shton kuti dialogu ne aplikimin tuaj per zgjedhjen e skedareve te sistemit, ngjyrave, fonteve dhe funksionet e printimit.

·          Kuptimi i Fokusit

Ne menyre qe me nje objekt te mund te komunikoje perdoruesi, qe ai te mund te marre te dhena, ai duhet te kete fokus. Ne nderfaqesin e Microsoft Windows, disa plikime mund te ekzekutohen njekohesisht, por vetem aplikimi me fokus, e ka shiritin e titullit te aktivizuar, dhe mund te marre  te dhena nga perdoruesi. Ne nje forms Visual Basic me disa kuti teksti, vetem kutia e tekstit qe ka fokus do te afishoje tekstin e futur me tastiere.
Ngjarjet GotFocus dhe LostFocus ndodhin kur nje objekt merr ose humbet fokusin. Formset dhe shumica e kontrolleve i suportojne keto ngjarje.
         
         
Objektet qe kane fokus dallohen. Psh, kur nje buton komandash ka fokus, ai shfaqet me nje kontur te ndritshem perreth tekstit qe ai afishon. (Figure 3.19).
Figure 3.19   Nje buton komandash me fokus.


         
Nje objekt mund te marre fokus, vetem kur vetite Enabled dhe Visible te tij jane True. Vetia Enabled lejon objektin tu pergjigjet ngjarjeve te shkaktuara nga perdoruesi si ngjarjet e tastieres apo mouse-it. Vetia Visible percakton nese nje objekt mund te shfaqet ne ekran
Shenim   Kontrollet Frame, Etiketat, menu, line, shape, imazh, dhe timer nuk mund te marrin fokus. Nje forms mund te marre fokus vetem nqs nuk permban ndonje kontroll qe mund te marre fokus.
         

·          Vendosja e Tab Order

Tab Order eshte rradha sipas te ciles perdoruesi kalon nga nje kontroll ne nje tjeter duke shtypur tasten TAB. Ne pergjithesi, tab order eshte rradha sipas te ciles jane vendosur kontrollet ne forms.
Per shembull, supozojme se krijoni dy kuti teksti, Text1 dhe Text2, pastaj nje buton komandash Command1. Kur ekzekutohet aplikimi, Text1 ka fokusin. Duke shtypur TAB fokusi zhvendoset neper objekte sipas rradhes qe ata u krijuan, si ne Figuren 3.20.
Figure 3.20   Shembull i Tab Order

         
Per te ndryshuar tab order per nje kontroll ndryshoni vetine TabIndex. Vetia TabIndex e nje kontrolli, percakton pozicionin e tij ne tab order. Ne menyre implicite, kontrolli i vizatuar i pari, ka vleren e TabIndex 0, i dyti e ka 1 e me rradhe. Kur ju ndryshoni pozicionin e nje kontrolli ne tab order, Visual Basic rinumeron automatikisht pozicionet ne tab order te kontrolleve te tjera per te reflektuar ndryshimet e bera.. Psh, nqs ju vendosni te parin Command1 ne tab order, vetia TabIndex e kontrolleve te tjera do te ndryshohet si ne tabelen me poshte

Kontrolli
TabIndex para ndryshimit
TabIndex pas ndryshimit
Text1
0
1
Text2
1
2
Command1
2
0

Shenim   Kontrollet qe nuk mund te marrin fokus, nuk e kane vetine TabIndex dhe nuk perfshihen ne tab order.
         
Perjashtimi i nje kontrolli nga Tab Order
Ne pergjithesi, Duke shtypur tab ne run-time, zgjithet cdo kontroll ne tab order. Ju mund ta perjashtoni nje kontroll nga tab order duke vendosur vleren e vetise TabStop, False (0).
Shenim   Nje grup butonash opsionale ka vetem nje tab stop. Butoni i zgjedhur i grupit, automatikisht, ne vetine e tij TabStop ka vleren True ndersa butonat e tjere ne vetine e tyre TabStop kane vleren False.
         

      Menute

Nqs doni qe aplikimi juaj te kete nje bashkesi komandash, menute ofrojne nje menyre te pershtatshme per ti grupuar komandat dhe nje menyre te lehte per perdoruesit per ti konsultuar ato.
Figura 3.21 ilustron elementet e nje nderfaqesi menush ne nje forms pa titull.


Figure 3.21 Elementet e nje nderfaqesi menush ne nje forms Visual Basic


         
Per ta bere aplikimin tuaj me te lehte ne perdorim, ju duhet ti gruponi elementet e menuve(komandat), sipas funksionit te tyre. Per shembull ne figuren 3.21, komandat qe kane te bejne me skedaret jane perfshire ne menune Skedar.
Disa elemente te menuve e kryejne funksionin menjehere, psh elementi Exit nga menuja file mbyll aplikimin. Disa elemente te teje menushe, afishojne nje kuti dialogu - nje dritare qe i kerkon perdoruesit informacion shtese per te kryer veprimin. Keto elemnte te menuve ndiqen nga simboli (...). Psh kur ju zgjidhni komanden Save As... nga menuja File, shfaqet kutia e dialogut Save As.
Nje kontroll menu eshte nje objekt, dhe si objektet e tjera ka vetite e tij, qe mund te perdoren per te percaktuar pamjen dhe sjelljen e tij. Ju mund te vendosni vetite Caption, Enabled, Visible, Check dhe shume te tjera gjate ndertimit te menuse. Kontrollet menu kane vetem ngjarjen Click, qe provokohet kur zgjidhet elementi i menuse me mouse ose tastiere.
         
Menute Pop-Up
Nje menu pop-up eshte nje menu e shkurter qe afishohet mbi nje forms, ne menyre te pavarur nga shiriti i menuve te aplikimit, sic duket ne figuren 3.22. Elementet e shfaqur ne menune pop-up, varen nga vendi ku shtypet butoni i djathte i mouse-it. Ndryshej menute pop-up quhen edhe menu shortcut.
Nje menu qe ka te pakten nje element menuje, mund te afishohet si menu pop-up ne run-time. Per te afishuar nje menu pop-up, perdoret metoda PopupMenu
         
Perdorimi i editorit te Menuve.
Me editorin e menuve, mund te shtoni komanda te reja ne menute ekzistuese, te zevendesoni komanda ekzistuese me komanda te tjera, dhe te krijohen menu te reja. Avantazhi kryesor i perdorimin te editorit te menuve eshte lehtesia ne perdorim.
    Per te afishuar editorin e menuve:
·  Nga menuja Tools , zgjidhni Menu Editor.
         
Keshtu hapet editori i menuve, si ne Figuren 3.23


Figure 3.23   Editori i menuve
         
Nje sere vetishe te kontrollit menu, mund te vendosen ne editorin e menuve, por gjithashtu te gjitha vetite mund te vendosen edhe nga dritarja e vetive. Normalisht mund te krijoni nje menu ne editorin e menuve, dhe per te ndryshuar nje veti mund te perdorni dritaren e vetive.
         

      Komunikimi me perdoruesit me kuti dialogu.

Ne aplikimet nen Windows, kutite e dialogut perdoren per te komunikuar me perdoruesin, per te futur te dhena ose per te afishuar mesazhe informacioni. Kutite e dialogut jane tipe speciale formsesh qe mund te krijohen:
·     Kutite e dialogut e percaktuara, mund te krijohen nga programuesi me kod, me ndihmen e funksioneve  MsgBox ose InputBox.
·     Kutite e dialogut e personalizuara mund te krijohen duke perdorur nje forms standart ose duke personalizuar nje kuti dialogu ekzistuese.
·     Kutite e dialogut standarte, si Print dhe File Open, mund te krijohen duke perdorur kontrollin common dialog.
Figura 3.24 afishon nje kuti dialogu te percaktuar.


Figure 3.24  Nje kuti dialogu e percaktuar.

         
Kodi qe afishon kutine e dialogut ne figuren 3.24:
MsgBox "Gabim gjate hapjes se skedarit," & vbCrLf & "Provojeni rishtas", bExclamation, "Editor teksti"

No comments:

Post a Comment