Sauvegarde des propriétés d'une fenêtre

0/5 (1 avis)

Vue 4 692 fois - Téléchargée 398 fois

Description

Ce code permet de sauvegarder plusieurs propriétés de la form lors de son déchargement.

L'utilisateur effectuera certaines modifications de convivialité (largeur, hauteur, position en X, position en Y).

Toutes ces modifications seront ensuite sauvegardée dans la base de registre...

Source / Exemple :


------------------------------------------------------------------------------

' Procédure permettant de sauvegarder les propriétés des forms une fois déchargées
Public Sub SettingWindows(action As String, frmForm As Form)
    ' Variables de travail
    Dim tabSetting
    Dim Setting As String       ' chaine de proriétés de la form
    
    Select Case action
        Case "load"
            ' On récupère les propriétés de la form
            Setting = GetSetting(App.EXEName, "SettingWindows", frmForm.Name, "0")
            
            If Setting <> "0" Then
                ' On split la chaîne setting
                tabSetting = Split(Setting, ",")
                
                ' Affectation des données aux propriétés de la page
                frmForm.Left = Val(tabSetting(0))
                frmForm.Top = Val(tabSetting(1))
                frmForm.Width = Val(tabSetting(2))
                frmForm.Height = Val(tabSetting(3))
            End If
                
        Case "unload"
            ' On sauvegarde les propriétés de la form : left, top, width, height
            
            ' setting aura le format suivant : left, top, width, height
            Setting = frmForm.Left & "," & frmForm.Top & "," & frmForm.Width & "," & frmForm.Height
            
            ' On sauvgarde les paramètres de la fenetre au déchargement de la form
            SaveSetting App.EXEName, "SettingWindows", frmForm.Name, Setting
    End Select
End Sub

------------------------------------------------------------------------------
Et l'appel s'effectue de cette manière :

Private Sub Form_Load()
    Call SettingWindows("load", Me)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Call SettingWindows("unload", Me)
End Sub

Conclusion :


Si vous avez des améliorations, commentaires, etc...n'hésitez pas ;o)

Bonne programmation

A++

Codes Sources

A voir également

Ajouter un commentaire Commentaire
mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
10 juil. 2005 à 18:12
Une suggestion sur la variable "action" : vu qu'il n' y a que deux actions possibles, il faudrait passer cette variable en boolean plutôt qu'en string, question de mémoire d'application. Quand bien même il y eut plus de 2 options un integer aurait fait l' affaire à l'instar des constantes VB par exemple:
0 = vbNormal
1 = vbMaximized
2 = vbMinimized
Bon exemple de lecture/écriture dans le registre quand même.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.