Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514

    [vb6] posizionare i child in un form mdi

    Ciao a tutti.
    Ho un form mdi in cui aprendo i vari forn child si posizionano dove vogliono loro(si direbbe quasi a caso). Vorrei posizionarli in alto a sinistra.

    Potrei optare per posizionarli nel momento in cui vengono caricati ma prefrirei evitare visto che en sono parecchi

    è possibile impostare il form mdi principale in modo da ottenere quello che voglio
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  2. #2
    copia in un modulo

    codice:
    Public Enum enumFormPosition
        fpTopLeft = 1
        fpCenterLeft = 2
        fpBottomLeft = 3
        fpTopCenter = 4
        fpCenterCenter = 5
        fpBottomCenter = 6
        fpTopRight = 7
        fpCenterRight = 8
        fpBottomRight = 9
    End Enum
    
    Public Sub CenterForm(f As Form, Optional iType As enumFormPosition = fpCenterCenter)
    '
    ' Centra form nello schermo secondo lo schema seguente:
    '   ---------------------------
    '   ¦ 1          4          7 ¦
    '   ¦                         ¦
    '   ¦                         ¦
    '   ¦ 2          5          8 ¦
    '   ¦                         ¦
    '   ¦                         ¦
    '   ¦ 3          6          9 ¦
    '   ---------------------------
    '
    Dim iW As Single, iH As Single
    Dim bMdi As Boolean
    On Error Resume Next
        
        If Not f.MDIChild Then
            ' Se non è figlia o non vale la proprietà MDIChild (vedi Resume Next),
            ' prendo le coordinate dello schermo
            iW = Screen.Width
            iH = Screen.Height
            bMdi = False
        Else
            ' Se è figlia prendo le coordinate della madre
            iW = MDI_Form.ScaleWidth
            iH = MDI_Form.ScaleHeight
            bMdi = True
        End If
        
        Select Case iType
            Case 1:
                If bMdi Then
                    f.Move 0, 0
                Else
                    f.Move 0, 600
                End If
            Case 2: f.Move 0, (iH - f.Height) / 2
            Case 3: f.Move 0, (iH - f.Height)
            Case 4:
                If bMdi Then
                    f.Move (iW - f.Width) / 2, 0
                Else
                    f.Move (iW - f.Width) / 2, 600
                End If
            Case 5: f.Move (iW - f.Width) / 2, (iH - f.Height) / 2
            Case 6: f.Move (iW - f.Width) / 2, (iH - f.Height)
            Case 7:
                If bMdi Then
                    f.Move (iW - f.Width), 0
                Else
                    f.Move (iW - f.Width), 600
                End If
            Case 8: f.Move (iW - f.Width), (iH - f.Height) / 2
            Case 9: f.Move (iW - f.Width), (iH - f.Height)
            
            Case Else: f.Move (iW - f.Width) / 2, (iH - f.Height) / 2
        End Select
        
    End Sub
    poi al load dei form scrivi
    codice:
    Call CenterForm(Me, fpCenterCenter)
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    quindi devo cmq richiamare la procedura in ogni form child necessariamente?

    grazie dell'aiuto


    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.