I colori in Visual Basic

In Visual Basic i colori vengono rappresentati da numeri esadecimali. Spesso si vede che questi numeri hanno 8 cifre. Le prime 2 sono 00 per i colori assoluti, oppure 80 per i colori di sistema. E' inoltre importante notare che Visual Basic antepone il carattere 'H' al numero per capire che è un numero esadecimale.
Le altre 6 posizioni rappresentano la "quantitą" di colore. Ogni coppia rappresenta un numero da 0 a 255 (da 00 a FF). Contrariamete ad altri linguaggi (HTML per esempio) le prime due cifre rappresentano il Blu, le seconde il verde, le terze il Rosso.
SuggerimentoAndate nell'indice della guida per scaricare il mio programma che, dato un colore, ne visualizza il codice esadecimale usato da Visual Basic.
A livello di codice dovete anteporre al numero esadecimale il simbolo & come nel seguente esempio:
Form1.BackColor=&HFF0000

che attribuisce il colore Blu allo sfondo della finestra (notare FF in prima posizione e non in terza).
SuggerimentoPotete notare che si possono anche inserire colori "di sistema". Visual Basic, infatti, riserva alcuni codici esadecimali per indicare i colori di sistema utili per "colorare" le finestre. Potete per esempio fare in modo che la vostra finestra abbia il colore di sfondo del menu qualsiasi sia il colore del menu scelto dall'utente!

Le Finestre

Il primo oggetto del quale parlerò è la finestra, poiché presente nel 99 % delle applicazioni.
Una finestra ha molte proprietą. Quelle che ne determinano il colore di sfondo, il font utilizzato per default ecc... SuggerimentoSe impostate subito la proprietą del font, tutti gli oggetti che creerete avranno quel font.
In questa tabella riassumerò le proprietą che ritengo più importanti spiegandone il significato:

Proprietą Valori Note Esempio
BorderStyle 0 None
1 FixedSingle
2 Sizable
3 Fixed Dialog
4 Fixed ToolWindow
5 Sizable ToolWindow
Indica il tipo di bordo della finestra. Sizable significa che può essere ingrandita dall'utente, i vari Fixed provateli voi. None indica che la finestra non ha bordo. Form1.BorderStyle=2
Caption Una stringa Indica il testo che appare come intestazione della finestra Form1.Caption="Mi chiamo form1"
ControlBox True o False Impostano se sono visibili i bottoni per la chiusura, ingrandimento, riduzione ad icona della finestra e l'icona a sinstra della finestra Form1.ControlBox=False
Icon Percorso file *.ico Imposta l'icona che verrą usata come icona della finestra Form1.Icon="c:/icona.ico"
MaxButton True False Indica se è visibile (o utilizzabile) il bottone di ingrandimento della finestra  
MDIChild True False Se True, la finestra resterą all'interno della finestra "Madre"  
MinButton True False Indica se è visibile (o utilizzabile) il bottone di riduzione ad icona della finestra  
Moveable True False Indica se l'utente potrą muovere la finestra o meno  
Picture Percorso file immagine Indica l'immagine che sarą utilizzata come sfondo della finestra Form1.Picture=LoadPicture("<percorso file>")
ScaleMode 0-User
1-twip
2-Point
3-Pixel
4-Character
5-Inch
6-Millimeter
7-Centimeter
Imposta l'unitą con la quale saranno espresse le misure degli oggetti sulla finestra: Twip è una unitą di misura equivalente a 1/20 di punto di stampa. Form1.ScaleMode=1
ShowInTaskbar True False Imposta se il segnaposto per la finesestra sarą visualizzato nella Task Bar di Windows. Spesso la proprietą sarą da impostare a True solo per la finestra principale della applicazione.  
StartUpPosition 0-Manual
1-CenterOwner
2-CenterScreen
3-Windows Default
Imposta la posizione iniziale della finestra. "Manuale" consente di impostarla a piacere. Form1.StartUpPosition=3
WindowState 0-Normal
1-Minimized
2-Maximized
Indica lo stato della finestra: normale, massimizzato, nella Task bar  

Le finestre generano molti "eventi". Ecco i più importanti con le indicazioni su come usarli:

Nome dell'evento Uso
_Click() Viene generato quando l'utente clicca con il mouse sulla finestra.
_DblClick() Viene generato quando l'utente fa doppio click.
_KeyDown(KeyCode As Integer, Shift As Integer) Indica che l'utente ha premuto un tasto. KeyCode indica il codice del tasto, ad esempio vbKeyF1 per il tasto F1 e vbKeyHome per il tasto HOME. Shift indica lo stato dei tasti Maiuscolo, Alt e Ctrl mentre l'utente premeva il tasto
_Load() Viene generato quando la finestra viene caricata. SuggerimentoLa finestra principale viene caricata all'avvio del programma, le altre quando vengono chiamate oppure a livello di codice con Load <NomeForm>
_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Somiglia a _Click, ma permette di sapere in che punto della finestra è avvenuto il click (X,Y), il bottone pigiato (destro, sinistro ecc...) e lo stato dei tasti Ctrl, Mauiscolo e Alt
_QueryUnload(Cancel As Integer, UnloadMode As Integer) Prima di venire scaricata la finestra: Se a livello di codice imponete: Cancel=-1, la finestra non verrą scaricata. UnloadMode indica se la richiesta è stata fatta tramite la X della finestra o in altro modo.
_Resize() Viene generato quando si cambia la grandezza della finestra (anche quando si minimizza). Può essere utile per dimensionare gli oggetti alla nuova grandezza della finestra.
_Unload(Cancel As Integer) Viene generato quando la finestra viene scaricata


Lezione precedenteTorna all'indiceLezione successiva