Accorgimenti per far acquisire ad un programma C++ Builder il look & feel del sistema operativo su cui stà girando. Come già osservato in alcune occasioni i programmi creati con C++ Builder 6 (consideriamo specificamente questa versione), perchè le successive versioni di C++ Builder sono ovviamente state aggiornate da questo punto di vista, hanno in origine un look & feel (termine tecnico da tradurre come “aspetto”) proprio delle vecchie versioni di Windows, quali Windows 95, 98, NT e 2000. Una grossa novità in Windows XP è stata infatti l'apparizione delle skin 1 ha comportato alcune novità, e tutte gli elementi delle form, che per anni avevano sempre avuto lo stesso aspetto piuttosto brutto, adesso potevano essere oggetto di variazione di colori e altre caratteristiche legate al loro modo di apparire sullo schermo (quindi non alle loro funzionalità). Chiunque abbia osservato vecchie schermate di Windows si rende subito conto della differenza estetica piuttosto notevole. Il problema di acquisire un look and feel, per un programma, talora in modo dinamico2 è divenuto via via sempre più importante, via via anche il lato estetico dei programmi e dell'interfaccia dei sistemi operativi viene sempre più curato. Vediamo quindi come far diventare con un look and feel adeguato i nostri programmi creati con C++ Builder 6. La tecnica è semplice; si genera, tramite un apposito procedimento, che noi non andremo ad 1 2 Alla lettera traducibile come “pelle”. Si tratta infatti di una specie di “pelle”, opportunamente variabile, delle varie form sullo schermo e dei vari aspetti grafici di Windows, nelle versioni precedenti regolabili in modo più limitato. I programmi Java, ad esempio, essendo multipiattaforma, hanno il tipico problema di essere in grado di acquisire un look and feel dinamicamente, a seconda su quale sistema operativo stiano girando. 1 Look and feel dei programmi C++Builder 6 sotto Windows eseguire, un file di risorsa (*.res) capace di influenzare il look & feel del programma che lo utilizza. Dato questo file .res (chiamato spesso fino a qualche tempo fà “WindowsXP.res”) il programma è in grado di modificare la sua consueta interfaccia ed anzi adattarla al sistema operativo su cui gira. Quindi incluso opportunamente questo file, il programma avrà una tipica interfaccia Windows XP, se girerà su XP, tipica interfaccia Vista / 7, se girerà su questi sistemi operativi. Il file WindowsXP.res andrà prima di tutto copiato nella direcotry del progettino che si stà realizzando. Questo è quello che mostra la figura precedente. Poi successivamente si dovrà far sì che il programma C++ recepisca la presenza di questo file di risorsa, e questo viene fatto tramite la seguente istruzione: Fatti questi due passaggi, il programma acquisirà automaticamente il look & feel del sistema operativo, in modo molto semplice e soddisfacente, in praticamente tutti i suoi aspetti (form, pulsanti, textbox ecc.). Quella sotto è la finestra del programma per il calcolo per l'area e perimetro del rettangolo mentre gira sotto Windows 7. Come si vede il look and feel è perfettamente allineato alla versione di seven e non ricorda in nulla quello originale dei programmi C++ Builder 6. Inoltre c'e' da notare che per ottenere ciò, dopo la compilazione compilato. necessario basta l'eseguibile appena Il file WindowsXP.res è quindi solo nella fase prima della compilazione del programma, ma non dopo. 2 Look and feel dei programmi C++Builder 6 sotto Windows