Visualizza il feed RSS

TheTruster's Box

Form con ScrollBar automatiche.

Valutazione: 2 voti, con una media del 4.00.
di pubblicato il 01-02-2009 alle 17:33 (5903 Visite)
Durante la realizzazione di un'interfaccia grafica, spesso si devono fare i conti con lo spazio che si ha a disposizione.
Pulsanti, TextBox, ListBox e quant'altro cercano affannosamente di ricavarsi un piccolo spazio all'interno del nostro Form.

Una possibile soluzione è quella di adoperare delle ScrollBar, che ci consentano di spostare materialmente la visuale, nel caso in cui il Form debba mantenere delle dimensioni minori dell'area occupata dai controlli.

Apporre le ScrollBar sul Form, purtroppo non basta a che esse svolgano materialmente la loro funzione, per cui è necessario scrivere del codice apposito che le gestisca, facendole apparire qualora la dimensione del form non sia sufficiente alla visualizzazione di tutti i controlli.

Scrivere questo codice può essere lungo e tedioso, motivo per il quale, ho preparato una piccola Classe che permette di svolgere il lavoro di aggiunta delle barre di scorrimento in maniera del tutto automatica e sulla base dell'effettivo spazio occupato dai controlli presenti sul Form.

Il principio che sta alla base è semplice: si usano 2 contenitori nidificati (uno dentro l'altro). Quello più esterno acquisisce le dimensioni del form, e quello più interno viene utilizzato per far scorrere i controlli.

In pratica una cosa del genere:



Per usare la classe, l'unica accortezza che bisogna adottare è quella di inserire i controlli in una PictureBox la quale, a Run-time verrà automaticamente trasferita nella PictureBox contenitore corredata di barre di scorrimento.
E' anche possibile inserire un'immagine nella propria PictureBox per ottenere una sorta di effetto Texture, come questo:



In allegato al post troverete il progetto di esempio comprensivo della Classe cScrollPicBox che potrete facilmente trasportare nel vostro progetto.

L'utilizzo della classe è semplice ed immediato e consente di applicare le ScrollBar ad un Form con appena 2 righe di codice:

codice:
Dim ScrollPic As New cScrollPicBox

Private Sub Form_Load()
Set ScrollPic.PicBox = Picture1
End Sub
Non esitate a contattarmi per eventuali delucidazioni o per segnalarmi malfunzionamenti o imprecisioni

TheTruster
Anteprime allegati File allegati

Commenti

  1. L'avatar di cyberlaundry
    Che bello che bello... Con Delphi è automatico!!!
  2. L'avatar di TheTruster
    In VB6, invece, si deve fare di necessità virtù
    Non ti nascondo, però, che a volte può dare anche una certa soddisfazione