W I ~ ~ ~ I nuovi controlli di Windows 95 visti da ... · comunque complessa se, come probabile,...

6
W I ~ ~ ~ w ~ ............................................................................................................I nuovi controlli di Windows 95 visti da MS Visual Basie 4.0 Vogliamo analizzare, un po' più nel dettaglio di quanto non si faccia nelle tradizionali prove dei nuovi prodotti, i nuovi oggetti, o ((controls», presenti in Windows 95, vedendoli sia dal punto di vista di Windows 95, lo stesso dal quale li vede un suo normale utilizzatore, sia dal punto di vista di un tecnico del software, dal quale li vede ad esempio un programmatore in ambiente Windows, che utilizzi un qualsiasi linguaggio di sviluppo specifico per Win 95, come il ben noto Visual Basic. In particolare il Visual Basic 4.0, ancora in versione beta, essendo ((double face», in quanto permette di programmare sia per il vecchio ambiente a 16 bit che per il nuovo a 32 bit, già dispone dei nuovi Controls, alcuni dei quali, ovviamente, possono essere utilizzati solo lavorando sulla versione 32, valida, lo ricordiamo, sia per Windows 95 sia per le versioni 3.51 dei due Windows NT, il Server e il Workstation di Francesco Petroni G'l Ge:hone filone Pdnnello di conhollo "r-Ej Figura 1 - MS Windows 95 - Gestione delle Risorse del Computer. In questo programma di servizio di Windows 95 vediamo ben quattro o cinque ((oggetti" tipi- ci di Windows 95 cui corrispondono altrettanti ((controlli" in Visual Basic 4.0. In alto la ben nota Toolbar, in basso la ben nota riga di stato, a sinistra la lista di tipo Outline e a destra una Lista a Colonne, che può essere trasformata in una Lista ad Icone. I primi due controlli, co- me vedremo tra un po', in una applicazione VB4, vanno ad occupare automaticamente le due posizioni in alto e in basso nella finestra, comunque questa sia dimensionata. un database, e di permetterne la com- pleta gestione. Tutto in un solo control- lo e impostando inizialmente solo quat- tro o cinque proprietà dell'oggetto. Bt ••••• l{iIulizza ~ 1 J P•••••• "cafJGIo :3 ~ .l]~I.1 ~ ~J~L .•.• I·.;·I:~1iii T••• loe.wo ""*"-".,. ••.• Il-*'*" Oeol<lop N.- DeoaiIlDne " Ràorte •••• """"""" f.dlalo Modico le opzioni" f.dlalo ••••• F\appJoda 3.5 pollici lA:J ee.alo" Mia""'" M. Anwni'i*•••••• ""'*alo MiaooofteoiM1Ie {C:J O.wo.. ModIiear••••.•• _elenOllMZioni ••.•Iuoo••••• lO:J F.. Cmligo.r ••••••• ,•• P•••••• " "",*010 FOldFesI _ OlliceFOldFd •••• conIert m..;"g ~ """""""'mm.szianaIi ModIieale ioIposlaziani ~ e Il RioOI:- InaùIazionellllllbzicri ••••••••• eaee~.~. TùIle" _ ModoIII ••••••••••••••••••• lllOdeoo o -sIiee le pr<llIIidà" u _ _ NodIiealeÌlllpooteZiDri ••••_ s..- ~ Ceotie leiolposlaziani••••••~....-...w. ""- HuoYo................... __ edIbJnoi oIice95 P..-d ModIieale paaoooode le opzioni" llfOleZione. .,.- P"'" e FAX _" ••••••• Eldw1go wi65 ReIe ~_e_"-. Ce*oo ~ NodIiealeÌlllpooteZiDri __ . S01acrioIie _ Fon.ce_ ••.•_e __ le •••• ~ Ag;iJnge,_e_le~ •••••• 1f' tabase (che Visual Basic 4.0 chiama sin- teticamente DBGridl che è in grado di ospitare una lista di dati, ad esempio i record di una Tabella o di una Query di - Una nuova generazione di controlli La prima cosa da dire è che i nuovi Controlli sono, in generale, più com- piessi. Questo dal punto di vista del pro- grammatore significa che è più lunga la fase di definizione delle loro caratteristi- che iniziali, ma meno complicata la loro gestione da programma, in quanto si tratta pur sempre di gestire un unico controllo. Come esempio vedremo la Lista a Colonne collegata ad una Tabella di Da- I nuovi oggetti di cui ci occuperemo sono una dozzina e, come può consta- tare chi passa ad utilizzare Windows 95, modificano sensibilmente il modo di la- vorare con Windows. Di questo non ci accorgeremo subito (Windows 95 è ap- pena arrivato) ma tra qualche mese, quando le varie case avranno presenta- to le nuove versioni dei lori prodotti per Windows 95, che conterrano sicura- mente in dosi massicce i nuovi oggetti. Come detto i nuovi oggetti (useremo sia il termine «oggetto» che il termine, più corretto dal punto di vista tecnico, di «controllo», o in inglese «control») sono una dozzina e la nostra intenzione è quella di descriverli con un certo detta- glio, mostrando anche dei piccoli esem- pi di applicazione in VB4. Prima però facciamo due o tre premesse, necessa- rie per inquadrare meglio il fenomeno. 306 MCmicrocomputer n. 156 - novembre 1995

Transcript of W I ~ ~ ~ I nuovi controlli di Windows 95 visti da ... · comunque complessa se, come probabile,...

W I ~ ~ ~ w ~•............................................................................................................•

I nuovi controlli di Windows 95visti da MS Visual Basie 4.0

Vogliamo analizzare, un po' più nel dettaglio di quanto non si faccia nelle tradizionaliprove dei nuovi prodotti, i nuovi oggetti, o ((controls», presenti in Windows 95,

vedendoli sia dal punto di vista di Windows 95, lo stesso dal quale li vede un suonormale utilizzatore, sia dal punto di vista di un tecnico del software, dal quale li vede

ad esempio un programmatore in ambiente Windows, che utilizzi un qualsiasilinguaggio di sviluppo specifico per Win 95, come il ben noto Visual Basic. In

particolare il Visual Basic 4.0, ancora in versione beta, essendo ((double face», inquanto permette di programmare sia per il vecchio ambiente a 16 bit che per il nuovoa 32 bit, già dispone dei nuovi Controls, alcuni dei quali, ovviamente, possono essereutilizzati solo lavorando sulla versione 32, valida, lo ricordiamo, sia per Windows 95 sia

per le versioni 3.51 dei due Windows NT, il Server e il Workstation

di Francesco Petroni

G'l Ge:hone filone Pdnnello di conhollo "r-Ej

Figura 1 - MS Windows 95 - Gestione delle Risorse del Computer.In questo programma di servizio di Windows 95 vediamo ben quattro o cinque ((oggetti" tipi-ci di Windows 95 cui corrispondono altrettanti ((controlli" in Visual Basic 4.0. In alto la bennota Toolbar, in basso la ben nota riga di stato, a sinistra la lista di tipo Outline e a destra unaLista a Colonne, che può essere trasformata in una Lista ad Icone. I primi due controlli, co-me vedremo tra un po', in una applicazione VB4, vanno ad occupare automaticamente ledue posizioni in alto e in basso nella finestra, comunque questa sia dimensionata.

un database, e di permetterne la com-pleta gestione. Tutto in un solo control-lo e impostando inizialmente solo quat-tro o cinque proprietà dell'oggetto.

Bt ••••• l{iIulizza ~ 1

J P•••••• "cafJGIo :3 ~ .l]~I.1~ ~J~L.•.•I·.;·I:~1iiiT••• loe.wo ""*"-".,. ••.• Il-*'*"

Oeol<lop N.- DeoaiIlDne" Ràorte••••""""""" f.dlalo Modico le opzioni" f.dlalo •••••

F\appJoda 3.5 pollicilA:J ee.alo" Mia""'" M. Anwni'i*•••••• ""'*alo MiaooofteoiM1Ie{C:J O.wo.. ModIiear••••.•• _elenOllMZioni ••.•Iuoo•••••lO:J F.. Cmligo.r ••••••• , ••P•••••• " "",*010 FOldFesI _ OlliceFOldFd •••• conIert m..;"g~ """""""'mm.szianaIi ModIieale ioIposlaziani~

eIl RioOI:- InaùIazionellllllbzicri •••••••••eaee~.~.TùIle" _ ModoIII ••••••••••••••••••• lllOdeoo o -sIiee le pr<llIIidà" u_ _ NodIiealeÌlllpooteZiDri••••_s..- ~ Ceotie leiolposlaziani••••••~....-...w.""- HuoYo................... __ edIbJnoi

oIice95 P..-d ModIieale paaoooode le opzioni" llfOleZione..,.- P"'" e FAX _" ••••••• Eldw1gowi65 ReIe ~_e_"-.

Ce*oo ~ NodIiealeÌlllpooteZiDri__ .S01acrioIie _ Fon.ce_ ••.•_e __ le ••••

~ Ag;iJnge,_e_le~ ••••••1f'

tabase (che Visual Basic 4.0 chiama sin-teticamente DBGridl che è in grado diospitare una lista di dati, ad esempio irecord di una Tabella o di una Query di

-

Una nuova generazionedi controlli

La prima cosa da dire è che i nuoviControlli sono, in generale, più com-piessi.

Questo dal punto di vista del pro-grammatore significa che è più lunga lafase di definizione delle loro caratteristi-che iniziali, ma meno complicata la lorogestione da programma, in quanto sitratta pur sempre di gestire un unicocontrollo.

Come esempio vedremo la Lista aColonne collegata ad una Tabella di Da-

I nuovi oggetti di cui ci occuperemosono una dozzina e, come può consta-tare chi passa ad utilizzare Windows 95,modificano sensibilmente il modo di la-vorare con Windows. Di questo non ciaccorgeremo subito (Windows 95 è ap-pena arrivato) ma tra qualche mese,quando le varie case avranno presenta-to le nuove versioni dei lori prodotti perWindows 95, che conterrano sicura-mente in dosi massicce i nuovi oggetti.

Come detto i nuovi oggetti (useremosia il termine «oggetto» che il termine,più corretto dal punto di vista tecnico, di«controllo», o in inglese «control») sonouna dozzina e la nostra intenzione èquella di descriverli con un certo detta-glio, mostrando anche dei piccoli esem-pi di applicazione in VB4. Prima peròfacciamo due o tre premesse, necessa-rie per inquadrare meglio il fenomeno.

306 MCmicrocomputer n. 156 - novembre 1995

WINDOWS

In figura 1 vediamo l'applicazione diWindows 95 Gestione delle Risorse (sa-rebbe il famoso Explorer che sostitui-sce, grosso modo, il precedente FileManager) in cui sono concentrati benquattro o cinque dei nuovi Controls diWindows 95. La parte a destra della vi-deata è proprio una Lista a Colonne,quella a sinistra una Lista Outline (ve-dremo anche questa), in alto c'è unaToolbar di Windows 95 e quindi sposta-bile (anzi quella dell'Explorer fa eccezio-ne) e in basso una Status Bar, che c'eraanche prima ma ora diventa obbligato-ria.

Poi, nella figura 2, vediamo, in fase diimpostazione delle proprietà, i tre nuovicontrolli (DBList, DBCombo e DBGrid)presenti in Visual Basic 4.0 e collegabilidirettamente a dati di un Database at-traverso un Data Control, che fa da in-termediario.

Nella figura 3 invece vediamo solouna DBGrid e una MessageBox inseritaper dimostrare il fatto che, pur trattan-dosi di un solo oggetto, è possibile indi-viduarne i singoli componenti, cioè lesingole celle.

'. pOI1 I,lIno,oll V"""I u•••" Ide'09f'I Plr-JE3

EJT,ue'20Auhor .=.J

l.ocked Falto

AtrtJMalcti:my o . So.., Mal<:tingMou.olcon (Nono) JM.....,ponor O· Del'"Namo DSl.istlRowSoo.rce Dolo'TailIndo>< oTabStop T,ue

Figura 2 - MS Visual 8asic 4.0 - Controlli collegabili ad un RecordSet.In Visual 8asic 4.0 esistono tre nuovi controlli che si possono riempire direttamente con ida-ti provenienti da un RecordSet, owero da una Tabella di un Database oppure da una Query,definite in un Data Control. Sono la Lista semplice, la Combo e la Lista a Colonne, che puòmostrare più campi di uno stesso RecordSet.

x

x

Jodooc •••••• B-1•••I""'"' IG-wl -G-----l.' -1------------loalllll""l:..O-••••-_-G-_-· ----"-========--~-~_..-.!•.• ro

Figura 3 - MS Visual 8asic 4.0 - La D8Grid.lo sono, perdonate se parlo di fatti personali, un po' fissato con il concetto diForm Multitable, che, in, un 'applicazione di tipo gestionale, mostra in una unicaMaschera dati provenienti da più Tabelle del Database. Se, di una Tabella, deb-bono essere mostrati più record, questi possono essere inseriti in un unicocontrollo di tipo D8Grid, che ne permette anche la gestione. È più semplice lafase di definizione (direi di caricamento) dell'oggetto, mentre la sua gestione ècomunque complessa se, come probabile, si vogliono gestire direttamente dal-la Tabella inserimenti, cancellazioni, modifica di record.

Figura 4 - MS Visual 8asic 4.0 - Impostazione delle proprietà in controllo cheha ... figli.I nuovi controlli introdotti con Windows 95 e disponibili in Visual 8asic 4.0 sonomolto complessi. Questo significa che sono definibili per ciascuno di questi nu-merose proprietà. Inoltre molti controlli dispongono di serie di proprietà che siripetono per ipropri N componenti. Ad esempio la Form Tabbed attiva una se-rie di proprietà per ciascuna linguetta, oppure la Lista a Colonne una serie diproprietà per ciascuna colonna. Visual 8asic 4.0 mette, molto opportunamente,a disposizione una ulteriore finestra nella quale impostare le proprietà in serie.

MCmicrocomputer n. 156 - novembre 1995 307

WINDOWS

I controlli ... con i figliUn'altra novità negli oggetti di Win-

dows 95 è costituita dalla presenza dicontrolli complessi, in cui una serie dicaratteristiche si ripetono per una seriedi volte. Come esempio proponiamo lagià citata Lista a Colonne, in cui posso-no essere impostate N colonne e perciascuna di esse una serie di caratteri-stiche, oppure la Form a «pagine»,identificate da una linguetta, nella qualeogni pagina ha le sue caratteristiche e isuoi oggetti, che «vivono» solo all'inter-no della singola pagina (il control si chia-ma Tabbed). In figura 4 vediamo unaForm con una serie di Pagine (una perciascun mese dell'anno) e la finestradelle caratteristiche che permette di de-finire le caratteristiche di ciascuna pagi-na. In questa finestra c'è un contatoreche indica di quale pagina si tratta e duepulsanti Inserisci Pagina o Cancella Pa-gina.

È evidente che in caso di «controllocon figli» la sintassi del generico co-mando VB si arricchisce di un ulterioreelemento che serve per indicare qualesia la pagina, ad esempio:

FORM1.FRAME1.PAGE1.TEXTl =«Buongior-no»

Inoltre va detto che anche il numerodelle colonne oppure il numero delle pa-gine sono caratteristiche dell'oggettomodificabili comunque «runtime». Sipensi ad esempio ad una finestra a pa-gine, in cui ogni pagina contenga i datidi un record (ovviamente in una situa-zione con pochi record).

Per quanto riguarda in particolare ilcontrollo chiamato Tabbed facciamo al-cune precisazioni. La prima è che il con-trollo Tabbed già esisteva come VBXaggiuntivo realizzato da produttori indi-pendenti per la versione precedente diVisual Basic (la 3.0 Professional). Tantoè vero che in Visual Basic 4.0 ce ne so-no ben due e che uno di questi è statoacquisito proprio da un produttore indi-pendente. La differenza più macrosco-

La DBGrid dispone di una serie diproprietà impostabili nella fase «desi-gn» oppure nella fase «runtime». Altrecaratteristiche, ad esempio il ridimen-sionamento di una colonna, possonoessere impostate direttamente sull'og-getto durante l'esecuzione del program-ma.

L'applicazione più immediata di uncontrollo di questo tipo è come Sub-form in una Form Multitable, in cui ap-paiono i dati provenienti da due tabelledi un Database, poste in relazione Unoa Molti tra di loro.

x

cl

Figura 5 - MS Excel 95 -Impostazione delle Op-zioni. Mostriamo comele finestre Tabbed, ov-vero le finestre a pagi-ne linguetta te, in realtàfossero già state "in-ventate)) prima cheWindows 95 le pro-muovesse ad oggetti disistema. La casa pio-niera è stata la Borlandche ha messo per pri-ma le linguette al suoQuattro Pro, poi la Lo-tus con il suo Notes,che archivia idocumen-ti in Registri linguettati,infine la Microsoft cheha introdotto Box a Lin-guette, necessarie inquei casi, come quellocostituito dalle imposta-zioni delle opzioni di Ex-cel, in cui le impostazio-ni da inserire siano tan-tissime ed organizzabiliper argomento.

x

Prlvat:e Sub Cortroandl_Cl1ck()SSTabl.TabCapt,1on(O) • "ROIU."SSTabl. TabCapt:1on Il) • H!ULANO"SSTab1. TabCapt10n (2) • "NAPOLI"LI • ""La città di Roma è et.ata fondaea"L1· L1 + " da Romolo nel 153 A.C." + Chr(13) + Chr(10)LI • LI + "lttualme:nte è la cap1t.ale d' leali •."L1BELl. Capt10n • L1

End 3ub

.8-' RONA. I RONA

. TIVOLI: CMT AVECCHlA!il-- VITERBOI!J RIETI$- FROSINONEi I FROSINONE

i i_~~~LATINA

CAMPANIANAPOLICASERTA

l CASERTA! .MONDRAGONEr ··AVELLINO

IlI(MI'l

_ MIlANO IW'OUu••••_. __do _ Ml1I3A.C._ ......••-

Ì!!lI'

s..-Far<: iaI

~Fiol.oclliar<l-s.-Fiol.ocoliortl

U_H- •••••••~S<u<Io

Cl C2 \IDC( 6

)O( A lAZIOA Al RONAAl AlI RAl Al2 TIVOLIAl A13 CIVITAVECCHIAA AZ VITERBOAZ AZI VITERBOAZ A22 RTEA A3 RIETI1A3 A31 RIETI

Snaor

Pottain

1234567•,181112131415161711

H • I) Sheetl

F"'!:!!JIl n

Figura 6 - MS VisualBasic 4. O - Programmache definisce al voloun Oggetto Tabbed.Esistono due differentitipi di Control Tabbed.La differenza più im-portante è che in uno(SSTab) gli oggetti po-sti su una delle paginesono attivi solo suquella particolare pagi-na mentre nell'altro(TabSt(p) gli oggetti so-no attivi su tutte le pa-gine. È chiaro che è ilprogrammatore chepoi, da programma, at-tiva e disattiva a secon-da delle necessità glioggetti che vuole.

Figura 7 - MS Visual Ba-sic 4. O - Vista di una Li-sta in modo TreeView.In Visual Basic 4.0 cisono ben due controllidi tipo Outline (sono unpo' fissato anche congli Outline). C'è il vec-chio, diciamo così,MSOUTLINE. VBX, ec'è questo nuovo con-trollo (i! suo nome pro-prio è TreeView) piùadatto ad utilizzazioni ditipo Database, in cui lagerarchia che regola ivari elementi è diretta-mente indicata in speci-fici campi. In basso a si-nistra vediamo come èfatta la Tabella. La co-lonna C2 indica i! nomedell'ltem mentre nellaC7 c'è il nome dell'ltemgerarchicamente di li-vello superiore. Ad

esempio Civitavecchia (A 73) è in provincia di Roma (A 7), che a sua volta è una provincia del Lazio (A).

308 MCmicrocomputer n. 156 - novembre 1995

WINDOWS

Figura 9 - MS VisualBasic 4.0 - Costruzionedi una Lista a Icone.Ecco un ulteriore tipodi Lista, anche questadisponibile ormai a li-vello di sistema al pun-to che costituisce lamodalità di visualizza-zione del contenutodelle cartelle presentisulla scrivania di Win-dows 95. In questo ca-so ad ogni elementodella lista può essereassociata una Iconagrande o piccola, oltreche la scritta grande opiccola. Si tratta ovvia-mente di un controllodi tipo complesso, chenecessita di una seriedi comandi per impo-starne le parti testualie quelle grafiche. Sonoinoltre individuati tuttigli eventi che possonoavvenire a livello di sin-golo Item della lista.

71.x~

EJ _ICIict

x

Sll!!:t. Il • TV.Node:!l.J.dd(Kl, evVChlld, Rl, K3)[nd ItDaeal. Recorclset.. lloveNext.

Loop!nd Sub

Else

Private: Sub Cortmeloc11 CUcitOI Dim Il A:!l Node -

Do Vbi le Noe Dae.l. Rl!:cordset.. [OrLl.1ddlt.elll D.ee.1. Recorclset.! [VOCI]Kl • nae..l. Recorclset.! [Cl]K2 • Dat.al.R.e:cord:!le:t.! (C2]K3 • Daeal. Re:cord-set.! [VOCE]I:t: Kl • ..xx .. Then

Set •.• TV.Node8.J.dd(, I Xl, 10)

le•••. u...

EJ EJ•••••._. _1M

Sincroriafie

Figura 8 - MS VisualBasic 4.0 - Vista di unaLista in modo Tree-View - Listato.Questo è il programmache alimenta la listaTreeView, che si chia-ma TV. I dati sono for-niti dal Data ContraIData 7 e in particolaredai tre campi che, co-me detto e come vistonella figura preceden-te, si chiamano C7, C2e VOCE. C'è da direche si tratta di un og-getto complesso percui le istruzioni chepermettono di gestirlo(nel nostro caso lo ab-biamo semplicementecaricato di dati) non so-no semplicissime.

Figura 70 - MS VisualBasic 4. O - Costruzionedi una Lista di Immagini.In Visual Basic 4.0 esi-ste un nuovo Controllo,di tipo invisibile (chescompare durantel'esecuzione del pro-gramma), che serveper fornire serie di figu-re BitMap a chi ne fa ri-chiesta. Nella figura nevediamo la definizioneiniziale, attraverso laspecifica Finestra diDialogo, cui segue unafase di inizializzazioneper il collegamento trala lista e l'oggetto chela richiede. Ad esem-pio controlli serviti dallaLista di Icone possonoessere il Tabbed, il Li-stTree, il ListView.

pica tra i due sta nel fatto che un ogget-to semplice, ad esempio una TextBox,nel controllo che si chiama SSTab vivesolo in una delle sue pagine, nell'altro,che si chiama TabStrip, vive in tutte lesue pagine.

L'altra considerazione è di tipo filoso-fico. L'organizzazione di un'applicazionecambia radicalmente a seconda che sidecida di utilizzare il controllo Tabbed omeno. Si pensi ad un'applicazione in cuici sia una Maschera che debba mostra-re parecchi dati. La soluzione può esse-re quella di realizzare più Form specializ-zate (soluzione alla Windows 3x) oppu-re un'unica Form a pagine linguettate(soluzione alla Windows 95). E questa èuna decisione che deve essere presapraticamente all'inizio del lavoro di svi-luppo.

In figura 5 mostriamo come le fine-stre Tabbed in realtà fossero già state«inventate» prima che Windows 95 lepromuovesse ad oggetti di sistema.

In figura 6 un microprogramma Vi-sua I Basic 4.0 che mostra come alimen-tare «runtime» una serie di Pagine di unControl Tabbed.

Liste ... di tutti i tipiCome detto numerosi oggetti di Win-

dows 95 e conseguentemente numero-si nuovi controlli di Visual Basic 4.0 so-no destinati a mostrare, nelle più svaria-te forme, insiemi di dati. Nella prece-dente versione di Visual Basic c'eranole classiche List Box, Combo Box e laclassica Griglia, che occorreva in un cer-to senso caricare da programma con idati desiderati scrivendo apposite routi-ne. In VB4 troviamo, oltre ai precedenticontrolli, le nuove versioni «sensibili aidati» (DBList, DBCombo e DBGrid). Ilche significa che il collegamento con idati, ad esempio alla Tabella di un Data-base, va più semplicemente definito co-me caratteristica dell'oggetto e non daprogramma.

Una lista più particolare è quella chesi chiama Outline, che serve per mo-strare liste di dati organizzati gerarchica-mente. Il controllo, presente sotto for-ma di VBX aggiuntiva nella versioneprecedente di Visual Basic, è rimastoma è stato affiancato da un altro piùadatto per applicazioni Database (sichiama TreeView) in quanto il livello ge-rarchico di ciascun ltem può essere let-to direttamente in un campo dalla Ta-bella di origine (predisposto per talescopo). A questa facilità di caricamentosi affianca la possibilità, che in questasede non esploriamo, di modificarel'aspetto della lista in modo che appaia-no simboli grafici che indichino il livello

MCmicrocomputer n. 156 - novembre 1995 309

WINDOWS

dificatiControls preesistenti modifica-

ti per Windows 95Controls del tutto nuovi

con lo stesso insieme di dati, più liste ditipo differenti.

lltIloctJT""lPr1vat.e SUb TimeU TiMt o

T-T.l -l.tI.b.u .Caption • T1f T >- 100 Then T • oProor ••• earl.VALUE • TIUdet'1.V.U"UE • T

End Sub

Scopriamo i nuovi oggettiin Windows 95 e i nuovi Controlsin VB4

Ricapitolando: in Windows 95 ci so-no una serie di nuovi oggetti di sistema,alcuni già presenti nelle precedenti ver-sioni ed opportunamente aggiornati, al-tri del tutto nuovi. Visual Basic 4.0, inquanto linguaggio di programmazioneper l'ambiente Windows, tiene conto ditutti questi oggetti e li mette a disposi-zione del programmatore sotto forma diControls. Vediamo in figura 11 una vistaingrandita del ricchissimo Toolbox in cuipossiamo notare:

Controls preesistenti non mo-

Icone piccole, Lista o Tabella (figura 9).La ListView si può caricare, al pari dellealtre, con dati provenienti da un Databa-se. Il problema più complesso è quellodi associare ad ogni ltem una Icona. Vi-sual Basic 4.0 lo risolve utilizzando unaltro Controllo, di tipo invisibile (chescompare durante l'esecuzione del pro-gramma) e che serve per fornire seriedi figure BitMap a chi ne fa richiesta (infigura 10 ne vediamo la definizione at-traverso la specifica Finestra di Dialo-go).

In definitiva quello che ci interessa èsottolineare che il concetto di Lista è unconcetto generico, e che, indipendente-mente dal tipo di lista (Lista semplice,Combo, Lista DB, Griglia, Lista ad Ico-ne, Lista ad Albero), esistono una seriedi caratteristiche generali valide per tuttii tipi ed altre variabili a seconda del tipospecifico di oggetto.

Un buon esercizio, parliamo dal pun-to di vista didattico, è quello di caricare,

Figura 12 - MS VisualBasic 4. O - Slider e Pro-gress Bar.Ecco due controllini dipiccolo cabotaggio, loSlider, che è una spe-cie di ScrollBar più ele-gante, e la ProgressBar che serve per dareinformazioni sulla dura-ta di un certo processoin corso. Il nostro pro-grammino lega l'avan-zamento dello Slider edella Progress Bar adun timer. Abbiamo le-gato la Progress Baranche all'evento Chan-ge dello Slider.

Figura Il -MS Visual Basic 4.0 - Zoom sul Toolbox.In Visual Basic 4.0 è stato, come noto, abbandona-to il concetto di VBX (file corrispondenti a libreriecon Controls aggiuntivi specificamente realizzatiper VB), ed è stato sostituito da quello, più genera-lizzato, di OCx. Il componente aggiuntivo è utilizza-bile da qualsiasi linguaggio compatibile VBA e sicomporta come piccola applicazione OLE (i compo-nenti OCX si chiamano anche MiniOleServer) Quivediamo uno zoom 2 per della ToolBox di VisualBasic 4.0 caricata con una serie di OCX in più ri-spetto a quelli standard. O perché non caricati dallaprocedura standard di installazione o perché ag-giunti da altri applicativi installati sul sistema.

dell'ltem e il fatto che abbia o non abbiadegli Item sottostanti.

Del nuovo Contro I TreeView vediamoun'applicazione significativa nelle due fi-gure 7 e 8.

Mi sembra il caso di sottolineare an-cora una volta la potenza dello strumen-to Outline (che corrisponde alla parte si-nistra dell'applicazione Gestione delleRisorse di figura 1) che può essere uti-lizzato come strumento per la navigazio-ne, potente ed intuitiva, alla ricerca deidati desiderati.

Altro tipo di Lista è la ListView chepuò mostrare il proprio contenuto inuna delle quattro forme previste nelleCartelle di Windows 95: Icone grandi,

Figura 13 - MS VisualBasic 4.0 - ToolBar eStatusBar.Ecco altri due Controlsindispensabili in un 'appli-cazione per Windows 95che voglia essere degnadi questo nome. Si trattadi Controls complessi inquanto hanno ambeduedei figli (una Toolbar di-spone in genere di nu-merosi bottoni che pos-sono assumere differen-ti stati e una StatusBarpuò contenere più indi-cazioni, che variano du-rante l'esecuzione delprogramma a secondadella situazione). Conse-guentemente sia le pro-prietà che le istruzioniper gestire gli oggetti inquestione sono moltissi-me.

310 MCmicrocomputer n. 156 - novembre 1995

WINDOWS

"

"

Figura 14 - MS VisualBasic 4. O - Casella conun testo in formatoRTF.In Visual Basic 4.0 c'èil nuovo controllo Ca-sella di Testo Format-tato, in cui può entrareun testo formattato se-condo le specifiche delformato Rich Text For-mat (RTF). Questo puòessere prodotto anchedal Word Pad di Win-dows 95 che, come sivede in secondo piano,e in grado di salvare intale formato. Questocontrollo permette direalizzare applicazioni,anche di tipo Databa-se, in cui vengono vi-sualizzati dei documen-ti esteticamente orga-nizzati.

"

stificati e con vari tipi di rientri, elenchipuntati, ecc.

Si può ipotizzare, con un po' di pro-grammazione in più, di usare una Rich-Text Box per realizzare un mini WordProcessor. In pratica in tale box si puòscrivere normalmente un testo, si puòselezionare parte del testo, e, ad esem-pio, usando una serie di pulsanti esterni(organizzabili in una ToolBarl, assegnareun opportuno codice di formattazione atale parte.

La conoscenza dei codici propri delformato RTF è facilitata dall'Help che limostra tutti. Sono tantissimi, molto piùdi quanto ci si aspetti, ma non è neces-sario utilizzarli contemporaneamentetutti.

• Al

-'j!§'.W'iwmi;"H, .Iq'xl

~ 'fio 11- ~.......1- F_ 1

Elenco deglllnvltaU• Gi.nni• Marco• Luigi• Pìer1uigì

Costoro sono invitati a presentarsi gi0'i9dlprossimo venturo presso la nostra sede di vi.

del Semln.rlo, 12

E •••• pio di Ridi TlIllt SOl<

IPl10VARTF

Elenco delle Persone• Gianni• Marco• Luigil.. Pierluigi

~ Proc: re Costoro sono invitati a presentarsi giovedì prou l''' 'tInturo prnso la nostra sede di via del Semini'

"

Elenco delle Persone• Gì.nni• Mlrco• Luigi• Piertuigi

Costoro sono invitati a presentarsI QiOVldlprossimo venturo presso la nostri sedi di via

d.1 Seminario, 12

Pr1vatl! Sub COl'l"lMndl CHekORTB.t:llename • "C:' •• + T.TEXT

[nd Sub

più righe magari aiutando lo scorrimen-to nelle due direzioni con le due Scroll-Bar.

Il nuovo controllo RichTextBox per-mette di visualizzare un testo «arricchi-to» che include internamente quindi an-che le più svariate formattazioni valideanche su porzioni di testo e non solo sututta la casella che lo contiene (figure14 e 15)

Un testo in formato RTF è facilmenteproducibile con qualsiasi Word Proces-sor e addirittura con il WordPad di Win-dows 95.

Gli utilizzi di un controllo di questogenerèsono facilmente immaginabili. Inuna Form possono essere inserite Rich-TextBox, che mostrano testi lunghi edesteticamente organizzati, ovvero contitoli centrati, paragrafi variamente giu-

Figura 15 -MS VisualBasic 4.0 - Specifichedel formato RTF.In questa finestra ve-diamo come appare untesto salvato in forma-to RTF letto ... da DOS(scusate ... e l'abitudi-ne) ovvero letto comesequenza di caratteri. IlContrai RichtTextBoxdispone di funzioni in-terne che permettono,ad esempio, di selezio-nare parti di testo, poida programma si puòinserire qualche codi-ce, proprio delle speci-fiche RTF, nel testo. Inaltre parole una Box diRich Text può servirenon solo per visualizza-re un testo formattatopreesistente ma ancheper realizzarlo, scriven-do il testo e inserendoin qualche maniera, ad esempio costruendo una Toolbar per tale scopo, i codici RTF (citati nell'Help diVB4).

Ecco la Casella di Testocon il testo Formattato

Il controllo standard per visualizzareun singolo dato è la TextBox che puòcontenere una stringa lunga 255 carat-teri, oppure un testo lungo fino a65.535 caratteri, caricabile ad esempioda un file di tipo testuale.

Il controllo TextBox dispone di unaserie di proprietà di tipo estetico, cheservono per definire l'allineamento, il ti-po carattere e le sue caratteristiche, ditutta la casella e quindi di tutto il testo.Inoltre può visualizzare il suo testo su

In questo articolo stiamo approfon-dendo principalmente questi ultimi.

Visto che ci siamo vediamone alcunialtri che non hanno nulla a che fare conle Liste e con i Database.

Cominciamo con due Controls di pic-colo cabotaggio, lo Slider e la ProgressBar (in figura 12). Il primo è una versio-ne più aggiornata della classica Scroll-Bar. Vanno indicate le due proprietà Va-lore Minimo e Valore Massimo e va in-dicato cosa succede al variare della po-sizione del suo cursorino, che si può«agganciare» con il mouse e trascinareavanti ed indietro. Il secondo serve perindicare la percentuale di avanzamentodi un processo in corso.

Quest'ultimo controllo dispone diuna proprietà che rappresenta il valorenumerico di tale percentuale. Per speri-mentarlo abbiamo fatto due cose. Ab-biamo definito un Timer e un Evento Ti-mer, che ogni x secondi fa avanzare l'in-dicatore. Poi abbiamo legato la Pro-gress Bar allo Slider in modo da poterlariportare indietro. Insomma con due otre semplici istruzioni si gestiscono idue oggetti.

Altri due controlli, fondamentali inqualsiasi applicazione, sono la Toolbar elo StatusBar. Si tratta di oggetti con «fi-gli», per usare un'espressione citata pri-ma.

Per la Toolbar (figura 13) vanno indi-cati i vari pulsanti, il cui aspetto può es-sere prelevato da una Lista di Immagini,analoga a quella vista in precedenza infigura 10, e gli eventi conseguenti aic1ick sui vari pulsanti. Ciascun pulsantepuò avere più aspetti a seconda della si-tuazione, ad esempio Acceso, Spento oDisattivo.

Per il controllo Barra di Stato vannoindicate inizialmente le varie sezioni e leloro caratteristiche. Poi, in fase di ese-cuzione del programma, ci sarannoistruzioni che serviranno ad attivare,nelle varie sezioni, Scritte o Icone cheindicano lo stato dell'applicazione. È tut-to quello che ci si aspetta che ci sia.

MCmicrocomputer n. 156 - novembre 1995 311