Oppure

Loading
13/07/09 9:28
manuela81
Ciao a tutti, sono nuova di questo forum e sto anche affrontando per la prima volta la programmazione con VB2008.

Il mio problema è il seguente: vorrei disegnare in fase di esecuzione delle forme (rettangoli rette ellissi) e successivamente, se necessario, spostarli (come se fosse una specie di CAD).

Vorrei sapere se è possibile ottenere questo e una piccola indicazione su come procedere per ottenerlo.

Grazie a tutti, ciao
aaa
13/07/09 9:51
Il Totem
Per disegnare serve la classe Graphics. Non è possibile creare un oggetto Graphics mediante un costruttore, ma solo ottenerlo indirettamente. Ammettiamo che in questo caso tu crei un'immagine temporanea dove disegnare tutte le forme: puoi usare il metodo Graphics.FromImage per ottenere l'oggetto Graphics associato a quell'immagine:
Dim B As New Bitamp(400, 400)
Dim G As Graphics = Graphics.FromImage(B)

Ora ogni operazione eseguita da G disegnerà effettivamente qualcosa sull'immagine B. I metodi che puoi usare sono DrawRectangle, DrawEllipse, DrawLine, FillRectangle e FillEllipse. Dopo aver disegnato tutto, basta assegnare B alla proprietà BackgroundImage di qualche controllo o del form stesso.

Per poter manipolare e spostare ogni singola forma, devi creare un oggetto per ogni forma, contenente almeno i dati riguardanti la sua posizione e la sua estensione. Nell'evento MouseDown, esegui un ciclo che controlla ogni oggetto e rileva se il mouse è posizionato al suo interno.
aaa