Salve a tutti !!
ho un piccolo problema:
Devo fare un form scorrevole,cioè un form con le barre di scorrimento sia orizzontali che verticali.Ho trovato questo codice su un libro ma non va!
Dove'è il problema?piccanvas è un picturebox che contiene tutti i controlli del form.codice:Private Sub Form_Resize() 'Ridimensiona le scrollbar lungo il form HScroll1.Move 0, ScaleHeight - SB_HEIGHT, ScaleWidth - SB_WIDTH VScroll1.Move ScaleWidth - SB_WIDTH, 0, SB_WIDTH, ScaleHeight - SB_HEIGHT cmdfiller.Move ScaleWidth - SB_WIDTH, ScaleHeight - SB_HEIGHT, SB_WIDTH, SB_HEIGHT 'Mette questi controlli davanti agli altri HScroll1.ZOrder VScroll1.ZOrder cmdfiller.ZOrder piccanvas.BorderStyle = 0 'Un clic sulle frecce sposta di un pixel HScroll1.SmallChange = ScaleX(1, vbPixels, vbTwips) VScroll1.SmallChange = ScaleY(1, vbPixels, vbTwips) 'Un clic sulla barra sposta di 16 pixel HScroll1.LargeChange = HScroll1.SmallChange * 16 VScroll1.LargeChange = VScroll1.SmallChange * 16 'Se il form è più largo di piccanvas,non è necessario mostrare la scrollbar corrispondente If ScaleWidth < piccanvas.Width + SB_WIDTH Then HScroll1.Visible = True HScroll1.Max = piccanvas.Width + SB_WIDTH - ScaleWidth Else HScroll1.Value = 0 HScroll1.Visible = False End If If ScaleHeight < piccanvas.Height + SB_HEIGHT Then VScroll1.Visible = True VScroll1.Max = piccanvas.Height + SB_HEIGHT - ScaleHeight Else VScroll1.Value = 0 VScroll1.Visible = False End If 'Rendi visibile il controllo di riempimento solo se necessario cmdfiller.Visible = (HScroll1.Visible Or VScroll1.Visible) MoveCanvas End Sub Sub MoveCanvas() piccanvas.Move (-HScroll1.Value), (-VScroll1.Value) End Sub
Se ci sono altre soluzioni fatemi sapere!
ciao e grazie a tutti

Rispondi quotando
:gren: :gren:
