Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323

    [VB] proprietà dei form

    Ciao,
    avrei da porvi una domanda.
    Sto realizzando un'applicazione in Vb6 e vorrei usare una struttura MDI.
    Ma ci sono alcune cose che nn riesco a fare.
    Ho un form principale (form padre) e ho creato altri piccoli form (assegnando loro la proprietà MDIChild a true).

    Vorrei che questi form figli abbiano sempre il loro angolo superiore sinistro attaccato all'angolo superiore sinistro del form padre (ho impostato la proprietà top e left a 0).
    Però succede che se apro un form figlio e poi ne apro un altro quest'ultimo non si trova più attaccato all'angolo in alto a sinistra (pur avendo le proprietà top e left a 0).
    Inoltre vorrei che le dimensioni del form figlio siano sempre tali da ricoprire l'intera superficie del form padre.

    Come faccio tutto ciò ?

    Spero di essermi spiegato...
    Ciao
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  2. #2

    Re: [VB] proprietà dei form

    Originariamente inviato da evil80
    Ciao,
    avrei da porvi una domanda.
    Sto realizzando un'applicazione in Vb6 e vorrei usare una struttura MDI.
    Ma ci sono alcune cose che nn riesco a fare.
    Ho un form principale (form padre) e ho creato altri piccoli form (assegnando loro la proprietà MDIChild a true).

    Vorrei che questi form figli abbiano sempre il loro angolo superiore sinistro attaccato all'angolo superiore sinistro del form padre (ho impostato la proprietà top e left a 0).
    Però succede che se apro un form figlio e poi ne apro un altro quest'ultimo non si trova più attaccato all'angolo in alto a sinistra (pur avendo le proprietà top e left a 0).
    Inoltre vorrei che le dimensioni del form figlio siano sempre tali da ricoprire l'intera superficie del form padre.

    Come faccio tutto ciò ?

    Spero di essermi spiegato...
    Ciao
    io di solito poichè con gli MDI non sono facili da settare queste cose uso questa routine

    codice:
    Option Explicit
    Public Sub FormWinRegPos(MyForm As Form, Optional pbSave As Boolean)
    
        On Error Goto EH
        With MyForm
            SaveSetting App.EXEName, .Name, "WindowState", .WindowState
            If .WindowState = vbMinimized Or .WindowState = vbMaximized Then
                .WindowState = vbNormal
            End If
            SaveSetting App.EXEName, .Name, "Top", .Top
            SaveSetting App.EXEName, .Name, "Left", .Left
            SaveSetting App.EXEName, .Name, "Height", .Height
            SaveSetting App.EXEName, .Name, "Width", .Width
        Else
            .Top = GetSetting(App.EXEName, .Name, "Top", .Top)
            .Left = GetSetting(App.EXEName, .Name, "Left", .Left)
            .Height = GetSetting(App.EXEName, Name, "Height", .Height)
            .Width = GetSetting(App.EXEName, .Name, "Width", .Width)
            .WindowState = GetSetting(App.EXEName, _
                .Name, "WindowState", .WindowState)
        End If
    End With
    Exit Sub
    EH:
    MsgBox "Error " & Err.Number & vbCrLf & vbCrLf & Err.Description
    End Sub
    per usarla

    codice:
    Private Sub Form_Load()
    FormWinRegPos Me
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
    FormWinRegPos Me, True
    End Sub
    così la prima volta esce nella posizione di default del mdichild
    le successiva dove l'hai spostata
    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
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    grazie 1000,dopo la provo... :metallica
    volevo chiederti un'altra cosa,come è possibile iniziare un progetto MDI "vuoto" ?
    Io sono riuscito solo utilizzando la wizard e poi eliminando tutte le form e il codice che non mi serviva...non esiste un modo per crearlo ex novo ?

    Insommma qualcosa tipo lo standard exe...

    Grazie e ciao!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  4. #4
    allora schiacci standard exe rimuovi il form e fai progetto -> inserisci form Mdi
    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

  5. #5
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    non ho ben capito cosa faccia la tua funzione ma non funziona,ovvero se apro un form "figlio" poi lo chiudo e poi lo riapro ancora NON compare più nella posizione iniziale ma più in basso e ogni volta che riperto le stesse operazioni va sempre più in basso..

    Inoltre lanciando il programma ha individuato degli errori bella tua funzione...così ho dovuto modificarla in questo modo...per favore prova a controllarla e a dirmi se per caso queste anomalie sono dovute al codice sbagliato :


    codice:
    Public Sub FormWinRegPos(MyForm As Form, Optional pbSave As Boolean)
    
        On Error GoTo EH
        With MyForm
            SaveSetting App.EXEName, .Name, "WindowState", .WindowState
        If .WindowState = vbMinimized Or .WindowState = vbMaximized Then
            .WindowState = vbNormal
            
            SaveSetting App.EXEName, .Name, "Top", .Top
            SaveSetting App.EXEName, .Name, "Left", .Left
            SaveSetting App.EXEName, .Name, "Height", .Height
            SaveSetting App.EXEName, .Name, "Width", .Width
        Else
            .Top = GetSetting(App.EXEName, .Name, "Top", .Top)
            .Left = GetSetting(App.EXEName, .Name, "Left", .Left)
            .Height = GetSetting(App.EXEName, .Name, "Height", .Height)
            .Width = GetSetting(App.EXEName, .Name, "Width", .Width)
            .WindowState = GetSetting(App.EXEName, _
                .Name, "WindowState", .WindowState)
        End If
    End With
    Exit Sub
    EH:
    MsgBox "Error " & Err.Number & vbCrLf & vbCrLf & Err.Description
    End Sub
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

  6. #6
    questa funzione va salvare nel registro le posizioni x e y di un form e le sue dimensioni se la variabile boleana è vera
    altrimenti va a leggere i valori inseriti nel registro precedentemente e imposta la form su quei valori
    mi sembra stano che te la sposti perchè a me funziona perfettamente
    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

  7. #7
    Utente di HTML.it L'avatar di evil80
    Registrato dal
    May 2001
    Messaggi
    323
    guarda ho scritto questa e mi funziona perfettamente....

    codice:
    Public Sub SistemaForm(obj As Form)
        obj.Left = 0
        obj.Top = 0
        obj.Width = Principale.Width - 100
        obj.Height = Principale.Height
    End Sub
    Comunque grazie 1000 lo stesso!

    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare.
    Igor Sikorsky

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 © 2024 vBulletin Solutions, Inc. All rights reserved.