Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Calculatoare


Qdidactic » stiinta & tehnica » informatica » calculatoare
Controlul updown



Controlul updown


CONTROLUL UPDOWN


Controlul UpDown ('sus — jos') serveste la majorarea sau micsorarea unei valori. Este format dintr-o pereche de butoane cu sageti in sus si jos (sau stanga si dreapta). De regula este asociat la un alt control (de exemplu la o cutie de text); prin actionarea acestor butoane se poate modifica valoarea afisata in cutia de text, intre doua valori definite de utilizator.

Controlul este un control aditional. Pentru afisarea simbolului grafic al controlului din meniul Project se alege comanda Components (CTRL +T). in fereastra de dialog care se afiseaza se alege pagina Controls, in continuare printr-un clic se selecteaza cutia de validare care are eticheta Microsoft Windows Common Controls —2 5.0. Informatiile referitoare la acest control se gasesc in fisierul:


C:WindowsSystemCOMCT232.OCX


Simbolul grafic aferent controlului are forma

Proprietatile si metodele specifice controlului UpDown sunt urmatoarele:


<titlu> Proprietatile Min si Max (de tip Long)

Stabilesc valoarea minima respectiv maxima a domeniului de variatie corespunzator controlului UpDown. Valorile implicite ale acestor proprietati sunt 0 si 10; ele pot fi utilizate printr-o secventa de forma urmatoare:




Dim Valoare As Long

NumeControl.Min = Valoare ' Stabilirea valorii minime. .

NumeControl.Max = Valoare ' Stabilirea valorii maxime.

Valoare = NumeControl.Min    ` Citirea valorii minime.

Valoare = NumeControl.Max    ` Citirea valorii maxime.


<titlu>Proprietatea Value (de tip Long)

Permite citirea pozitiei curente a controlului UpDown. Pozitia curenta variaza intre valorile specificate de proprietatile Min si Max. Aceasta valoare este modificata in momentul in care utilizatorul efectueaza un clic pe o sageata a controlului, astfel:

• daca se efectueaza un clic pe sageata jos sau stanga, valoarea proprietatii Value se apropie de valoarea proprietatii Min, cu pasul specificat in proprietatea Increment;

• daca se efectueaza un clic pe sageata sus sau dreapta, valoarea proprietatii Value se apropie de valoarea proprietatii Max, cu pasul specificat in proprietatea Increment.


Pasul specificat in proprietatea Increment (de tip Long) nu poate fi numar negativ. Valoarea implicita a pasului este 1.

Proprietatea Value (de tip Long)

Poate fi utilizata si pentru stabilirea, prin program, a valorii corespunzatoare pozitiei curente. Valoarea initiala a acestei proprietati este 0. Aceasta proprietate poate fi utilizata printr-o secventa de forma urmatoare:


Dim Pozitie As Long

Pozitie = NumeControl.Value ' Citirea pozitiei curente

NumeControl.Value = Pozitie  `Stabilirea pozitiei curente.


<titlu> Proprietatea Wrap (de tip Boolean)

Se refera la parcurgerea circulara a valorilor din domeniul definit proprietatile Min si Max. Daca proprietatea este incarcata cu valoarea True, parcurgerea valorilor va fi circulara, astfel, de exemplu, dupa valoarea definita in Max va urma valoarea definita in Min. Daca proprietatea este incarcata cu valoarea False (care este si valoarea implicita), atunci domeniul de valori nu va fi parcurs circular.


<titlu> Proprietatea Orientation

Se refera la orientarea sagetilor controlului UpDown. Daca aceasta proprietate este initializata cu constanta predefinita:

cc2OrientationVertical (= 0, valoare implicita)

atunci controlul va avea un buton cu sageata in sus si un buton cu sageata injos. Daca se foloseste constanta predefinita:

cc2OrientationHorizontal(

atunci controlul va avea un buton cu sageata stanga si un buton cu sageata dreapta.


<titlu> Proprietatea BuddyControl (de tip Variant)

Stabileste controlul asociat la controlul UpDown. Controlul asociat poate fi stabilit atat in perioada de elaborare a proiectului (cu ajutorul inspectorului de obiecte), cat si in executie, printr-o secventa de forma:


NumeControl. BuddyControl = 'Numele controlului asociat


Astfel, de exemplu, daca se doreste asocierea unei cutii de text (care are numele Text1) la un control UpDown (care are numele UpDown1), atunci se va folosi o secventa de forma:


UpDown1.BuddyControl Text1


<titlu> Proprietatea BuddyProperty (de tip String)

Desemneaza o oarecare proprietate a controlului asociat controlului UpDown, care va fi utilizata in procesul de sincronizare a celor doua controale. Respectiva proprietate poate fi desemnata atat in faza de elaborare a proiectului (cu ajutorul inspectorului de obiecte), cat si in executie, printr-o secventa de forma:


Dim NumePropr As String

NumeControl.BuddyProperty = NumePropr


unde NumePropr specifica o proprietate a controlului din BuddyControl. Daca nu se utilizeaza secventa anterioara, atunci se va utiliza proprietatea implicita a controlului asociat. Daca proprietatea SyncBuddy este configurata la valoarea True, proprietatea Value a controlului UpDown va fi sincronizata cu proprietatea desemnata in proprietatea BuddyProperty. Se mentioneaza faptul, ca proprietatea BuddyProperty poate fi selectata in perioada de elaborare a proiectului; in acest scop in inspectorul de obiecte se va efectua un clic in linia BuddyProperty, dupa care se va efectua un clic pe butonul cu sageata jos. Se afiseaza o lista care contine toate proprietatile care pot fi utilizate in procesul de sincronizare. Proprietatea necesara poate fi selectata printr-un clic efectuat pe numele proprietatii. Proprietatea BuddyProperty poate fi stabilita doar dupa ce a fost selectata proprietatea BuddyControl.



Astfel, de exemplu, daca in procesul de sincronizare se doreste utilizarea proprietatii Text a unui control asociat de tip cutie de text, atunci se va folosi o secventa de forma:


OpDown1.BuddyProperty = 'Text'


<titlu> Proprietatea SyncBuddy (de tip Boolean)

Se refera la modul de sincronizare a proprietatii Value cu o proprietate a controlului asociat. Daca aceasta proprietate este incarcata cu valoarea True, atunci proprietatea Value a controlului UpDown este sincronizata automat cu proprietatea BuddyProperty a controlului asociat. Astfel, de exemplu, proprietatea Value a controlului UpDown poate, fi sincronizata cu proprietatea Text a unui control TextBox. Daca se modifica valoarea proprietatii Value, atunci valoarea proprietatii Text a cutiei de editare va fi actualizata (si invers, daca se modifica valoarea proprietatii Text, se va actualiza valoarea proprietatii Value). Proprietatea Value a unui control UpDown poate fi sincronizata si cu alte proprietati ale controlului asociat (de exemplu Top, Left, BackColor, ForeColor si altele). Lista completa cu proprietatile controlului asociat care permit sincronizarea cu proprietatea Value poate fi afisata astfel: prima data se incarca proprietatea BuddyControl cu numele controlului asociat, dupa care in inspectorul de obiecte se efectueaza un clic in linia corespunzatoare proprietatii BuddyProperty. in coloana de valori se afiseaza un buton cu sageatajos. Se efectueaza un clic pe acest buton, in urma acestei actiuni se va deschide o lista, care contine numele tuturor proprietatilor care permit efectuarea unei sincronizari. Daca nu se alege nici un element din lista, atunci sincronizarea va fi realizata cu proprietatea implicita a controlului asociat. Daca proprietatea SyncBuddy este incarcata cu valoarea False (care este si valoarea implicita), atunci proprietatea Value a controlului UpDown nu se sincronizeaza cu nici o proprietate a controlului asociat. Proprietatea poate fi modificata sau testata printr-o secventa de forma:


Dim Sincronizare As Boolean

NumeControl.SyncBuddy = Sincronizare 'Stabilirea valorii proprietatii.

Sincronizare = NumeControl.AutoBuddy 'Citirea valorii proprietatii.


<titlu> Proprietatea AutoBuddy (de tip Boolean)

Se refera la detectarea automata a controlului asociat la controlul UpDown. Daca aceasta proprietate este incarcata cu valoarea True, atunci controlul asociat va fi detectat automat, pe baza ordinii de parcurgere cu Tab-uri a controalelor. Controlul asociat va fi controlul care este situat in fata controlului UpDown, in ordinea de parcurgere cu Tab-uri. Daca nu se gaseste nici un astfel de control, atunci se va cauta un control, care este situat dupa controlul UpDown, in ordinea de parcurgere cu Tab-uri. Daca proprietatea AutoBuddy este incarcata cu valoarea False, care este si valoarea implicita, atunci controlul asociat este stabilit pe baza informatiei memorate in proprietatea BuddyControl. Daca proprietatea AutoBuddy este incarcata cu valoarea True, atunci proprietatea BuddyControl va fi incarcata automat. Daca proprietatea AutoBuddy este incarcata cu valoarea False, informatia din proprietatea BuddyControl va fi stearsa. Proprietatea poate fi modificata sau testata printr-o secventa de forma:


Dim ValLog As Boolean

NumeControl.AutoBuddy = ValLog 'Stabilirea valorii proprietatii.

ValLog = NumeControl.AutoBuddy 'Citirea valorii proprietatii.


<titlu> Proprietatea Alignment

Stabileste modul de aliniere a controlului UpDown cu controlul asociat. Pentru selectarea modului de aliniere pot fi folosite urmatoarele constante predefinite: cc2alignmentLeft (= 0, controlul UpDown este in stanga controlului asociat) si cc2alignmentRight (= 1, valoare implicita, controlul UpDown este in dreapta controlului asociat).


<titlu> Evenimentul Change

Este declansat in momentul in care se schimba valoarea proprietatii Value a controlului UpDown. Valoarea acestei proprietati poate fi schimbata in urmatoarele doua moduri:


• utilizatorul efectueaza un clic pe un buton cu sageata;

• se modifica valoarea intr-un control asociat la controlul UpDown, ' cu conditia ca proprietatea SyncBuddy sa aiba valoarea True.


Procedura atasata acestui eveniment (care este evenimentul implicit al controlului) are urmatorul prototip:


Private Sub NumeControl_Change( [Index As Integer])


End Sub


Parametrul Index este un numar intreg care identifica controlul in cazul in care a fost folosit un tabel de controale.


<titlu> Evenimentul DownClick

Este declansat in momentul in care utilizatorul efectueaza un clic pe butonul cu sageata jos (sau sageata stanga). Acest eveniment este declansat dupa evenimentul Change. Procedura atasata acestui eveniment are urmatorul prototip:

Private Sub NumeControl_DownClick( [Index As Integer])

End Sub


Parametrul Index este un numar intreg care identifica controlul in cazul in care a fost folosit un tabel de controale.


<titlu> Evenimentul UpClick

Este declansat in momentul in care utilizatorul efectueaza un clic pe butonul cu sageata sus (sau sageata dreapta). Acest eveniment este declansat dupa evenimentul Change. Procedura atasata acestui eveniment are urmatorul prototip:


Private Sub NumeControl_UpClick( [Index As Integer])


EndSub


Parametrul Index este un numar intreg care identifica controlul in cazul in care a fost folosit un tabel de controale.


EXEMPLUL 1:

Forma aplicatiei urmatoare contine o cutie de text, un control UpDown si un control de tip eticheta. Cutia de text este asociata controlului


UpDown. Proprietatile controlului UpDown au fost stabilite in faza de elaborare a proiectului; valorile selectate sunt centralizate in tabelul urmator:


<tabel>


*Proprietate

Valoare


*Alignment

* cc2AlignmentRight


*Orientation

cc2Orientation Vertical


*BuddyControl

*Text1


*AutoBuddy

* False


*SyncBuddy

True


Buddy/Property

Text


*Value



*Min



*Max



*Increment


</tabel>


In procedura atasata evenimentului Change al controlului UpDown se citeste valoarea proprietatii Value, care reprezinta dimensiunea fontului utilizat la afisarea unui text in controlul de tip eticheta; aceasta valoare va fi afisata automat in cutia de text. Dimensiunea fontului variaza intre 8 si 26 puncte, cu pasul egal cu 2 puncte. Fereastra afisata de aplicatie poate avea aspectul alaturat.


Fig.pag.363 sub forma unei ferestre.


Textul sursa al programului este:


Option Explicit


Private Sub UpDown1_Change

With Label1

.FontName = 'Times New Roman'     ' Selectare numelui de font.

.FontSize OpDown1.Value     ' Stabilirea dimensiunii de font.

.Caption = 'Times New Roman' ' Afisare text in controlul de eticheta.

End With

End Sub


EXEMPLUL 2:

Forma aplicatiei urmatoare contine o cutie de text, un control UpDown si un control Shape (model geometric, tip dreptunghi). Cutia de text reprezinta controlul asociat controlului UpDown. in momentul initial latimea modelului geometric este 0 si este plasat deasupra cutiei de text. Proprietatile de baza ale controlului UpDown sunt stabilite in executie, in procedura atasata evenimentului Load al formei. Domeniul de valori al controlului este intervalul [0,10], pasul utilizat este 1. in momentul in care se efectueaza un clic pe controlul UpDown, se declanseaza evenimentul Change, in procedura atasata acestui eveniment se citeste valoarea proprietatii Value (care variaza deci intre 0 si 10). Aceasta valoare este utilizata la stabilirea latimii noi a modelului geometric. Latimea acestui model va varia intre zero si latimea cutiei de text. Fereastra afisata de aplicatie poate avea aspectul urmator:


Fig.pag.364 sub forma unei ferestre.


Textul sursa al programului este:


Option Explicit


Private Sub Form_Load()

Form1.Caption = 'Controlul UpDown'

Text1.Text

With UpDown1

.BuddyControl Text1

.BuddyProperty = 'Text'

.SyncBuddy True

.AutoBuddy = False

.Value

.Min

.Max

Increment =

.Wrap True

End With

Shape1.Height Text1.Height

Shape1.Width

End Sub


Private Sub UpDown1_Change

Dim v As Integer

v = UpDown1.Value

Shape1.Width = v * Text1.Width

End Sub




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright