Newsgroup: it.comp.lang.visual-basic
Titolo: Forms di grandi dimensioni

Chiedo un aiuto: ho bisogno di progettare ed eseguire un form,
contenente oggetti(pulsanti ecc), di dimensioni eccedenti l'area
visualizzata dal monitor, gestibile per esempio con le barre di
scorrimento (ad esempio il monitor e' 1024x768 ma il form che mi serve
e' 2000x1500 px); pensavo fosse banale invece non mi riesce nemmeno di
costruirlo perche' mi e' impedito di forzare le dimensioni di un form
oltre l'area di lavoro del visual basic.
Non e' proprio possibile farlo o sono incapace io?
Qualcuno mi puo' aiutare?
Grazie in anticipo.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 oltre l'area di lavoro del visual basic.
Eccoti un esempio di Form con barre di scorrimento trovato sul manuale
'Programmare Visual Basic 6.0' di Francesco Balena:
I controlli li inserisci in una PictureBox (picCanvas) con dimensioni 2000x1500
(come da tuo esempio) e la inserisci nel Form. Nel Form inserisci anche due
barre di scorrimento (HScroll1 e VScroll1) e un Command (cmdFiller).
Poi ti fai una procedura per gestire lo scorrimento della PictureBox nel Form:
Option Explicit
' size of scrollbars in twips
Const SB_WIDTH = 300    ' width of vertical scrollbars
Const SB_HEIGHT = 300   ' height of horizontal scrollbars
'--------------------------------------------
' code for handling form resizing and scrolling
'--------------------------------------------
Private Sub Form_Resize()
    ' resize the scrollbars along the 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
    ' put these controls on top
    HScroll1.ZOrder
    VScroll1.ZOrder
    cmdFiller.ZOrder
    picCanvas.BorderStyle = 0
    ' a click on the arrow moves one pixel
    HScroll1.SmallChange = ScaleX(1, vbPixels, vbTwips)
    VScroll1.SmallChange = ScaleY(1, vbPixels, vbTwips)
    'a click on the scrollbar move 16 pixels
    HScroll1.LargeChange = HScroll1.SmallChange * 16
    VScroll1.LargeChange = VScroll1.SmallChange * 16
    ' if the form is larger than the picCanvas picture box
    ' we don't need to show the scrollbar
    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
    cmdFiller.Visible = (HScroll1.Visible Or VScroll1.Visible)
    MoveCanvas
End Sub
Private Sub cmdFiller_Click()
    ' resize the form so that scrollbars aren't visible
    Move Left, Top, picCanvas.Width + SB_WIDTH + 500, picCanvas.Height +
SB_HEIGHT + 500
End Sub
Private Sub HScroll1_Change()
    MoveCanvas
End Sub
Private Sub HScroll1_Scroll()
    MoveCanvas
End Sub
Private Sub VScroll1_Change()
    MoveCanvas
End Sub
Private Sub VScroll1_Scroll()
    MoveCanvas
End Sub
Sub MoveCanvas()
    picCanvas.Move -HScroll1.Value, -VScroll1.Value
End Sub
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

...
Per il momento ti ringrazio - appena ho un attimo ci provo.
Saluti e grazie
