Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Vb 6.0 +sp5 percentuale grandezza invariata

    Salve mi occorre sapere in che modo posso mettere all'interno di un form in metà pagina una text box e nell'altra metà un'altra text box in modo che ogni volta che l'utende modifica le dimensioni della pagina queste restino in percentuale invariata.
    Grazie!!!

  2. #2
    se non sono chiaro ditemelo grazie....

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Sei stato chiaro.
    E' un'esigenza molto sentita, quella di avere un form elastico.
    Tempo fa c'erano anche degli OCX che facevano quanto richiesto.
    Il principio è quello di un pannello che posizioni come primo
    controllo sul Form.
    Dentro il pannello posizioni tutti gli altri controlli, nel tuo caso
    le due textbox.
    Nell'evento Form_Load ti preoccupi di salvarti le proporzioni
    verticale ed orizzontale rispetto al pannello di un controllo.
    Nell'evento Resize del Form appliche le proporzioni salvate in
    precedenza.
    Ti posto un semplice esempio fatto al volo, che ha bisogno,
    ovviamente, di qualche limatura, ma che ti da' l'idea del
    meccanisnmo.

    Apri un Form, ci metti un Frame senza bordo che lo riempie tutto.
    Nel Frame ci metti le TextBox.
    Nell'esempio di codice ho lasciato i nomi di default dei controlli :

    codice:
    Option Explicit
    Dim xp As Double
    Dim yp As Double
    Dim xg1 As Double
    Dim xg2 As Double
    
    Private Sub Form_Load()
        xp = Frame1.Width / Text1.Width
        yp = Frame1.Height / Text1.Height
        xg1 = Text1.Top
        xg2 = Text1.Top + Text1.Height - Text2.Top
        
    End Sub
    
    Private Sub Form_Resize()
    
        Frame1.Width = Me.Width - 30
        Frame1.Height = Me.Height - 30
        
        Frame1.Move 15, 15
        
        Text1.Width = Frame1.Width / xp
        Text1.Height = Frame1.Height / yp
        
        Text2.Top = Text1.Top + Text1.Height + (xg1 * xp) + (xg2 * xp)
        Text2.Width = Frame1.Width / xp
        Text2.Height = Frame1.Height / yp - (xg2 * xp)
    End Sub
    Copia ed incolla, prova e modifica.

    Ciao,
    Ciao, Brainjar

  4. #4
    Ti ringrazio tantissimo anticipatamente, ora lo provo e ti faccio sapere...........

  5. #5
    UTILISSIMO CODICE
    Lo metto subito nella mia roba, sei un grande

  6. #6
    l'ho provato e funziona benissimo ti ringrazio ancora tanto...

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Grazie,
    sono contento di esserti stato d'aiuto.

    Ciao,
    Ciao, Brainjar

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.