![]() |
![]() Sincronizza Indice |
![]() Scarica il progetto |
![]() Testo dell'articolo |
![]() Stampa l'articolo |
Attraverso la finestra di dialogo Proprietà dello schermo è possibile modificare lo sfondo del Desktop di Windows. Abbiamo visto in un altro HowTo come effettuare questa modifica tramite Visual Basic. Vedremo invece in questo articolo come simulare sulla superficie di un form l'effetto "Affianca" di quella finestra di dialogo, effetto che prende il nome di Tiling (dall'inglese Tile, pavimentare).
Il nostro progetto si comporrà di un solo form, un Frame
Il funzionamento del progetto è semplicissimo: l'utente dovrà
cliccare sopra una delle 4 immagini per vedere il motivo riprodotto su
tutta la superficie del form. Il codice si compone di una sola routine, posta ad intercettare il click sopra una delle quattro immagini:
Qualunque sia l'immagine cliccata, sarà comunque generato l'evento La routine utilizza due variabili di nome sngX e sngY per
calcolare la posizione di ogni tessera della superficie da ricoprrire
ed una costante La riga 8 cancella ogni modifica grafica apportata in precedenza alla superficie, lasciando qundi solo i controlli del form. La riga 9 rende le modifiche grafiche alla superficie del form persistenti perché altrimenti se una finestra venisse sovrapposta al nostro form, il motivo grafico sarebbe cancellato. L'istruzione alla riga 10 rende predefinito l'oggetto imgTitle con indice uguale ad Index ovvero l'immagine che è stata selezionata dall'utente. È stata utilizzata soltanto per abbreviare il codice e semplificarne la scrittura.
Seguono due cicli iterativi, uno per l'asse X e l'altro per l'asse Y. Essi si occuperanno di ricopiare l'immagine selezionata ad intervalli regolari su tutta la superficie del form. Entrambi i cicli iniziano da 0 e continuano fino al raggiungimento della dimensione (larghezza e altezza) del form, ad incrementi pari alla dimensione dell'immagine selezionata più la distanza tra un'immagine e l'altra. Questo assicura che un'immagine non venga sovrascritta da un'altra e distanza le immagini tra loro. Così il form viene scomposto in varie sezioni, ognuna delle quali
viene riempita con l'immagine selezionata. La copia grafica dell'immagine
è eseguita alla riga 13 tramite il metodo L'esecuzione del progetto dimostra subito la semplicità d'utilizzo. Ogni volta che l'utente clicca sopra una delle quattro immagini viene riprodotto il motivo affiancando tale immagine.
|
Lo sviluppo del progetto si rivela davvero molto semplice e senza rischi per l'integrità del progetto. È tuttavia presente una pesante limitazione: le immagini da riprodurre hanno sempre e comunque un colore di sfondo, nel nostro caso il fucsia. Non è possibile quindi ricopiare delle immagini trasparenti, senza sfondo. Quasi sempre il colore di sfondo della superficie del form è il
grigio di sistema, e quindi ci si potrebbe aspettare che riproducendo
un'immagine con lo sfondo grigio si ottenga un effetto di trasparenza,
ma non è sempre così! Fibia
FBI
|
![]() |