Documente Academic
Documente Profesional
Documente Cultură
Pe lng proprietile standard comune i formularelor, controalele mai au urmtoarele proprieti specifice.
Proprietatea Reprezint
Valoarea este o proprietate pe care programatorul interfeei o poate folosi ca s pstreze valoarea unei date prin simpla referire la acel control. Ea permite proiectantului interfeei s foloseasc obiectele de tip control ca o legtur ntre utilizator i aplicaie, Value prin care utilizatorul comunic aplicaiei datele de intrare i procesele pe care trebuie s le execute, iar aplicaia, rezultatele obinute. n tabelul alturat sunt prezentate tipurile de date premise pentru fiecare control predefinit. Sursa controlului stabilete sursa de date a controlului (variabila de memories au ControlSource cmpul referit) care determin i tipul datei pstrate n valoarea controlului. Printele este identificatorul formularului de care aparine controlul. Parent Alinierea caracterizeaz modul n care va fi aliniat textul n interiorul unui obiect. Proprietatea este de tip numeric i poate lua valorile: 0 Left (aliniere la stnga ; implicit), 1 Right (aliniere la dreapta), 2 Center (aliniere n centru) i 3 Automatic (implicit, alinierea este fcut de ctre sistem n funcie de tipul proprietii Value : pentru tipul numeric, la stnga, iar pentru celelalte la dreapta)
Alignment
Aparena este de tip numeric i definete aspectul tridimensional (0) sau plat
Stilul fundalului este de tip numeric i definete stilul fundalului controlului: transparent (0) sau opac (1). Implicit, este opac. n stilul transparent este BackStyle ignorat proprietatea BackColor. Se recomand acest stil pentru controalele plasate peste imagini grafice) Bara de stare este de tip ir de caractere i reprezint textul care va fi afiat n StatusBarText bara de stare atunci cnd este focalizat controlul. Informaii despre control este de tip ir de caractere i reprezint textul care ToolTipText va fi afiat n caseta de informaii (ToolTip) atunci cand este indicat controlul cu mouse-ul. BackColor Culorile controlului care nu este disponibil sunt determinate de proprietile de tip numeric : pentru culoarea fundalului ; respectiv culoarea textului. ForeColor
ReadOnly
Protejarea la scriere este de tip logic i caracterizeaz modul de acces la un control : dac are valoarea .T., controlul nu poate fi editat (poate fi numai vizualizat) ; altfel, utilizatorul poate modifica valoarea controlului. Valoarea implicit a proprietii este .F.
Tasta de acces. Se poate focaliza rapid un control apsnd o liter mpreun cu tasta Alt. Tasta literei se numete tast de acces (access key) i ea este afiat subliniat. Tasta de acces se poate stabili astfel : n proiprietatea Caption a controlului litera folosit pentru tasta de acces se scrie precedat de caracterele : \<. De exemplu, dac legenda unui control este Telefon i litera F va fi tasta de acces, se va scrie legenda astfel : Tele\<fon. n formular legenda va fi afisat Telefon.
Evenimentele specifice sunt : Accesul condiionat When. Se declaneaz naintea primirii focalizrii. Metoda de rspuns la eveniment poate fi folosit pentru a focaliza condiionat controlul: dac nu sunt ndeplinite anumite condiii (precizate n procedur), controlul nu va putea fi focalizat. Procedura va ntoarce un rezultat de tip logic: valoarea .T. va permite primirea focalizrii, iar valoarea .F. nu. Validarea Valid. Se declaneaz nainte de pierderea focalizrii. Metoda de rspuns la eveniment poate fi folosit pentru a ceda focalizarea condiionat : de exemplu, n cazul unei casete de text, dac valoarea introdus n cmp nu ndeplinete o anumit condiie, nu se va putea focaliza urmtorul control. Procedura va ntoarce fie un rezulatat de tip logic (valoarea .T. va permite transferarea focalizrii, iar valoarea .F. va pstra focalizarea), fie un rezultat numeric (0 controlul pstreaz focalizarea, diferit de 0 focalizarea va avansa peste n controale, n fiind valoarea furnizat ; avansarea se va facen sensul acionrii tastei Tab, dac valoarea este pozitiv, i n sens invers, dac valoarea este negativ). Astfel, dac procedura ntoarce valoarea 1, focalizarea este trecut controlului urmtor, iar dac ntoarce valoarea -1, focalizarea este trecut controlului anterior.
Control
CheckBox CommandGroup EditBox TextBox Grid
ListBox
ComboBox Spinner OptionButton OptionGroup
n funcie de modul n care este informat utilizatorul despre aciunea butonului exist : Butoane n care aciunea este descris printr-un text. n acest caz, textul care descrie aciunea va fi pstrat de proprietatea Caption a controlului. Butoane n care aciunea este descris printr-o imagine. n acest caz, identificatorul fiierului care conine imagine care va fi afiat va fi pstrat de proprietatea Picture a controlului (identificatorul fiierului n care este pstrat imaginea). n cazul n care se folosete imaginea pentru descrierea aciunii, trebuie folosite i urmtoarele proprieti : DownPicture imaginea afiat cnd butonul este focalizat i DisablePicture imaginea afiat cnd butonul nu este disponibil. Declanatorul poate fi acionat n mai multe moduri : Se execut clic pe buton. Se focalizeaz butonul apsnd repetat tasta Tab i apoi se apas tasta Enter sa Spaiu. Se apas tasta Alt mpreun cu tasta de acces (tasta literei de identificare). Dac butonul de comand este butonul implicit al formularului, se apas tasta Enter, indiferent de poziia selectorului. Dac butonul de comand este butonul de anulare al formularului, se apas tasta Esc, indiferent de poziia selectorulu. Indiferent de modul ales, evenimentul este acelai (evenimentul Click) ; prin acionarea butonului se declaneaz operaia atribuit lui.
Un formular nu poate conine dect un buton implicit i un buton de anulare. Tipul butonului este controlat cu proprietile specifice unui buton de comand : Implicit Default. Este de tip logic. Dac are valoarea .T. butonul de comand este butonul implicit. Valoarea implicit pentru aceast proprietate este .F. Anulare Cancel. Este de tip logic. Dac are valoarea .T. butonul de comand este butonul de anulare. Valoarea implicit pentru aceast proprietate este .F.
Reprezint
Stilul este de tip numeric i stabilete stilul casetei de text : 0 Normal (implicit) i 1 Read Only (nu poate primi focalizarea ; nu poate fi modificat). Margin Marginea este de tip numeric i stabilete distana n interior, de la text la bordura controlului. Este bine s fie mai mare dect 0 pentru a face textul mai lizibil. PasswordChar Ascunderea textului este de tip ir de caractere i precizeaz ce se va afia n caseta de text ; textul editat de utilizator (proprietatea are valoarea irul vid) sau un ir de alte caractere, de exemplu * sau #. Aceast proprietate este folosit de obicei la casetele de text pentru introducerea parolei sau a codului de acces, pentru ca persoanele neautorizate s nu poat vedea textul scris.
SelectOnEntry
MaxLength
Selectarea la focalizare este de tip logic ; dac are valoarea .T., coninutul cmpului este selectat la focalizarea controlului. Se recomand selectarea la focalizare pentru cmpurile a cror valoare trebuie schimbat des. Lungimea maxim a textului (de tip numeric) stabilete numrul maxim de caractere ce pot fi scrise n caseta de text. Se folosete n cazul cmpurilor de tip ir de caractere pentru ca textul introdus s nu depeasc lungimea permis n cmp.
Proprieti prin care se controleaz formatul de introducere i afiare a datei memorate n proprietatea Value Format
Formatul de introducere (de tip sir de caractere) stabileste caracteristica intregului camp de editare. De exemplu, daca proprietatea are valoarea A, in caseta de text vor fi acceptate numai litere. Masca de introducere (de tip ir de caracrtere) stabilete un ablon pentru format n care se precizeaz caracteristica fiecrei poziii a formatului. Fa de proprietatea anterioar prezint avantajul c permite i precizarea lungimii formatului. De exemplu, dac proprietatea are valoarea 9999.99, n caseta de text se va putea scrie numai o valoare numeric ; numrul va avea maxim 4 cifre pentru partea ntreag i dou cifre pentru partea fracionar.
InputMask
Proprieti folosite la selectarea textului din caseta de text SelectedBackColor Culoarea zonei selectate este determinat de culorile folosite pentru evidenierea SelectedForeColor textului selectat pentru fundal, respectiv pentru text. SelectedStart SelectedLength SelectedText
Poziia de nceput a zonei selectate (de tip numeric). Dac nu este selectat un text, proprietatea va furniza poziia cursorului de inserare. Lungimea zonei selectate (de tip numeric) furnizeaz numrul de caractere din zona selectat. Textul selectat (de tip ir de caractere). Dac nu este selectat un text, proprietatea va avea valoarea irul vid.
Ascunderea textului selectat (de tip logic). Dac are valoarea .T. (implicit), textul selectat n caset nu va mai fi evideniat dup ce caseta pierde HideSelection focalizarea ; altfel, el va fi evideniat i dup ce a fost focalizat alt control din formular.
ablonul Cod X 9 # $
Orice caracter. Numai cifre i semne (ca de exemplu semnul -)
Semnificaie
$$
* . ,
Format Cod A D E K L R T ! $ Semnificaie Numai litere, fr spaii sau semne de punctuaie. Pentru datele calendaristice, se folosete formatul stabilit prin set date Datele de tip dat calendaristic vor fi editate n formatul british Selecteaz textul din cmp atunci cnd este focalizat controlul Se folosete numai pentru tipul numeric ; afieaz zerouri nesemnificative n locul spaiilor. Afieaz ablonul definit prin proprietatea InputMask. Valoarea ablonului nu va fi memorat n proprietatea Value. Se folosete numai pentru tipul ir de caractere ; nltur spaiile de la nceputul i de la sfritul irului de caractere. Se folosete numai pentru tipul ir de caractere ; convertete toate literele n litere mari. Se folosete numai pentru tipul numeric ; afieaz simbolul monetar.
Pentru a controla comportamentul controlului au fost adugate urmtoarele evenimente specifice : Evenimentele declanate la pierderea focalizrii controlului i care permit validarea valorii introduse (de la tastatur sau cu mouse-ul). Astfel, dac metoda de rspuns la evenimentul RangeLow ntoarce un numr mai mare dect cel introdus n control, controlul va pstra focalizarea, iar dac metoda de rspuns la evenimentul RangeHight ntoarce un numr mai mic dect cel introdus n control, controlul va pstra focalizarea. Evenimentele declanate de acionarea derulorului cu mouse-ul : UpClick cnd este acionat butonul de incrementare i DownClick cnd este acionat butonul de decrementare.
Elementele caracteristice ale unui obiect de interfa de tip gril sunt : Dimensiunea grilei. Este dat de numrul de rnduri i de coloane ale grilei. Rndul grilei. Corespunde unei nregistrri dintr-un tabel. Coloana grilei. Corespunde unui cmp din tabel sau unei variabile de memorie a crei valoare este dat de o expresie ce poate conine i cmpuri din tabel. Antetul coloanei. Este o etichet afiat n partea de sus a coloanei care conine un text explicativ referitor la datele afisate n coloan. Celula. Celula curent (celula activ) este celula care primete focalizarea. Ea este detreminat de numrul rndului i numrul coloanei la intersecia crora se gsete celula. Utilizatorul poate schimba n orice moment celula curent folosind mouse-ul sau tastatura (tasta Tab). Dimensiunea celulei este determinat de nlimea rndului i limea coloanei. Aceste proprieti trebuie s fie modificate ca s nvap n celul textul sau imaginea. Alinierea. Se refer la alinierea datelor n coloanele tabelului i n celule. Barele de derulare. Se folosesc pentru a deplasa coninutul grilei atunci cnd nu pot fi vizualizate toate datele n zona de afiare a grilei. Se pot folosi bare de derulare pe vertical i pe orizontal. Liniile folosite ca delimitatori. Pentru delimitareea celulelor se pot folosi linii care pot fi caracterizate de culaore i grosime.
Coloana cu marcajul pentru tergere. Este o coloan cepoate fi folosit pentru a marca o nregistrare pentru tergere (se execut clic n aceast coloan n dreptul nregistrrii care trebuie marcat pentru tergere la fel ca la fereastra Browse). Coloana cu marcajul rndului curent. Este o coloan ce poate fi folosit pentru a stabili nregistrarea curent (se execut clic n aceast coloan n dreptul nregistrrii care va deveni nregistrare curent la fel ca la fereastra Browse). Panourile grilei. La fel ca la fereastra Browse grila paote fi mprit n dou partiii numite panouri. Cele dou panouri pot funciona ca dou grile independente, iar divizarea lor se face prin intermediul unei bare de divizare (split).
Toate aceste elemente pot fi caracterizate cu ajutorul proprietilor grilei, coloanelor i al anteturilor, pot fi manipulate cu ajutorul metodelor i pot rspunde la evenimente specifice.
Antetul Header. Creaz un antet al unei coloane dintr-o gril prin care se afieaz o etichet n partea de sus a coloanei. Antetul poate rspunde la evenimente. Aspectul antetului poate fi stabilit prin intermediul proprietilor pentru fontul caracterelor (nume font, dimensiune, stil), pentru aliniere i culoare (pentru fond i pentru text). Obiectul nu are proprieti pentru dimensiune i poziie. Prin proprietatea Caption a antetului se stabilete textul care se afieaz ca etichet a coloanei. Antetul rspunde la evenimente declanate la aciunile mouse-ului (Click, RightClick, DblClick, MouseUp, MouseDown, MouseMove) i recunoate metoda Refresh. Coloana Column. Creeaz o coloan ntr-o gril. Coloana poate conine un obiect antet i diverse controale. Coloana poate conine date din cmpurile unui table sau valori ale unei expresii. Afiarea i editarea lor se poate face cu ajutorul controalelor. Aadar, ntr-o coloan poate fi creat un antet i pot fi adugate diferite controale. Controalele pot fi adugate la coloana unei grille cu metoda AddObject n metoda de rspuns la evenimentul Init al formularului care conine grila. Sursa de date a coloanei este dat de proprietatea ControlSource care este de tip ir de caractere (este numele unui cmp sau al unei variabile de memorie). Alinierea controalelor n coloan poate fi stabilit cu proprietatea Alignment. Coloanele nu au dect proprietatea Width (lime). Proprietile Width ale controalelor create n coloan sunt protejate la scriere (read-only). Proprietile specifice unei coloane sunt:
Proprietatea
Reprezint
Numrul de ordine al coloanei n cadrul grilei. La crearea grilei, fiecare coloan primete un index pentru referin, n ordinea n care au fost create. Numrul de ordine al coloanei este diferit de acest index i se refer la ordinea de exploatare a coloanelor ntr-o gril (afiare i focalizare). Proprietile dinamice pentru aspectul fizic al coloanei se pot folosi pentru a stabili caracteristicile fizice ale unei coloane deoarece ele sunt reevaluate dup fiecare execuie a metodei Refresh a grilei. Ele se refer la aliniere, la culori, la aspectul caracterelor i la controlul curent. Metoda folosit pentru focalizarea unei celule este de tip logic i se folosete pentru a controla modul n care poate fi focalizat o celul din coloan. Dac are valoarea .T., celula este focalizat atunci cnd utilizatorul execut clic n celul sau apas repetat tasta Tab pn este deplasat selectorul n celul. Dac are valoarea .F. (valoare implicit), aceste aciuni nu vor focaliza celula. Numrul controalelor este de tip numeric i reprezint numrul de controale definite ntr-o coloan (inclusiv antetul). Referina controalelor este un vector care conine referinele pentru controalele din coloan. Controlul current este de tip ir de caractere i conine numele controlului care afieaz i primete date n celula activ a coloanei.
Column Order
SelectOnEntry
Sparse
Bound
Rspndirea influenei este de tip logic i se folosete pentru a controla modul n care controlul curent influeneaz i celelalte controale din coloan. Dac are valoarea .T. (valoare implicit), numai celula activ folosete obiectul de interfa specificate n proprietatea CurrentControl (controlul curent), iar celelalte celule din coloan folosesc pentru afoare i editare controalele de tip caset de text (TextBox). Dac are valoarea .F., toate celulele din coloan vor folosi obiectul de interfa specificate n proprietatea CurrentControl. Aadar, dac ntr-o colaon trebuie s se foloseasc pentru vizualizarea i editarea datelor un alt tip de control dect caseta de text, proprietatea Sparse a coloanei trebuie s aib valoarea .F. Domeniul sursei de date este de tip logic i se folosete pentru a controla sursa de date a controalelor din coloan. Dac are valoarea .T. (valoare implicit), toate controalele din coloan vor folosi aceiai surs de date ca i coloan, iar dac are valoarea .F., fiecare control din coloan va putea folosi propria sa surs de date. Aadar, pentru a obliga toate controalele din coloan s foloseasc sursa de date a coloanei (condiie necesar n cazul unui tabel al sursei de date), proprietatea Bound a coloanei trebuie s aib valoarea .T..
Resizable
Printre metodele care pot fi folosite de coloan sunt : SetAll, Refresh, SetFocus, i Move. Evenimentele recunoscute de coloan sunt: MouseMove, Moved (provocat prin mutarea interactiv a coloanei de ctre utilizator sau prin modificarea din program a proprietailor Top i Left ale coloanei) i Resize (provocat prin redimensioanrea interactiv a coloanei de ctre utilizator, sau prin modificarea din program a proprietii Width a coloanei).
Grila Grid. Adun ntr-un container mai multe obiecte de tip coloan. La nivelul grilei nu exist proprietatea Alignment (alinierea se face la nivelul fiecrei coloane). Exist proprietile pentru poziia grilei , relative la formular (Top i Left), proprietile pentru dimensiunea grilei (Hight i Width), pentru culori i pentru caracteristicile caracterelor. Pe lng aceste proprieti generale exist urmtoarele proprieti specifice. Proprieti folosite pentru a stabili aspectul fizic al grilei sunt proprieti care se refer la unele componente ale grilei, dar care nu se stabilesc la nivelul componentei, deoarece trebuie s existe un aspect unitar al acestor componente la nivelul grilei.
Proprietatea HeaderHeight
Modificarea interactiv a nlimii antetului este de tip logic. Dac AllowHeaderSizing are valoarea .T., permite modificarea interactiv de ctre utilizator a nlimii antetului. nlimea rndului este de tip numeric. Dac are valoarea -1, nlimea este aleas automat astfel nct s ncap caracterele corespunztoare RowHeight dimensiunii stabilite prin proprietile FontSize i Fontname. Modificarea interactiv a nlimii rndului este de tip logic. Dac are AllowRowSizing valoarea .T. , permite modificarea interactiv de ctre utilizator a nlimii rndului. Evidenierea celulei focalizate este de tip logic i determin cum este afiat celula foclaizat : dac are valoarea .T., calula focalizat apare HeightLight evideniat, iar dac are valoarea .F., celula focalizat nu apare evideniat.
ScrollBars
RecordMark
DeleteMark
Proprieti folosite pentru a caracteriza liniile folosite ca delimitatori GridLines GridLineWidth GridLineColor
Partition
Panel
PanelLink
Proprieti ce caracterizeaz comportamentul grilei Proprieti folosite pentru a caracteriza celula activ (focalizat) :
Poziia absolut este furnizat de numrul rndului, respectiv numrul coloanei. Aceste proprieti sunt de tip numeric i se calculeaz fa de ActiveRow primul rnd, respectiv prima coloan a grilei. Sunt proprieti protejate la ActicveColumn scriere (read-only). Aceste valori corespund parametrilor metodei ActivateCell. Poziia relativ furnizat de numrul rndului fa de primul rnd afiat n gril i respectiv, de numrul coloanei fa de prima coloan afiat n gril. RelativeRow Aceste proprieti sunt de tip numeric. De exemplu, dac prima coloan RelativeColumn afiat n gril este coloana 2, iar proprietatea ActiveColumn are valoarea 5, nseamn c valoarea proprietii RelativeColumn este 3. Adugarea datelor la gril este de tip logic. Dac are valoarea .T. permite AllowAddNew adugarea de noi rnduri la gril (dac se apas tasta se mai adaug un rnd la gril).
RecordSourceType
RecordSource
Proprieti folosite pentru a carcteriza grila care afieaz date din tabelele bazei de date
RelationalExpr LinkMaster
Cmpul cheie este de tip caracter i precizeaz cmpul cheie care asigur legtura ntre tabelul condus i tabelul conductor i care permite reunirea celor dou tabele ntr-un singur tabel. Aliasul tabelului conductor este de tip ir de caractere i furnizeaz aliasul tabelului conductor al tabelului afiat n gril.
Valoare
0 1 2
Efect Scrollbars
Barele nu sunt afiate
Efect GridLines
Liniile nu sunt afiate
Se afieaz numai barele pe Liniile se afieaz numai pe orizontal orizontal Se afieaz numai barele pe vertical Liniile se afieaz numai pe vertical Se afieaz barele pe orizontal i pe Liniile se afieaz pe orizontal i pe vertical
Semnific : RecordSource
Numele tabelului
3 (implicit) vertical
RecordSourceType
Sursa de date este un tabel deja construit. El va fi deschis automat la 0 - Table iniializarea grilei (evenimentul Init). Tabelul care va fi sursa de date este 1 Alias (implicit) specificat prin alias. Sursa de date este un tabel al crui nume va fi specificat de utilizator prin intermediul unei casete de dialog ; dac 2 Prompt este deschis o baz de date poate alege un tabel din ea. Sursa de date este generat dintr-un 3 Query fiier de interogri (.qpr). Sursa de date va fi descris printr-o instruciune SQL Select de interogare a 4 SQL Statement bazei de date, care va genera un tabel permanent sau temporar ce va fi afiat n gril.
Pe lng metodele obinuite , printre care i SetAll i SetFocus, grila mai are urmtoarele metode specifice care se pot folosi din progarm pentru a executa diferite operaii : Manipularea barelor de derulare DoScroll. Se deruleaz coninutul grilei pentru a simula acionarea interactiv a barelor de derulare. Metoda are parametrul <n>. Apelul metodei se face cu DoScroll(<n>). Parametrul <n> determin modul n care se face derularea i poate avea urmtoarele valori: 0 derulare cu un rand n sus, 1 derulare cu un rand n jos, 2 derulare cu o pagin n sus, 3 derulare cu o pagin n jos, 4 derulare cu o coloan la stnga, 5 derulare cu o coloan la dreapta, 6 derulare cu o pagin la stnga, 7 derulare cu o pagin la dreapta. Activarea celulei ActiveCell. Se schimb celula activ. Metoda trebuie s primeasc doi parametri : <n> - numrul rndului i <m> - numrul coloanei. Apelul metodei se face cu ActivateCell(<n>,<m>). Adugarea unei coloane la gril AddColumn. Se adaug un nou obiect Column la gril. Metoda trebuie s primeasc un parametru <n> - poziia coloanei n gril ; coloanele care urmeaz dup ea sunt deplasate cu o poziie spre dreapta. Apelul metodei se face cu AddColumn(<n>). tergerea unei coloane din gril DeleteColumn. Se terge un obiect Column din gril. Metoda poate primi un parametru <n> - poziia coloanei care se terge din gril, altfel se terge coloana activ (cea care conine celula activ) ; coloanele care urmeaz dup ea sunt deplasate cu o poziie spre stnga. Apelul metodei se face cu DeleteColumn([<n>]).
Tipul datelor
Caseta combinat
n proprietatea Value se memoreaz : Dac proprietatea ControlSource este o variabil de memorie sau un cmp de tip numeric, se memoreaz poziia n grup a butonului selectat. Dac proprietatea ControlSource este o variabil de memorie sau un cmp de tip ir de caractere, se memoreaz textul explicativ (Caption) asociat butonului selectat. Butonul radio poate fi selectat prin mai multe metode : Se execut clic cu mouse-ul pe buton. Se mut selectorul n grupul de butoane radio apsnd repetat tasta Tab i apoi se selecteaz butonul activ din grup folosind tastele cu sgei. Se apas tastele de acces la buton (tasta Alt mpreun cu tasta literei de identificare).
Pentru administrarea butoanelor din grup se pot folosi proprietile specifice grupului de butoane radio : Numrul de butoane din grup ButtonCount. Este de tip numeric. Butoanele Buttons. Aceast proprietate este de tip vector i poate fi folosit pentru referirea butoanelor din grup. Se poate folosi metoda SetAll pentru a atribui aceiai valoare a unei proprieti tuturor butoanelor din grup. Sintaxa de apelare a metodei este: SetAll(<proprietate>,<valoare>).
Evenimentul Click asociat grupului de butoane radio va atribui datei valoarea asociat butonului selectat.
Caseta combinat ComboBox este un control care combin o caset de text cu o list, permind utilizatorului s aleag dintr-o colecie de valori. Aceste valori sunt afiate n list i utilizatorul poate fie s aleag un articol din list, fie s scrie valoarea de la tastatur n caseta de text. Fa de list, caseta combinat are i proprietatea Style (stil). Proprietatea este de tip numeric i poate lua valorile : 0 Drop-down Combo, adic o caset derulant combinat care conine o list derulant i o caset de tip text i 1 Drop-down List, adic o list derulant, care conine numai o list derulant (se mai numete i list ascuns). Aadar, folosind aceste tipuri de controale putei obine urmtoarele tipuri de liste : Lista simpl (List). Afieaz pe ecran mai multe articole (nu neaprat toate articolele). Se obine cu controlul ListBox. Lista ascuns sau lista derulant (Drop-down List).Afieaz pe ecran numai articolul curent selectat din list (ascunde restul articolelor). Pentru a avea acces i la alte elemente, lista trebuie s fie deschis. n urma operaiei de deschidere, lista este expandat (se deruleaza continutul), iar utilizatorul are acces la mai multe articole (nu neaparat toate). Se obine cu controlul ComboBox avnd proprietatea Style=1. Caseta derulant combinat (Drop-down List). Combin o list ascuns cu o caset de text. Afieaz pe ecran numai elementul curent selectat din list. Pentru a avea acces si la alte elemente lista trebuie deschisa. n urma operaiei de deschidere, lista este expandat (sunt afiate mai multe articole, nu neaprat toate) i se activeaz caseta de text. Utilizatorul fie poate alege un articol din lista, fie scrie valoarea in caseta de text. Se obine cu controlul ComboBox avnd proprietatea Style=0.
Sursa de date a listei Articolele listei pot fi precizate, nainte de executarea listei (liste statice), la fel ca i n cazul butoanelor radio, prin precizarea sursei de date n momentul proiectrii i citirea sursei de date a listei n momentul execuiei, dar pot fi stabilite i n timpul execuiei (liste dinamice), prin adugarea i nltuarea unor articole din list n timpul execuiei.
Proprieti folosite pentru sursa de date a listei Tipul sursei de date este de tip numeric i specific un cod prin care RowSourceType RowSource
poate fi identificat tipul sursei de date. Sursa de date este de tip ir de caractere i furnizeaz sursa de date.
RowSourceType
0 None
RowSource
1 Value
2 Alias 3 SQL Statement 4 Query 5 Array
6 Fields
7 Files
8 Structure
n timpul execuiei listei folosind Nu este precizat metodele AddItem sau AddListItem Prin enumerare ntr-o list de valori. Lista de valori. Valorile sunt separate n list prin virgul. Prin preluarea din cmpurile unui tabel Numele tabelului dein baza de date sau al tabelului liber (.dbf). De o instruciune SQL Select de Instruciunea SQL. interogare a bazei de date, care va genera un tabel permanent sau temporar ce va conine articolele listei. De o interogare. Numele fiierului de interogri (.qpr). De un tablou de memorie (vector pentru Numele tabloului de memorie. lista cu o singur coloan sau matrice pentru lista cu mai multe coloane). De cmpurile unui tabel, enumerate Lista de nume de cmpuri ntr-o list. (separate n list prin virgul). Numele cmpului trebuie precedat de numele tabelului : <nume_tabel>.<nume_cmp> Un grup de fiiere dintr-un director. ablonul care descrie grupul de fiiere. Numele cmpurilor unui tabel. Numele tabelului.
Proprieti specifice listelor care au ca surs de date tablouri de memorie - prin care se controleaz intervalul de elemente din tablou care sunt preluate n list (valabil numai pentru RowSourceType=5). Proprietaile sunt de tip numeric i determin intervalul de elemente, respectiv de rnduri, care vor fi folosite ca surs de date ; altfel vor fi folosite toate elementele, respectiv toate rndurile din tablou.
Primul elemnt, respectiv primul rnd al intervalului. Implicit are valoarea 1 (primul element, respectiv primul rnd al tabloului) Numrul de elemente, respectiv numrul de rnduri preluate din sursa de date ncepnd cu primul element al intervalului. Implicit are NumberOfElements valloarea corespunztoare numrului de elemente, respectiv de rnduri ale tabloului.
FirstElement
Identificarea articolelor din list. n timpul execuiei, articolele din list sunt pstrate n memoria intern sub forma unui tablou de memorie. Dac lista are o singur coloan, tabloul va fi de tip vector cu elemente de tip ir de caractere, iar dac are mai multe coloane, va fi de tip matrice. Fiecare element al vectorului, respectiv fiecare rnd al matricei, reprezint un articol din list. Fiecrui articol din list i se atribuie, la crearea listei sau la adugarea lui la list, dou coduri numerice pentru identificare :
Cod
Index
ItemID
Reprezint Indexul reprezint poziia articolului n list la un moment dat. Operaiile de reordonare a listei, de tergere sau de adugare a unui articol au ca efect schimbarea poziiei articolului n list. n acest caz se modific i indexul articolelor, pentru a reflecta noua situaie. Codul de identificare reprezint un cod numeric unic asociat articolului care nu se modific pe toat perioada existenei articolului n list (nu se modific la schimbarea poziiei articolului n list). De obicei, acest cod este indexul iniial al articolului (atribuit articolului la adugarea lui la list). Numele proprietilor care folosesc acest cod pentru identificarea unui articol n list conin cuvntul cheie ID.
Pentru conversia celor dou coduri numerice se pot folosi metodele : Metoda Realizeaz ItemIDToIndex Furnizeaz codul asociat al unui articol specificat prin index Furnizeaz indexul unui articol specificat prin codul asociat. De exemplu, dac ntr-o list identificat prin numele Lista articolul IndexToItemID din poziia 5 are codul 20, apelarea metodei Lista.IndexToItemID(5) va furniza numrul 20, iar apelarea metodei Lista.IndexToItemID(20) va furniza numrul 5.
ListCount
Numrul de articole din list este de tip numeric. Tabloul de memorie (de tip vector sau matrice, n funcie de numrul de coloane ale listei). Articiolele se pstreaz n ordinea poziiei lor curente (ordinea n care sunt afisate n list), respectiv articolele se pstreaz n ordinea dat de codurile de identificare. Ambele proprieti sunt de tip tablou de memorie. De exemplu, n lista cu numele Lista, Lista.List(5) identific al cincelea articol din list, iar Lista.ListItem(5) identific articolul din list care are codul de identificare 5. Dac lista conine mai multe coloane, trebuie precizat i numrul coloanei. De exemplu, dac Lista are 4 coloane, Lista.List(5,2) identific a doua coloan din cel de al cincelea articol din list. Proprietatea ListCount poate fi folosit pentru a parcurge elementele tabloului de la primul element pn la ultimul (ListCount). Identificatorul articolului selectat (de tip numeric) este furnizat de proprietatea care se folosete mpreun cu proprietatea List (dac are valoarea 0, nu este selectat un articol, iar dac are valoarea cuprins ntre 1 i ListCount reprezint poziia curent a articolului selectat), respectiv mpreun cu proprietatea ListItem (dac are valoarea -1, nu este selectat un articol, iar dac are valoarea pozitiv reprezint codul de identificare al articolului selectat). De exemplu, pentru a face referire la articolul selectat n lista Lista se poate folosi Lista.List(Lista.ListIntex), dar i Lista.ListItem(Lista.ListItemID). Vectorul cu indeci asociat listei n care identificarea articolului se face prin poziia n list, respectiv prin codul de identificare. Proprietatea poate fi folosit de programator pentru a atribui intern coduri speciale articolelor listei. Fiecare element al vectorului conine un cod special asociat unui articol din list, diferit de codul de identificare. Dimensiunea vectorului este egal cu numrul de elemente, respectiv cu numrul de rnduri ale tabloului asociat listei. De exemplu, n lista Lista se obine codul special asociat articolului focalizat cu Lista.ItemData(Lista.ListIndex). Codul special asociat poate fi folosit pentru a identifica un articol din list : poziia n list a unui articol cu codul special asociat cu valoarea 12345 se poate afla cu Lista.ItemIDData(12345).
List ListItem
ListIndex ListItemID
ItemData ItemIDData
Selectarea articolelor din list A selecta un articol din list, nseamn a atribui proprietii Value a obiectului de tip list valoarea articolului selectat. Dac lista este de tip multicoloan, proprietii Value a listei i se va atribui numai una dintre valorile afisate n coloanele articolului. Selectarea unui articol din list se poate face fie cu mouse-ul (se execut clic pe articol), fie de la tastatur (se deplaseaz slectorul pe articol cu tastele i Si se confirm alegerea apsnd tasta Enter). Dac lista este ascuns, n prealabil ea trebuie deschis fie cu mouse-ul (se execut clic pe butonul cu sgeat din partea dreapt), fie de la tastatur (se apas tastele Alt+). Mecanismul implementat pentru listele Visual FoxPro permite selectarea unui grup de articole din list. Aceast metod de selectare multipl este util atunci cnd trebuie s se execute operaii cu un grup de articole din list : copiere, mutare sau tergere (de exemplu, s se copieze, s se mute sau s se tearg un grup de fiiere), s se efectueze calcule cu un grup de articole etc. Pentru a avea evidena articolelor selectate, lista are asociat un vector cu valori logice de aceiai lungime ca i vectorul list. Fiecare element al vectorului descrie starea unui articol din list : dac are valoarea adevrat, articolul este selectat, iar dac are valoarea fals, nu este selectat.
Selectarea unui grup de articole din list se face prin selectarea fiecrui articol fie cu mouse-ul (se execut clic pe articol cu tasta Shift sau Ctrl apsat), fie cu tastatura (se deplaseaz selectorul pe articol cu tastele i i se confirm alegerea apsnd tasta Shift sau Ctrl mpreun cu tasta Space). Tasta Shift se folosete atunci cnd grupul de articole selectate formeaz un grup continuu n list, iar tasta Ctrl atunci cnd articolele sunt dispersate n list. Pentru anularea selectrii unui articol din grup se procedeaz la fel ca i la selectarea lui.
Dac lista permite selectarea unui grup de articole, proprietii Value a listei i se va atrubui valoarea ultimului articol selectat (chiar dac ntre timp i s-a anulat selectarea, dar dup el nu a mai fost selectat un alt articol din list). Lista poate s permit sau nu selectarea unui grup de articole. De exemplu, dac lista conine fiiere care pot fi deschise, se va putea selecta un singur fiier, iar dac lista conine documente care pot fi copiate sau mutate, se vor putea selecta mai multe documente.
Selected SelectedID
Articolele listei pot fi aranjate n ordine alfabetic (sortate) sau nu. Proprietai folosite pentru a caracteriza ordonarea articolelor n list Autosortarea este de tip logic i controleaz modul n care sunt afiate articolele din list. Dac are valoarea .T., articolele din list sunt automat ordonate alfabetic, inndu-se cont de diferena dintre literele mari i mici. Dac are valoarea .F. (implicit), articolele din Sorted list sunt afiate n ordinea natural, ordinea n care au fost adugate la creare sau n care au fost preluate dintr-o surs de date. Proprietatea este disponibil numai pentru valorile 0 i 1 ale proprietaii RowSourceType. Ordonarea manual este de tip logic i controleaz dac articolele pot fi aranjate manual n list. Dac are valoarea .T., este afiat bara de mutare cere permite executarea interactiv a operaiei de mutare a articolelor n list. Dac are valoarea .F. (implicit), bara nu este afiat. MoveBars Pentru a muta un articol n list se poate folosi fie tastatura (se selecteaz articolul i apoi cu tasta Ctrl apsat se deplaseaz articolul n noua poziie cu tastele i ), fie mouse-ul (pe bara de mutare se gliseaz butonul din dreptul articolului pe care vrei s-l mutai n noua poziie). Proprietatea este specific numai controlului ListBox.
BoundTo
IncrementalSearch
Primul articol vizibil din list este furnizat prin poziia curent a primului articol afiat n partea vizibil a listei, respectiv prin codul de identificare al primului articol afiat n partea vizibil a listei. Aceste proprieti se pot folosi pentru a afla dac un articol se gsete n zona vizibil a listei sau pentru a schimba articolele afiate n partea vizibil a listei. Ultimul articol adugat n list este furnizat prin poziia curent a ultimului articol adugat la list, respectiv prin codul de identificare al ultimului articol adugat la list.
Proprietile folosite pentru a controla culoarea de afiare a articolelor i a listei : Lista nu este disponibil culoarea pentru fundal, respectiv DisabledBackColor pentru text DisabledForeColor DisabledItemBackColor Articolul nu este disponibil culoarea pentru fundal, respectiv DisabledItemForeColor pentru text Articol care nu este selectat culoarea pentru fundal, respectiv ItemBackColor pentru text ItemForeColor SelectedItemBackColor Articol selectat culoarea pentru fundal, respectiv pentru text SelectedItemForeColor
AddItem AddItemList
RemoveItem RemoveItemList
Clear
Requery