UTILIZAREA CONTROALELOR
Efectele valorilor atribuite proprietati ControlSource asupra controalelor
Controlul Efect
Caseta de validare In cazul in care ControlSource este un camp de tabela,atunci
valorile NULL,valorile logice adevarate(.T.) sau fals(.F.)ori
valorile numerice 0,1 sau 2 din campul ControlSource
determina selectarea,deselectarea sau dezactivarea casetei de
validare pe masura ce indicatorul de inregistrari parcurge
tabela.
Coloana In cazul in care ControlSource este un camp de tabela,
utilizatorul editeaza direct valorile campului atunci cand
editeaza valorile din coloana.Pentru a asocia cu datele intreaga
grila, configurati proprietatea RecordSource a grilei.
Caseta combinata In cazul in care ControlSource este o variabila,valoarea pe
sau caseta cu care o alege utilizatorul din lista este pastrata in variabila.
lista In cazul in care ControlSource este un camp de tabela,
valoarea este pastrata in camp acolo unde se afla indicatorul
de inregistrari.Daca exista un element in lista care corespunde
cu valoarea campului din tabela, elementul este selectat din
lista atunci cand indicatorul de inregistrari parcurge tabela.
Buton de optiune In cazul in care ControlSource este un camp numeric ,in camp
va fi inserata valoarea 0 sau 1, dupa cum butonul este selectat
sau nu.
In cazul in care ControlSource este un camp de tip logic,aici
vor fi inserate valorile .T. sau .F. dupa cum butonul este selectat
sau nu.Daca indicatorul de inregistrari parcurge tabela, valoarea
butonului de optiune se modifica pentru a reflecta noua valoare
a campului.
Daca proprietatea ControlSource a controlului OptionGroup de
care apartine butonul de optiune (nu butonul propriuzis) este de tip
caracter, titlul butonului de optiune este pastrat in acel camp daca
butonul este selectat. De notat ca pe post de control sursa a
butonului de optiune(diferit fata de controlul OptionGroup) no
poate fi folosit un camp de tip caracter, deoarece in acest caz,
Vizual FoxPro va raporta o neconcordanta de tipuri la rularea
formularului.
Spiner(caseta de Caseta de incrementare afisaza si inscrie valori numerice din
incrementare) campul sau variabila asociata.
Caseta de text sau In caseta de text este afisata valoarea campului din tabel.
caseta de editare Modificarile efectuate de utilizator sunt inserate la loc in tabela.
Mutarea indicatorului de inregistrari afecteaza proprietatea
Value(valoerea) a casetei de text.
Unele dintre sarcinile pe care vreti sa le indepliniti cu ajutorul cuntroalelor impun ca acel control sa fie asociat datelor,altele nu.
Utilizarea grupurilor de butoane de optiuni
Grupurile de butoane de optiune sunt containere care cuprind butoane de optiune . In mod obismuit , butoanele de optiune le permit utilizatorilor sa indice una dintre optiunile unei casete de dialog in loc sa introduca datele direct. de pilda , butoanele de optiune pot fi folosite pentru a specifica iesirea datelor spre un fisier , spre o imprimanta sau pe ecran ,asa cum se va arata in capitolul 12, " Adaugarea unor interogari si rapoarte "
Stabilirea numarului de butoane de optiune din cadrul unui grup de butoane de optiuni
Atunci cand creati un grup de butoane de optiune intr-un formular ,doua butoane de optiune suntt incluse in mod implicit .Prin modificarea proprietati ButtonCount, puteti specifica numarul de butoane de optiune dintr-un grup.
Configurarea proprietatilor unui buton de optiune
Pentru a configura manual elementele individuale ale unui buton de optiune sau ale unui grup de butoane de comanda in cadrul Proiectantului de Formulare ( Ford Designer ), alegeti Edit din meniul contextual al grupului .
Puteti configura proprietatile fiecarui buton in cadrul ferestrei Properties .De asemenea , proprietatile pot fi configurate in timpul executiei , indicand numele butonului de optiune si valoarea dorita pentru proprietatea respectiva .De pilda , linia de cod care urmeaza , inclusa in codul de metoda sau de eveniment al unui obiect oarecare aflat in acelasi formular cu grupul de butoane de optiune , atribuie o valoare pentru titlul butonului optCust din grupul de butoane de optiune opgChoices :
THISFORM.opgChoices.optCust.Caption = " Sort by Customer"
Aceste proprietati pot fi configurate si in momentul executiei, folosind proprietatea Buttons si indicand nr. de ordine al butonului de optiune in cadrul grupului.De pilda, daca optCust este al treilea buton din grup,linia de cod care urmeaza stabileste titlul butonului optCust:
THISFORM.opgChoices.Buttons(3).Caption = "Sort by Customer"
Activarea si dezactivarea butoanelor dintr-un grup
Exemplul precedent a aratat cum pot fi dezactivate prim program toate butoanele de optiune dintr-un grup.Butoanele dezactivate sunt afisate in culorile specificate de proprietatile Disbled.Fore.Color si DisabledBackColor ale butoanelor de optiune.Pentru a dezactiva grupul de butoane,puteti de asemenea,sa atribuiti proprietati Enabled a acestuia valoarea fals(.F.) dar ,in acest caz, utilizatorul nu va avea nici un indiciu vizual asupra dezactivarii.
Determinarea butonului de optiune care este selectat
Pentru a determina un buton de optiune din cadrul grupului este selectat ,puteti folosi proprietatea Value a grupului.In cazul in care controlul sursa al butonului este de tip numeric,in cadrul grupului exista cinci butoane de optiune.Daca este selectat al treilea buton, prop[rietatea Value a grupului este 3; daca nici un buton de optiune nu este selectat, proprietatea Value a grupului este 0.
Filtrarea listelor cu ajutorul butoanelor de optiune
Daca exista un mic set de filtre de tabela predefinite, puteti folosi butoanele de optiune pentru a permite utilizatorului sa comute in filtre.
Exemplul care urmeaza se refera la un formular care contine o caseta cu lista (lstCustomers) si un grup care contine 3 butoane de optiune.
Valorile proprietatilor casetei cu lista
Obiectul Evenimentul Codul
optAll Click SET FILTER TO
GO TOP
THISFORM.lstCustomers.Requery optCanada Click SET FILTER TO customer.country
GO TOP
THISFORM.LST.Customers.Requeri
optUk Click SET FILTER TO CUSTOMER
GO TOP
THISFORM LSTcUSTOMERS
Cand utilizatorul inchide formularul,nu uita sa resetati filtrul, incluzand comanda SET FILTER TO in codul evenuimentului CLICK al butonului de inchidere sau in codul evenimentului
Destroy.
Folosirea butoanelor de optiune pentru a pastra optiunile utilizatorului intr-o tabela
Desi nu se obisnuieste puteti folosi butoanele de optiune pt. a optine informatii de la utilizator si a le stoca intr-o tabela salvand proprietatea Caption. daca de pilda aveti o aplicatie de testare standardizata , puteti folosi butoanele de optiune pt. a permite utilizatorului sa aleaga intre optiunile A,B,C si D. De asemenea butoanele de optiune permit specificarea sexului unuik angajat in cadrul tabelei de angajati.
Proprietati si metode ale unei liste
Urmatoarele proprietati ale casetei cu lista sunt configurate de obicei in momentul proiectarii.
Proprietate Descriere
ColumnCount Numarul de coloane din caseta cu lista
ControlSource Unde este pastrata valoarea aleasa de utilizator din cadrul listei
MoverBars Daca in stanga elementelor listei sunt sau nu prezente bare de
mutare, astfel incat utilizatorul sa poata reordona cu usurinta
elementele listei
Multiselect Daca utilizatorul poate selecta mai multe elemente din lista
la un moment dat
RowSource De unde provin elementele afisate in lista
RowSourceType Daca RowSource este o caloare , o tabela , o instructiuna SQL ,
o interogare, o matrice, o lista de fisiere sau o lista decampuri.
Proprietatea Value a unei liste poate fi de tip numeric sau de tip caracter. In mod implicit este de tip numeric. Daca RowSource este o valoare de tip caracter si daca doriti ca proprietatea Value sa reflecte sirul de caractere ale elementului selectat atribuiti prpprietati Value un sir vid. Pentru a atribui un sir vid de proprietati in fereastra Properties , apasati bara de spatiu apoi tasta backspace.
Completarea elementelor unei casete cu lista sau ale unei casete combinate
O caseta cu lista poate fi completata cu elemente provenite din diferite surse, configurand corespunzator proprietatile RowSourceType si RowSource.
Posibilitatea utilizatorului de a ajunge la o anumita inregistrare prin selectarea unei valori dintr-o lista
Deseori doriti sa permiteti utilizatorilor sa selecteze inregistrarea pe care doresc sa o vizualizeze sau sa o modifice. de pilda le puteti oferi o lista cu numele clientilor. Cand utilizatorul selecteaza un client din lista veti selecta din tabela inregistrarea corespunzatoare clientului respectiv si veti afisa informatiile despre client in cadrul unor casete de text din formular. puteti proceda in mai multe feluri in functie de sursa de date a formularului.
Proprietatea RowSourceType Selectarea inregistrari corespunzatoare
2-Alias Cand utilizatorul selecteaza o valoare din lista ,
6-Fields(Campuri) indicatorul de inregistrari este fixat automat pe
inregistrarea dorita. Lansati comanda
THISFROM.Refresh in evenimentul Interactive
Change al listei pt. a afisa noile valori in celelalte
controale ale formularului.
0-None(Nici una) In cadrul evenimentului InteractiveChange, selectati
1-Value(Valori) tabela care contine inregistrarea cu valorile dorite,apoi
3-SQLStatement(Instructiune SQL) cautati valoarea respectiva.
4-QPR De exemplu daca proprietatea RowSource contine
5-Array(Matrice) numerele de identificare pt. clientii din tabela de clienti
folositi codul care urmeaza:
SELECT customer
LOCATE FIR THIS.Value = cust_id
THISFORM.Refresh
Reiprospatarea unui ecran care contine o relatie de tip una-la-mai-multe pe baza unei valori din lista
Daca utilizatorul doreste sa ajunga la o inregistrare prin selectarea unei valori dintr-o lista, puteti folosi o relatie de tip una-la-mai-multe care sa reflecte in tabela-parinte modificarea pozitiei indicatorului de inregistrari. Aceasta functionalitate poate fi implementata atat pt. tabele locale, cat si pt. vederile locale sau extreme.
tabele locale
Daca proprietatea RowSourceType a listei are valoarea 2-Alis sau 6-Fields,iar RowSourca este o tabela locala avand un set de relatii in cadrul mediului de date al formularului, lansati comanda THISFORM.Refresh in evenimentul InteractiveChange atunci utilizatorul alege o noua valoare.Partea "mai-multe" a relatiei una-la-mai-multe afiseaza automat doar acele inregistrari care corespund expresiei din tabela-parinte implicata in relatie.
UTILIZAREA IMAGINILOR
Controlul Image va permite sa adaugati imagini(fisiere.bmp) la formular.Un control Image are toate proprietatile ,evenimentele si metodele altor controale asa incat poate fi modificat dinamic in timpul executiei.Utilizatorii interactioneaza cu imaginile executand click, dublu click si altele.
proprietate Descriere
Picture Imaginea(fisierul.bmp) de afisat
BorderStyle Indica daca exista sau nu un chenar vizibil al imaginii.
Stretch Daca are valoarea 0-Clip portiunile imaginiicare depasesc dimensiunile
controlului Image nu sunt afisate. Daca proprietatea are valoarea
1-Isometric, controlul Image pastreaza dimansiunile originale. Daca
proprietatea are valoarea-2Stretch, imaginea este scalata corespunzator
inaltimii si latimii controlului Image.
Cele mai importante proprietati ale etichetelor
Proprietatea Descriere
Caption Specifica textul afisat de eticheta
AutoSize Indica daca dimensiunea ethichetei este ajustata in functie de jungimea
textului din Caption.
BackStyle Indica daca eticheta este opaca(Opaque) sau transparenta(Transparent)
WordWrap Indica daca textul afisat de eticheta poate fi continuat pe mai multe randuri.
Proprietatile controlului Shape
proprietate descriere
Curvature O valoare coprinsa intre 0(unghi de 90 de grade) si 99(cerc sau oval).
FillStyle Dedermina daca forma este transparenta sau are un anumit model de
umplere.
Proprietatile controlului Line
Proprietatea Descriere
BorderWidth Grosimea liniei(in pixeli).
LineSlant Indica directia liniei, in cazul in care aceasta nu este nici orizontala nici
verticala. Valorile valabile sunt slash(/) si backslash(\).
SIMPLIFICAREA UTILIZARII
CONTROALELOR
Posibilitatea utilizatorului de a aplica tehnica de tragere si de plasare
Cu ajutorul urmatoarelor proprietati , metode si evenimente , puteti specifica atat semnificatia unei operatii de tragere cu mouse-ul , precum si modul in care trebuie initiata operatia detragere pt. un anumit control.
PENTRU A... FOLOSITI
Permite tragerea automata sau manuala a unui contrul Proprietatea DragMode
Indica pictograma afisata in timp ce controlul este Proprietatea DragIcon
tras cu mouse-ul.
Recunoaste momentul in care un control este plasat Evenimentul DragDrop
peste un obiect
Recunoaste momentul in care un control este tras Evenimentul DragOver
peste obiect
Porni sau opri tragerea manuala Metoda Drag
Toate controalele vizuale pot fi trase cu mouse-ul in timpul executiei si partajeaza proprietatile enumerate in tabela precedenta. Formularele recunosc evenimentele DragDrop si DragOver, dar nu au proprietatile DragMode si DragIcon.
|