Guide e Tutorials:indexed | ||||||||||
Creare un Add-In (Settima parte) Abbiamo visto l'ultima volta quali caratteristiche deve avere la form che permette di operare sui controlli dell'applicazione in fase di progettazione. E' stato anche discusso il problema della posizione dalla quale richiamare Form1, ossia la nostra interfaccia grafica. Abbiamo scelto quindi di visualizzarla alla pressione dell'icona sulla toolbar di Visual Basic o sulla voce 'Ridimensiona' nel menu Strumenti. Adesso apriamo il modulo di codice relativo a Form1. Dobbiamo cominciare infatti a sviluppare il codice che ci permetterà di ridimensionare i controlli. Il primo passo da compiere in tal senso è gestire l'evento scaturito dalla pressione del pulsante Cancella (che se si ricorda è il pulsante Command2) da parte dell'utente. In questo caso non la form verrà scaricata e quindi resa non più visibile, ma questo non avverrà per l'aggiunta, che rimarrà in ogni caso disponibile all'interno del menu 'Gestione Aggiunte'. Aggiungiamo quindii il semplice codice per la chiusura della form:
Il passo successivo consiste nel progettare una sottoprocedura che risponda all'eventualità nella quale l'utente prema il pulsante Applica dopo aver inserito nelle apposite caselle di testo i dati relativi alle dimensioni (in percentuale) dei controlli e dopo aver scelto quali e quanti controlli ridimensionare. Sarà quindi necessario, all'interno di tale sottoprocedura, dichiarare due variabili che saranno utili successivamente nella determinazione della percentuale che indica di quanto ridurre od espandere le dimensioni dei controlli. Possiamo chiamare queste due variabili PercentualeX e PercentualeY dove la prima naturalmente si riferisce alla lunghezza del controllo (proprietà Width) mentre la seconda all'altezza (proprietà Height). Inseriamo quindi la sottoprocedura Command1_Click e la dichiarazione delle due variabili appena viste:
Adesso inseriamo una piccola gestione dell'errore, sintatticamente molto comune ma di grande importanza in questo caso. Basti immaginare il caso in cui l'utente scelga di ridimensionare alcuni controlli che non supportano le proprietà altezza (Height) e lunghezza (Width). L'applicazione subirebbe un'improvviso blocco soltanto perchè non abbiamo tenuto conto di questa possibilità (che per altro non è nemmeno tanto remota). Includiamo allora nella sottoprocedura che stiamo studiando:
Si potrebbe pensare di rimandare ad un blocco di codice che descriva in modo dettagliato l'errore, magari utilizzando l'oggetto Err. La cosa però va oltre il fine di questo articolo. Ognuno pensi a come può sviluppare questo codice in base alle proprie esigenze. Un piccolo appunto, che potrebbe essere anche banale: di solito l'istruzione On Error Resume Next viene posta come prima linea della sottoprocedura per istruire l'applicazione ad ignorare l'errore eventualmente causato nel corso di tutta la sottoprocedura. A noi però questo non interessa particolarmente poichè (a meno di un errore di sintassi che dovrebbe essere portata alla luce in fase di compilazione del DLL ActiveX) le dichiarazioni di due variabili non dovrebbero generare errori. Chiusa questa parentesi, il passo successivo è quello di dichiarare una variabile che contenga il riferimento alla Form. In seguito si vedrà come questo accorgimento può essere importante. Inseriamo quindi nella stessa sottoprocedura:
Altro passo importante è quello di dichiarare una variabile oggetto attraverso la quale poter far riferimento ad un determinato controllo che si vuole ridimensionare sulla form. Chiamiamo per esempio tale variabile VbC e dichiariamola in questo modo:
Ora ci servirà una variabile booleana (che assume i valori True oppure False) necessaria a istruire l'applicazione dell'eventualità in cui l'utente abbia scelto di ridimensionare tutti i controlli della form oppure qualcuno in particolare. Chiamiamo questa variabile bolRidimensionaTutto:
Per ultimo, come già abbiamo fatto nel modulo di classe, dobbiamo assegnare a VBI un puntatore all'oggetto VBA dell'IDE corrente di Visual Basic. Non ripetiamo quindi quanto già detto in precedenza. La dichiarazione è dunque la seguente:
Impostiamo l'istanza di Visual Basic sulla quale opererà la nostra aggiunta come riferimento alla nostra classe ossia a AddInClass:
Proviamo a compilare il DLL ActiveX e a caricare l'aggiunta. Visualizzando Form1 e premendo il pulsante Applica, nulla sembrerà cambiare. Ed infatti è proprio così. A livello di codice però sono state introdotte e definite le variabili fondamentali per poter ridimensionare i controlli. La prossima volta si creerà il codice specifico per raggiungere tale obiettivo. Prima di terminare però riassumiamo il codice completo relativo a Form1:
|
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |