IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Bouger une frame


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [VB6] Bouger une frame
    Bonjour à tous,

    Je n'arrive pas à bouger une frame en passant par une fonction, et j'ai donc besoin de votre aide.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub PlaceFrame(PositionDuFrame As Integer, NomDeLaFrame As Frame)
     
    Select Case PositionDuFrame
     
    Case 1:
    NomDeLaFrame.Move 120, 120
     
    Case 2:
    NomDeLaFrame.Move 120, 1200
     
    Case 3:
    NomDeLaFrame.Move 120, 2280
     
    End Select
    End Sub
    Et j'appel ma fonction comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PlaceFrame 1, Me.FramePathArchivage
    Seulement ca ne fonctionne pas, la frame ne bouge. Quand je regarde au débugger, lorsque j'arrive dans la fonction PlaceFrame, NomDeLaFrame est égal à ce qui se trouve dans le caption (par exemple, "Remplir votre nom ici").

    Si j'appel ma fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PlaceFrame 1, Me.FramePathArchivage.name
    J'obtiens une erreur également.

    Enfin, si je met le type variant et appel ma fonction comme si dessus, avec la propriété .name, ca ne fonctionne pas non plus.

    Avez-vous une idée ?

    Merci d'avance pour votre aide

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    1) ce que tu as écrit n'est pas une fonction (aucune valeur retournée) mais une procédure

    2) elle devrait fonctionner sans aucun problème, à moins que ....===>> question, donc : où (dans quoi) as-tu écrit de code de cette "fonction" (qui n'en est pas une) et d'où (depuis quoi) l'appelles-tu ?

  3. #3
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    As-tu essayé de placer ton Frame simplement avec ses propirétés Left et Top ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui effectivement ca s'appel une procédure, j'ai écrit le post un peu trop rapidement. L'important est qu'on se comprenne, n'est-ce pas ?

    J'ai écrit ce code dans la Form où se trouve mes frames.

    C'est un placement dynamique des frames, donc je ne peux pas les positionner dès le départ, elles doivent etre bougées dynamiquement, et cela dépend de leur position passée en argument dans la procédure.

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    J'insiste !
    Ton code marche sans problème !
    Essaye (une Form Form1 aevc un Franme Frame1 et un bouton de Command Command1 )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub PlaceFrame(PositionDuFrame As Integer, NomDeLaFrame As Frame)
      Select Case PositionDuFrame
         Case 1:
            NomDeLaFrame.Move 120, 120
          Case 2:
             NomDeLaFrame.Move 120, 1200
          Case 3:
             NomDeLaFrame.Move 120, 2280
       End Select
    End Sub
     
    Private Sub Command1_Click()
       PlaceFrame 1, Frame1
    End Sub
    Clique sur Command1 et constate ...

    Si tout ton code est vraiment celui de ta Form et qu'il ne "marche" pas chez toi, je ne vois qu'une explication possible : tu as mis sa procédure d'appel dans un événement inconnu ou d'un contrôle inexistant...

    Bonne continuation ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui tu as raison, mon code fonctionne correctement. Le problème était que j'initialisais mes variables avant de loader la form, et du coup cela ne fonctionnait pas.

    Maintenant j'ai modifié mon code et cela fonctionne correctement.

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Copier une frame de base
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/08/2007, 19h11
  2. [VB6] Problème de transparence d'une frame
    Par nigueb dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 15/06/2006, 22h46
  3. [VB6]Taille limite d'une frame en hauteur
    Par Sephy dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 07/06/2006, 20h04
  4. [VB6] Supression d'une Frame
    Par patoch76 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/05/2006, 18h28
  5. [VB6] Scrollbar dans une frame avec des textbox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 44
    Dernier message: 01/03/2006, 08h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo