Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Comenzi pentru lucrul cu meniuri

fox pro



+ Font mai mare | - Font mai mic



Comenzi pentru lucrul cu meniuri

Definirea barei unui meniu se face prin intermediul comenzii DEFINE MENU:

DEFINE MENU < nume meniu >



[ BAR [ AT LINE < expN1 > ]]

[in [ WINDOW ] < nume fereastra > | in SCREEN ]

[ KEY < eticheta tasta > ]

[ MARK < expC1 > ]

[ MESSAGE < expC2 > ]

[ NOMARGIN ]

[COLOR <lista perechi culori>

|COLOR SCHEME <expN2> ]

barei meniului I se atribuie un nume, < nume meniu >, urmand ca in continuare acest element sa fie identificat prin numele atribuit.

Clauza BAR se foloseste cu scopul de a prelua caracteristicile noii bare de meniu de la cea a meniului sistem al FoxPRO - ului. Urmatoarele aspecte sunt caracteristice meniului sistem:

dupa alegerea unei optiuni bara de meniu se dazactiveaza;

bara de meniu va acoperi o singura linie a ecranului sau a ferestrei in care este plasata, de la un capat la altul;

pozitia submeniurilor va fi stabilita de FoxPro, in mod automat;

daca bara va avea dimensiuni mai mari decat ecranul sau fereastra in care s-a introdus , se va folosi metoda defilarii pentru accesarea optiunilor bara.

Clauza AT LINE determina afisarea barei meniului pe linia cu numarul expN1 a ecranului sau a ferestrei respective.Clauzelein WINDOW siin SCREEN sunt folosite pentru a specifica locul unde va fi plasata bara meniului:

-in fereastra nume fereastra,dacain comanda se include cauzain WINDOW;

-in fereastra curenta,daca aceasta ezista si in camanda nu este prezenta nici una din cele doua clauze;

-in ecranul FoxProW daca se precizeaza clauzain SCREEN sau nu se specifica nici una din cele doua clauze,iar iesirea curenta este directionata spre ecran.

Clauza MESSAGE determina afisarea sirului de caractere < expC > pe ultima linie a ecranului, in centrul acestuia sau in barea de stare de la partea inferioara a ferestrei, daca aceasta exista. Clauza este influentata de comanda SET MESSAGE. Optiunile bara ameniului vor fi afisate una dupa alta, pe bara meniului, acestea fiind separate prin blancuri. Eliminarea blancurilor separatoare se face introducand clauza NOMARGIN in comanda DEFINE MENU respectiva.

Clauza COLOR si COLOR SCHEME controleaza culorile folosite pentru afisarea meniului. Implicit, afisarea meniului se va face folosind culorile schemei 2 de culori, " Meniuri definite de utilizator", pentru folosirea altei cheme folosindu-se una dintre cele doua clauze COLOE si COLOR SCHEME.

Dupa definirea unei bare a meniului trebuie sa definim optiunile bara care vor apartine barei respective, aceasta relizandu-se cu comanda DEFINE PAD:

DEFINE PAD < optiune bara > OF < nume meniu > PROMPT < expC1 >

[ AT < linie >, < coloana >]

[ BEFORE <optiune bara2> AFTER < optiune bara3 >]

[ KEY < eticheta tasta > [ , < expc2 > ]]

[ MARK < expc3 > ]

[ SKIP [ FOR < expL > ]]

[ MESSAGE < expc4 > ]

[ COLOR < lista perechi culori > COLOR SCHEME < expn > ]

Numele optiunii bara va fi < optiune bara >, iar bara de meniu de care aceasta va apartine va fi < nume meniu >. Textul care va fi afisat pe bara meniului va fi cel dat de clauza PROMPT, adica sirul de caractere < expC1 >. Stabilirea unei taste directe de alegere a optiunii bara respective se realizeaza prin plasarea combinatiei " < " inaintea caracterului ce va desemna tasta directa, in textul clauzei PROMPT.

Exemplu: ..... PROMPT " < Stergere " ...

Va defini un text a unei optiuni bara, "Stergere ", in care tasta directa de alegere va fi " S ".

Daca in textul clauzei PROMPT caracterul selectat care reprezinta tasta directa nu este primul de acest tip, atunci ca tasta directa de alegere va fi aleasa prima aparitie a caracterului respectiv din sir.

Exemplu: .... PROMPT "Alb < astru "...

In acest caz vom avea textul "Albastru" in care " A " va reprezenta tasta directa de alegere ( de fapt selectarea se poate face atat prin tastarea lui " A " cat si tastarea lui " a " ).

Clauza AT determina pozitia de pe ecran sau fereastra unde va fi afisata optiunea bara respectiva: linia va fi desemnata prin < linie >, iar coloana prin <coloana>. In felul acesta se pot optine atat meniuri verticale si orizontale, cat si alte genuri de meniuri, neregulate.

In cazul in care clauza AT lipseste, afisarea optiunilor bara se va face incepand de la linia 0, coloana 0, una dupa alta, pe directia orizontala. Clauza AT nu se poate folosi pentru o bara a meniului definita cu clauza BAR ( acestea sunt intotdeauna orizontale, iar pozitia optiunilor bara este controlata automat de catre FoxPro ).

Ordinea de aparitie si selectarea optiunilor bara ale unui meniu este data de ordinea definirii acestora prin comenzile DEFINE PAD corespunzatoare. Daca dupa definirea unui numar de optiuni bara se doreste inserarea uneia noi intre cele definite anterior, se foloseste una dintre clauzele BEFORE sau AFTER.

Clauza BEFORE determina inserarea lui < optiune bara1 > imediat inainte de < optiune bara2 >, iar clauza AFTER determina inserarea lui < optiune bara1 > imediat dupa < optiune bara3 > .

Exemplu:

DEFINE MENU test

DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '

DEFINE PAD opt2 OF test PROMPT ' Opt < 2 '

DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '

Acelasi lucru se poate obtine cu una din urmatoarele secvente:

DEFINE MENU test

DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '

DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '

DEFINE PAD opt2 OF test PROMPT ' Opt < 2 ' BEFORE opt3

Sau

DEFINE MENU test

DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '

DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '

DEFINE PAD opt2 OF test PROMPT ' Opt < 2 ' AFTER opt1

test: Opt 1 Opt 2 Opt 3

clauza KEY se foloseste pentru definirea unei cai directe de alegere a optiunii bara respective. Calea directa de alegere reprezinta o combinatie de taste care actionate la un moment dat, determina alegerea optiunii respective. Combinatia de taste va fi desemnata printr-o eticheta, < eticheta tasta >.

O optiune bara care este prevazuta cu o cale directa de alegere va fi afisata avand la dreapta ei eticheta respectiva. Daca se doreste inhibarea acestei afisari, sau afisarea unui alt text in locul etichetei, se va folosi sirul de caractere < expC2 > care poate contine :

textul de afisat in dreapta optiunii bara, sau

poate fi sirul vid, cand se doreste suprimarea afisarii caii directe alaturi de optiunea bara.

Exemplu:

DEFINE PAD opt1 OF test PROMPT ' Opt < 1 ' KEY Ctrl + H, "^H"

Opt 1 ^H Opt 2 Opt 3

Pentru stabilirea conditiilor de accesare a unei optiuni bara se foloseste clauza SKIP. Daca aceasta clauza se foloseste fara FOR, optiunea bara respectiva nu va putea fi accesata, adica ea este dezactivata.

De asemenea dezactivarea unei optiuni bara se poate face prin plasarea caracterului " " inaintea textului din clauza PROMPT.

Clauza MESSAGE determina afisarea textului din sirul < expC4 > cat timp optiunea bara respectiva este selectata. Afisarea mesajului este controlata de comanda SET MESSAGE.

Exemplu: comenzile urmatoare sunt echivalente:

DEFINE PAD opt1 OF test PROMPT " Alea "

DEFINE PAD opt1 OF test PROMPT " Alea " SKIP

Clauzele COLOR si COLOR SCHEME specifica culorile folosite pentru afisarea optiunii bara, implicit folosindu-se schema de culori 2.

Exemplu : vom defini bara de meniu de mai jos:

Modificare Adaugare ^N Stergere Listare Vizualizare Iesire ^ K

in care optiunile mai sterse sunt dezactivate, literele subliniate reprezinta taste directe de alegere, ^N , ^K reprezinta cai directe de alegere.

DEFINE MENU actiune

DEFINE PAD mod OF actiune PROMPT " < Modificare "

DEFINE PAD adaug OF actiune PROMPT " < Adaugare " KEY Ctrl + N , ^N

DEFINE PAD sterg OF actiune PROMPT " < Stergere " SKIP BEFORE adaug

DEFINE PAD listare OF actiune PROMPT " < Listare "

DEFINE PAD viz OF actiune PROMPT " < Vizualizare "

DEFINE PAD ies OF actiune PROMPT " < Iesire " KEY Ctrl + X, "^ K " AFTER viz

Submeniurile se definesc prin comanda DEFINE POPUP :

DEFINE POPUP < nume submeniu >

[ FROM < linie1 >, < coloana1 > ]

[ TO < linie2>, < coloana2> ]

[in [WINDOW] <nume fereastra > | in SCREEN ]

[ FOOTER <exp C1 > ] [ TITLE < expC2 > ]

[ KEY < eticheta tasta > ]

[ MARGIN ]

[ MARK <expC3 > ]

[ MESSAGE <expC4 > ]

[ MOVER ]

[ MULTISELECT ]

[ PROMPT FIELD <expr> | PROMPT FILES [LIKE <masca>] | PROMPT STRUCTURE]

[ RELATIVE ]

[ SCROLL]

]SHADOW ]

[ COLOR <lista perechi culori > | COLOR SCHEME <expN>]

Un submeniu reprezinta o lista de optiuni care pot fi de urmatoarele tipuri:

-optiuni definite de utilizator ( prin comenzi DEFINE BAR );

-optiuni calculate pe baza continutului unor inregistrari ale unei baze de date ( PROMPT FIELD )

-campuri ale unei baze de date ( PROMPT STRUCTURE );

-o lista de fisiere dintr-un anumit director, de pe un anumit disc ( PROMPT FILES ).

Numele submeniului va fi < nume submeniu >. Pozitia acestuia pe ecran sau intr-o fereastra va fi data de clauza FROM, in care < linie1 >, < coloana1 > indica pozitia coltului din stanga - sus al submeniului. Daca aceasta clauza lipseste, submeniul va fi plasat in coltul din stanga - sus al ecranului FoxPro sau al ferestrei active, in pozitia 0,0

Clauza TO este folosita pentru a indica pozitia coltului din dreapta - jos al submeniului, prin coordonatele < linie2 >, < coloana2 >, acestea determinand si marimea submeniului pe ecran. In cazul cand aceasta clauza lipseste, FoxPro va calcula automat dimensiunea submeniului.

Pentru ca submeniul sa fie plasat intr-o fereastra definita de utilizator, numele acesteia, < nume fereastra >, va fi inclus in clauzain WINDOW. Daca aceasta clauza lipseste, submeniul va putea fi introdus intr-o fereastra in cazul cand iesirea este directionata catre acea fereastra ( fereastra curenta ) si in comanda DEFINE POPUP nu s-a inclus clauzain SCREEN. Submeniul va fi plasat pe ecranul FoxPro daca este prezenta clauzain SCREEN sau daca nu s-a specificat nici clauzain WINDOW si nici clauzain SCREEN si iesirea este directionata spre ecran.

Clauza TITLE se foloseste pentru afisarea textului dat de sirul < expC2 >in centrul laturii superioare a chenarului submeniului, iar clauza FOOTER permite afisarea textului din sirul < expC! > in latura inferioara a chenarului submeniului. Clauza KEY se foloseste in scopul de a specifica o cale directa pentru activarea submeniului, cale data de eticheta < eticheta tasta >.

Cat timp submeniul este activat se poate afisa un text explicativ, un mesaj, pe ultima linie a ecranului sau a ferestrei respective. Mesajul este dat prin < expC4 > , expresie de tip sir de caractere, inclusa in clauza MESSAGE. Clauza aceasta este controlata de comanda SET MESSAGE. Clauza MARGIN se include in comanda pentru ca optiunile sa fie separate de chenar printr-un spatiu suplimentar, la dreapta si la stanga acestora.

MOVER este o clauza ce permite rearanjarea optiunilor intr-un submeniu, cand acesta este activat. In prezenta acestei clauze, optiunile submeniului vor avea in dreapta lor caracterul "| " indicand posibilitatea de mutare a acestora. Clauza MOVER nu are efect in cazul submeniurilor create cu PROMPT.

O alta posibilitate a submeniului este cea a selectiilor multiple, adica posibilitatea utilizatorului de a selecta mai mult de o optiune. Fiecare dintre optiunile selectate va fi marcata in stanga ei, cu un caracter de marcaj. Aceasta facilitate este conditionata de prezenta clauzei MULTISELECT in comanda DEFINE POPUP.

Modul de selectare a mai multor optiuni depinde de comanda SET KEYCOMP. Dupa realizarea unei multiselectari, testarea in program a selectarii unei optiuni a unui submeniu se realizeaza cu functia MRKBAR(). Clauza MULTISELECT nu poate fi folosita in acelasi timp cu clauza PROMPT.

Tipul de submeniu va fi determinat de clauza PROMPT. Daca acesta clauza lipseste, optiunile submeniului urmeaza a fi definite cu comenzi de tipul DEFINE BAR.

In cazul clauzei PROMPT FIELD optiunile submeniului vor fi preluate dintr-o baza de date deschisa intr-una din zonele de lucru, pentru fiecare inregistrare cate o optiune. La activarea submeniului se va selecta automat zona de lucru respectiva.

Expresia < expr > va determina modul de obtinere a unei optiuni din inregistrarea corespunzatoare. Aceasta expresie poate contine campuri ale bazei de date deschisa in alta zona de lucru, in care se poate aplica operatorul de concatenare. Numarul maxim de optiuni ale unui submeniu creat dintr-o baza de date este nelimitat.

Exemplu:

CLEAR

USE agenda

DEFINE POPUP ag FROM 10 ,10 TO 20 , 23 MARGIN ;

PROMPT FIELD SUBSTR ( nume, 1 ,4 ) + " " + SUBSTR ( prenume, 1 , 4 )

ACTIVATE POPUP ag && se activeaza meniul

CLEAR POPUPS && se sterge submeniul definit

USE

Cea de-a treia comanda a exemplului defineste un submeniu numit ag, ale carui optiuni se obtin din primele patru caractere ale campurilor NUME si PRENUME, concatenate, cu un blanc intre ele.

Pentru ca optiunile submeniului sa reprezinte fisiere de pe un disc, dintr-un anumit dosar, se foloseste clauza PROMPT FILES.

Exemplu: se va defini un submeniu in care se vor afisa toate bazele de date din radacina discului A:

DEFINE POPUP test FROM 10, 10 MARGIN PROMPT FILES A: *. DBF

ACTIVATE POPUP test

CLEAR POPUPS

Clauza SCROOL are ca efect afisarea unei bare de derulare verticale, pe latura dreapta a chenarului submeniului, cand nu pot fi afisate simulta in submeniu toate optiunile.

Pentru definirea optiunilor uni submeniu, ce a fost definit anterior cu o comanda DEFINE POPUP, vom folosi comanda DEFINE BAR, cu sintaxa:

DEFINE BAR < expN1 > | < nume optiune sistem > OF < nume submeniu > PROMPT < expC1 >

[ BEFORE < expN2 > | AFTER < expN3 > ]

[ KEY <eticheta tasta > [ , < expC2 > ]]

[ MARK < expC43> ]

[ MESSAGE <expC4 > ]

[ SKIP [ FOR < expL > ]]

[ COLOR < lista perechi culori > | COLOR SCHEME < expN > ]

Definirea optiunilor intr-un submeniu se face asemanator cu definirea optiunilor bara, intr-o bara a unui meniu , ca urmare comenzile DEFINE BAR si DEFINE PAD sunt asemanatoare. Datorita acestui lucru, vom prezenta doar diferentele dintre cele doua comenzi.

Pentru fiecare optiune a unui submeniu se va introduce cate o comanda DEFINE BAR. Identificarea optiunilor intr-un submeniu se face prin pozitia acesteia in cadrul submeniului.

In cadrul comenzii DEFINE BAR referirea la o optiune se face prin < expN1 >, aceasta desemnand optiune cu numarul de ordine < expN1 > a submeniului < nume submeniu >. In cadrul submeniului definit de utilizator pot intra ca optiuni si cele ale meniului sistem, aceasta varianta fiind desemnata in comanda DEFINE BAR prin < nume optiune sistem>.

Prin clauza PROMPT se specifica textul ce va fi afisat pe pozitia optiunii in submeniul respectiv. In sirul de caractere < expC1> ce desemneaza textul respectiv, se pot introduce combinatiile " < ", pentru desemnarea unei taste directe de alegere, sau " " pentru a indica o optiune dezactivata.

Spre deosebire de comanda DEFINE PAD, sirul de caractere al clauzei PROMPT al comenzii DEFINE BAR, poate fi de forma " _ ", indicand ca pe pozitia optiunii respective se va introduce o linie de separare a optiunilor, permitand astfel gruparea logica a acestora. Clauzele BEFORE si AFTER sunt urmate de expresii numerice indicand " inaintea " careia, respectiv " dupa ce " optiune va fi introdusa noua optiune a submeniului. Aceste clauze nu pot fi folosite decat in prezenta clauzei RELATIVE in comanda de creare a submeniului.

In expresiile numerice ale acestor clauze pot fi incluse si variabilele sistem _ MFIRST si _MLAST, indicand primul si, respectiv, ultimul articol dintr-un submeniu.

Exemplu: se va defini urmatorul submeniu:

Albastru

.......

Verde

Rosu

Negru

Alb

Galben

DEFINE POPUP culori FROM 6 , 10 TO 14, 21 MARGIN MULTISELECT

DEFINE BAR 1 OF culori PROMPT " Alb<astru "

DEFINE BAR 2 OF culori PROMPT " <Verde " SKIP

DEFINE BAR 3 OF culori PROMPT " <Rosu "

DEFINE BAR 4 OF culori PROMPT " _ "

DEFINE BAR 5 OF culori PROMPT " <Negru "

DEFINE BAR 6 OF culori PROMPT " <Alb " SKIP

DEFINE BAR 7 OF culori PROMPT " <Galben"

ACTIVATE POPUP culori

CLEAR MENUS

Definirea unei bare de meniu sau a unui submeniu nu este suficienta pentru lucrul cu aceste elemente. Mai este necesara si afisarea si activarea lor, in acest mod bara de meniu sau submeniul aparand pe ecran si cursorul trecand pe una din optiunile elementului respectiv.

Afisarea si activarea unei bare de meniu se face cu comanda ACTIVATE MENU.

ACTIVATE MENU < nume meniu >

[ NOWAIT ]

[ PAD < nume optiune bara > ]

Comanda afiseaza si activeaza bara < nume bara >, selectand initial prima optiune bara. pentru selectarea initiala a altei optiuni bara se va folosi clauza PAD in care se va specifica optiunea bara dorita.

Clauza NOWAIT determina continuarea executiei programului dupa afisarea si activare barei de meniu ( in mod normal programul se opreste, asteptand selectarea unei optiuni bara ). Bara de meniu va ramane activa, utilizatorului dandu-i-se posibilitatea selectarii unei optiuni bara ori de cate ori programul asteapta introducerea unor date de la tastatura.

Exemplu:

CLEAR

DEFINE MENU domeniu

DEFINE PAD fizica OF domeniu PROMPT " <Fizica "

DEFINE PAD chimie OF domeniu PROMPT " <Chimie "

DEFINE PAD literat OF domeniu PROMPT " <Literatura "

DEFINE PAD sport OF domeniu PROMPT " <Sport "

ACTIVATE MENU domeniu PAD sport NOWAIT

@ 10, 10 SAY " domeniu " GET dom DEFAULT " "

READ

CLEAR

DEACTIVATE MENU domeniu

Fizica Chimie Literatura Sport

  domeniu

Analog afisarii si activarii barei de meniu se face si afisarea si activarea submeniului. In acest caz folosindu-se comanda ACTIVATE POPUP, cu sintaxa:

ACTIVATE POPUP < nume submeniu >

[ AT < linie >, <coloana > ]

[ BAR < expN > ]

[ NOWAIT ]

[ REST ]

Aceasta comanda va afisa si activa submeniul < nume meniu > , la coordonatele specificate in clauza AT, < linie > si < coloana >.

Exemplu: bara de meniu domeniu, definita si activata in exemplul anterior, o vom defini acum sub forma unui submeniu:

DEFINE POPUP domeniu FROM 10 , 10 MARGIN

DEFINE BAR 1 OF domeniu PROMPT " <Fizica "

DEFINE BAR 2 OF domeniu PROMPT " <Chimie "

DEFINE BAR 3 OF domeniu PROMPT " <Literatura "

DEFINE BAR 4 OF domeniu PROMPT " <Sport "

ACTIVATE POPUP domeniu BAR 4 NOWAIT AT 2, 5

@ 10, 10 SAY " domeniu " GET dom DEFAULT " "

READ

CLEAR

DEACTIVATE POPUP domeniu

Fizica

Chimie

Literatura

Sport

  domeniu

Observam analogiile dintre cele doua exemple , care practic realizeaza acelasi lucru, diferand doar formatul de afisare.

Afisarea pe ecran sau in fereastra activa , a barelor de meniu sau a submeniurilor fara activarea acestora, se realizeaza cu comenzile SHOW MENU SI SHOW POPUP cu urmatoarele sintaxe:

SHOW MENU < nume meniu1 > [ , < nume meniu2 > ..] | ALL

[ PAD < nume optiune bara > ]

[ SAVE ]

realizeaza afisarea barelor de meniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL.

Pentru afisarea unei optiuni bara ca fiind selectata, aceasta se specifica prin clauza PAD. Pentru retinerea imaginii bara de meniu pe ecran, fara activarea acesteia, se foloseste clauza SAVE in comanda SHOW MENU. Aceasta imagine va putea fi stearsa prin comanda CLEAR.

Pentru afisarea submeniurilor vom folosi comanda SHOW POPUP.

SHOW POPUP < nume submeniu1 > [ , < nume submeniu2 > ..] | ALL

[ SAVE ]

functionarea acesteia fiind identica cu cea a comenzii anterioare.

Comanda HIDE MENU:

HIDE MENU < nume meniu1 > [ , < nume meniu2 > ..] | ALL

[ SAVE ]

ascunde barelor de meniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL, dar nu le elimina din memorie.

Comanda HIDE POPUP :

HIDE POPUP < nume submeniu1 > [ , < nume submeniu2 > ..] | ALL

[ SAVE ]

ascunde submeniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL

legatura dintre barele de meniu si submeniuri este de o importanta deosebita pentru realizarea de meniuri complexe. O simpla bara de meniu sau un simplu meniu se poate folosi independent in program ca orice alt meniu, dar majoritatea aplicatiilor necesita meniuri mai complexe, care se obtin prin imbinarea acestor elemente.

O prima modalitate de a lega la o bara de meniu un submeniu, sau o alta bara de meniu, este data de comanda ON PAD:

ON PAD < nume optiune bara > OF < nume meniu >

[ ACTIVATE POPUP < nume submeniu > ]

ACTIVATE MENU < nume meniu2 > ]

Comanda va avea urmatorul efect: la alegerea optiunii bara < nume optiune bara > a barei de meniu < nume meniu1 > se va activa submeniul < nume submeniu > sau bara de meniu < nume meniu2 >, in functie de clauza folosita in comanda.

Atentie: activarea submeniului sau a barei de meniu se va face la selectarea optiunii bara respective ) fara a fi nevoie de actionarea tastei Enter sau Space ).

Pentru activarea unui submeniu se foloseste clauza ACTIVATE POPUP urmata de numele submeniului, iar pentru activarea unei alte bare de meniu se foloseste clauza ACTIVATE MENU, dupa care se include numele barei respective. Daca nu se foloseste nici una dintre cele doua clauze, alegerea optiunii nu va mai determina activarea nici unuia dintre cele doua elemente, comanda folosindu-se in acest caz la eliberarea optiunii barei respective.

Exemplu: vom crea urmatorul meniu:

Calitate Culoare Pret Stare

Negru Satisfacatoare

Alb Buna

Albastru Foarte buna

Verde

Rosu

Galben

Format dintr-o bara de meniu si doua submeniuri.

CLEAR

DEFINE MENU art

DEFINE PAD calit OF PROMPT " < Calitate "

DEFINE PAD cul OF PROMPT " CU<loare "

DEFINE PAD pret OF PROMPT " < Pret "

DEFINE PAD stare OF PROMPT " < Stare

DEFINE POPUP culori

DEFINE BAR 1 OF culori PROMPT " < Negru "

DEFINE BAR 2 OF culori PROMPT " < Alb "

DEFINE BAR 3 OF culori PROMPT " AL<bastru "

DEFINE BAR 4 OF culori PROMPT " < - "

DEFINE BAR 5 OF culori PROMPT " < Verde "

DEFINE BAR 6 OF culori PROMPT " < Rosu "

DEFINE BAR 7 OF culori PROMPT Galben "

DEFINE POPUP stari

DEFINE BAR 1 OF stari PROMPT " < Satisfacatoare "

DEFINE BAR 2 OF stari PROMPT " < Buna "

DEFINE BAR 3 OF stari PROMPT " < Foarte buna "

ON PAD cul OF Art ACTIVATE POPUP culori

ON PAD stare OF Art ACTIVATE POPUP stari

ACTIVATE MENU art

DEACTIVATE MENU art

CLEAR POPUPS

CLEAR MENUS

Corespunzatoare comenzii ON PAD pentru optiuni bara, avem o comanda pentru optiunile unui submeniu, ON BAR, cu sintaxa:

ON BAR < expN > OF < nume submeniu1 >

[ ACTIVATE POPUP < nume submeniu > ] | ACTIVATE MENU < nume meniu > ]

La selectarea optiunii < expN > a submeniului < nume submeniu 1> se va activa submeniul < nume submeniu2 >, daca se include clauza ACTIVATE POPUP, sau bara de meniu < nume meniu > , in cazul precizarii clauzei ACTIVATE MENU. Daca nici una din cele doua clauze nu se include in comanda, optiunea < expN > a submeniului < nume submeniu1 > va fi eliberata ( nu va mai determina activarea unui element la alegerea sa ).

Pot fi create in acest fel mai multe nivele de submeniuri, sau mai multe submeniuri care coordoneaza bare de meniu ( mai rar ).

Exemplu: la meniul creat anterior se adauga doua submeniuri de nivel doi, unul pentru optiunea 3 ( " Albastru ") a submeniului culori si altul pentru optiunea 2 ( " Buna " ) a submeniului stari.

CLEAR

DEFINE MENU art

DEFINE PAD calit OF PROMPT " < Calitate "

DEFINE PAD cul OF PROMPT " CU<loare "

DEFINE PAD pret OF PROMPT " < Pret "

DEFINE PAD stare OF PROMPT " < Stare

DEFINE POPUP culori

DEFINE BAR 1 OF culori PROMPT " < Negru "

DEFINE BAR 2 OF culori PROMPT " < Alb "

DEFINE BAR 3 OF culori PROMPT " AL<bastru "

DEFINE BAR 4 OF culori PROMPT " < - "

DEFINE BAR 5 OF culori PROMPT " < Verde "

DEFINE BAR 6 OF culori PROMPT " < Rosu "

DEFINE BAR 7 OF culori PROMPT Galben "

DEFINE POPUP stari

DEFINE BAR 1 OF stari PROMPT " < Satisfacatoare "

DEFINE BAR 2 OF stari PROMPT " < Buna "

DEFINE BAR 3 OF stari PROMPT " < Foarte buna "

ON PAD cul OF Art ACTIVATE POPUP culori

ON PAD stare OF Art ACTIVATE POPUP stari

DEFINE POPUP nuanta

DEFINE BAR 1 OF nuanta PROMPT " < Deschis "

DEFINE BAR 2 OF nuanta PROMPT " < Normal "

DEFINE BAR 3 OF nuanta PROMPT " < Inchis "

DEFINE POPUP verif

DEFINE BAR 1 OF verif PROMPT " < Verificat "

DEFINE BAR 2 OF verif PROMPT " < Neverificat "

ON PAD cul OF Art ACTIVATE POPUP culori

ON PAD stare OF Art ACTIVATE POPUP stari

ON BAR 3 OF culori ACTIVATE POPUP nuanta

ON BAR 2 OF Stari ACTIVATE POPUP verif

ACTIVATE MENU art

DEACTIVATE MENU art

In acest exemplu avem urmatorul meniu:

Calitate Culoare Pret Stare

Negru Satisfacatoare

Alb Buna Verificat

Albastru Deschis Foarte buna Neverificat

Verde Normal

Rosu Inchis

Galben

Pentru ca la alegerea unei optiuni bara, sau a unei optiuni a unui submeniu, sa se execute operatii mai complexe vom folosi grupul de comenzi ON SELECTION, format din urmatoarele patru comenzi:

ON SELECTION MENU

ON SELECTION PAD

ON SELECTION POPUP

ON SELECTION BAR

Aceste comenzi determina executarea unei singure comenzi la alegerea unei optiuni bara sau a unei optiuni. Aceasta comanda poate fi un apel de procedura sau o instructiune care sa contina apelul unei functii definite de utilizator, in cadrul careia se pot executa o multime de operatii, in functie de optiunea aleasa.

Comanda ON SELECTION MENU are sintaxa:

ON SELECTION MENU < nume meniu > | ALL [ < instructiune > ]

< instructiune > va fi executata la alegerea oricarei optiuni bara a barei de meniu < nume meniu > sau a oricarei bare de meniu definita cind se foloseste clauza ALL. Comanda ON SELECTION MENU trebuie plasata intre DEFINE MENU si ACTIVATE MENU.

O utilizare asemanatoare o are comanda ON SELECTION PAD, cu sintaxa:

ON SELECTION PAD < nume optiune bara > OF < nume meniu > [ < instructiune > ]

< instructiune > va fi executata numai la alegerea optiunii bara < nume optiune bara > a barei < nume meniu >.

Corespondentele celor doua comenzi, pentru submeniuri, sunt:

ON SELECTION POPUP < nume submeniu > | ALL [ < instructiune > ]

ON SELECTION BAR < expN > OF < nume submeniu > [ < instructiune > ]



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 960
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved