Personalizziamo il nostro programma
a cura di Michele Neri (requisiti: Conoscenza generica di Visual Basic)

L'interfaccia grafica di un applicativo è il tramite tra l'utente e il nostro programma: più è complessa, meno possibilità avremo che il nostro programma sia apprezzato e di conseguenza utilizzato.
Tuttavia progettare una interfaccia utente non significa essere avari di controlli ma usarli nel modo giusto al fine di rendere il programma facile da utilizzare.
Prima di disegnare l'interfaccia utente chiediamoci chi sarà ad utilizzare il nostro programma e dopo aver progettato come apparirà, tenendo conto delle esigenze del cliente, non preoccupatevi: ci sarà sempre qualcuno che avrebbe preferito un altro colore dello sfondo, un altro font per la barra delle applicazioni ecc.; insomma avere la possibilità di personalizzare il loro programma.

In questo articolo illustrerò come realizzare un programma che permetta all'utente di impostare lo sfondo a scelta per un form e rendere permanenti le modifiche.
Il modo più semplice, anche se non l'unico, ma probabilmente il più rapido per memorizzare e recuperare informazioni relative alle applicazioni e al sistema è il registro di configurazione di Windows.
Visual Basic, come sempre, mette a disposizione del programmatore tutti gli strumenti anche per la gestione del registro. Le istruzioni per la gestione del registro di configurazione,per quanto riguarda le applicazioni Visual Basic, sono Delete Setting, Save Setting, Get Setting e le utilizzeremo per il nostro programma di studio.

Creiamo un Form e inseriamoci un controllo CommonDialog (CommonDialog1) e un CommandButton (CmdBotton). Dichiariamo adesso la nostra prima variabile

Option Explicit
Dim sVaria As String

Nella routine che gestisce l'evento click del CommandButton scriviamo il codice che lapre la finestra di dialogo per la scelta dei colori di Windows (CommonDialog)per la scelta del nostro sfondo.

Private Sub CmdBotton_Click()
  Dim i As Integer, sAppName As String, sSection As String, sColor As String
  CommonDialog1.ShowColor
  FrmMia.BackColor = CommonDialog.Color

  sAppName = "Mikele"
  sSection = "Startp"
  sColor = "backcolor" & CStr(i)
  sVaria = CStr(FrmMia.BackColor)

A questo punto aggiungiamo il codice savesetting per scrivere le nostre informazioni sul registro di configurazione

  SaveSetting sAppName, sSection, sColor, sVaria
End Sub

Abbiamo appena visto come salvare le impostazioni dello sfondo nel registro di configurazione ma, per poterle utilizzare, è necessario anche recuperarle. Di seguito vediamo come:

Private Sub GetStartp()
  Dim i As Integer, sAppName As String, sSection As String, sColor As String
  Dim sDefval As String

  sDefval = CStr(FrmMia.BackColor)

  sAppName = "Mikele"
  sSection = "Startp"
  sColor = "backcolor" & CStr(i)
  sVaria = GetSetting(sAppName, sSection, sColor, sDefVal)

  FrmMia.BackColor = Val(sVaria)
End Sub

Adesso è sufficiente inserire nell'evento load del form il richiamo alla funzione e... provare:

Private Sub FrmMia_Load()
  GetStartp
End Sub

Questo esempio potrà essere utilizzato, con opportune modifiche, anche per memorizzare dei valori in una TextBox che identifichino, per esempio, le coordinate di una stampa (verticale e orrizontale) ed altro ancora... a voi la scelta.

L'autore, Michele Neri è disponibile per chiarimenti all'indirizzo micner@tiscalinet.it