OGGETTI
Per oggetti s'intente tutto
ciò Visual Basic riesce a controllare, in pratica ogni
control, compreso il form , é un oggetto con delle proprietà e dei metodi .
Quando aggiungiamo un control ad un form, ad esempio una textbox,
creiamo un'istanza della classe textbox di cui possiamo usarne metodi
e proprietà. E' come se nella toolbox ci fossero le matrici di
quelli che, una volta inseriti in un form, diventerann o degli
oggetti di Visual Basic.
NOMI
DA DARE AGLI OGGETTI
Per evitare problemi di comprensione
del codice, é bene dare un nome ai control in modo da capire
immediatamente di cosa si tratta, di quale control sia. Guardando le
istruzioni si potrà capire a colpo d'occhio se sto usando una
listbox o una label, senza bisogno di fare ulteriori ricerche. La
regola consiste nel far precedere il nome del control da un suffisso
che ne identifichi il tipo: ad esempio
- frmProva
dato frm come suffisso, frmProva
é un form Il suffisso è composto da 3 lettere
minuscole, seguito poi da un nome che comincia con una lettera
maiuscola che completa il nome da dare al control. Questo modo di
assegnare i nomi rende il codice più intellegibile anche per
gli altri sviluppatori che in futuro dovranno metter mano al codice.
Ecco l'elenco dei suffissi secondo i suggerimenti di
Microsoft.
PROPRIETA'
Come abbiamo visto una
proprietà serve a descrivere in termini quantitativi e
qualitatiivi un oggetto. Una proprietà si può assegnare
in fase di progetto, scrivendone il valore nella apposita casella o
in fase di esecuzione con una appropriata istruzione come
questa:
frmProva.width
= 7420
Questa istruzione porta la larghezza
del form frmprova a 7420 twips. Una proprietà si può
anche leggere per conoscerne le caratteristiche:
nome =
lblNome.caption
copia in nome il valore della
proprietà caption dell'oggetto lblNome, che dovrebbe essere
una label. Le proprietà più comunemente usate
sono:
Name |
per impostare il nome
dell'oggetto |
Visible |
può valere true o
false e rende l'oggetto visibile o invisibile |
Enabled |
per abilitare un oggetto con
true o disabilitarlo con false |
FontName |
il nome di un font di
caratteri |
FontSize |
la dimensione del
font |
forecolor |
per attribuire il colore del
testo |
Di solito queste proprietà si
attribuiscono in fase di progetto; nel caso della proprietà
name é obbligatorio essendo impossibile farlo in fase di
esecuzione; anzi non é neppure possibile leggere la
proprietà name in questa fase. Alcune proprietà si
possono attribuire solo in fase di progetto, come per name, altre si
possono attribuire solo in esecuzione.
METODI
I metodi degli oggetti di visual
basic non sono molti e spesso dipendono dal tipo di oggetto, come nel
caso di listbox per esempio che ha metodi caratteristici come additem e removeitem,
che sono presenti anche per combobox. Ci sono però dei metodi
che tutti gli oggetti hanno; uno di questi é setfocus. Questo metodo permette di spostare 'il
fuoco' sopra l'oggetto indicato. Per fuoco s'intende quale control in
un determinato momento ha l'attenzione di Visual Basic e spostare il
fuoco vuol dire fare in modo che VB sia posizionato sopra l'oggetto
voluto. Esempio:
- txtNome.setFocus
Naturalmente se txtNome non é
visibile, questa istruzione da' errore. Un altro metodo in comune
é move; esso serve a cambiare la dimensione e la
posizione di un oggetto dentro il form. La sintassi completa
é:
oggetto.move
left,top,width,heigh
dove i 4 parametri sono
rispettivamente la posizione a sinistra, in alto, la larghezza e la
lunghezza dell'oggetto espressi in twips. 256 twips corrispondono ad
1 cm circa. I parametri left e top dipendono da dove si trova
l'oggetto: se é in un form, si ri feriscono alle coordinate
del form che hanno il punto 0,0, ovvero l'origine del sistema di
riferimento, nell'angolo in alto a sinistra del form. Se l'oggetto
é all'interno di un frame, le coordinate si riferiscono
all'angolo in alto a sinistra del frame e non del form che li
contiene entrambe. In pratica le coordinate sono relative all'oggetto
che li contiene. Esempio di move:
txtNome.move
10,20,200,225
Ultimo metodo sempre presente
é
refresh
e serve a rivisualizzare l'oggetto
nel caso VB non l'abbia fatto correttamente: non é molto
usato.
WITH
... END WITH
Quando vogliamo valorizzare le
proprietà di un oggetto, invece di scrivere una sequela di
istruzioni come questa:
- lblNome.caption
= "Titolo"
- lblNome.fontName
= "Arial"
- lblNome.fontSize
= "12"
a volte può risultare
più comodo usare questa sintassi, che fa esattamente la stessa
cosa della precedente:
- with
lblNome
- .caption
= "Titolo"
- .fontName
= "Arial"
- .fontSize
= "12"
- end with
Il codice risulta più
leggibile é eseguito più velocemente dal pc.
EVENTI
Un evento é un'azione che un
control é in grado di controllare, come lo spostamento del
mouse o un colpo di click o doppio click su unbottone. Tutto quello
che accade in Visual Basic alla fine genera un evento in un qualche
control, che l'applicazione dovr à trattare, se opportuno. Per
questo motivi VB é un linguaggio event-driven, come detto
all'inizio. Gli eventi che ricorrono più spesso nei control
sono:
activate |
attivazione del control
(vedi il caso del form) |
change |
cambiamento nel contenuto
del control come in label e textbox |
click |
ho fatto click col
mouse |
dblClick |
doppio click |
gotfocus |
il control ha il
fuoco |
keydown |
tasto tenuto
premuto |
keypress |
codice del tasto
premuto |
keyup |
tasto premuto e
rilasciato |
load |
caricamento
dell'oggetto |
lostfocus |
perdita del fuoco |
mousedown |
tasto del mouse tenuto
premuto |
mouseup |
tasto del mouse premuto e
rilasciato |
mousemove |
mouse in movimento Non
tutti gli eventi descritti valgono per tutti gli
oggetti |
DataRegion
|