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 :

Déterminer la position d'un UserControl dans une Form


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut Déterminer la position d'un UserControl dans une Form
    Je voudrais savoir comment, à l'intérieur du code d'un UserControl, on peut connaître sa position dans la form qui le contient.
    j'ai essayé avec la propriété Ambiant à partir d'un sujet que j'avais retrouvé sur ce forum mais il ne donne pas les propriétés Top et Left

  2. #2
    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
    Si tu as inclus les propriétés Top et Left à ton UserControl, ça ne devrait pas être un problème.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Concrêtement je rajoute 2 propriétés : UC_top et UC_left
    Dans le code appelant je fais UserControl1.UC_top = UserControl1.top et idem pour left?
    Ca ma semble un peu redondant ou j'ai mal compris ?

  4. #4
    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
    Je viens de relire la question et tu dis bien
    à l'intérieur du code d'un UserControl
    Je ne vois pas comment tu peux connaître d'avance la position qu'occupera ton UserControl dans une éventuelle form...

  5. #5
    Membre émérite
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Par défaut
    zazaraignée a raison, imagine que tu veuilles ajouté deux contrôles identique?
    Ils seront superposés. Galère...

    La seul chose que tu peux faire c'est organiser les contrôles interne à ton Usercontrol.

    Vous avez vu pour une fois j'ai répondu a un post sans l'avoir créer.. lol

    Comme on dit en normandie, c'est ty qui d'viendrait a mitemp bon...
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  6. #6
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Je pense qu'il y a un flou sur le but recherché. Pourrais tu expliquer ce que tu veux exactement faire de ces propriétés stp ?

  7. #7
    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
    Citation Envoyé par Delphi-ne
    Concrêtement je rajoute 2 propriétés : UC_top et UC_left
    Dans le code appelant je fais UserControl1.UC_top = UserControl1.top et idem pour left?
    Ca ma semble un peu redondant ou j'ai mal compris ?
    L'ajout d'une propriété et de ses méthodes Let et Get, tu dois connaître, vu que tu as créé ton contrôle. Mais les propriétés de ce que tu mets dedans ne sont pas forcément automatiquement passées à ton contrôle. Tu dois les reprogrammer. Quoique, Top et Left... plus j'y penses, devraient s'ajouter automatiquement...

    Tu peux nous lister les propirétés de ton UC qui sont visible dans l'éditeur VB quand tu en place un sur un Form?

  8. #8
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Coucou.
    Je ressort ce sujet non répondu car j'ai le même besoin :
    Je souhaite connaitre la position du usercontrol (ou plutôt de son instance) sur la form. En effet Usercontrol.Left et Usercontrol.Top n'existent pas
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  9. #9
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    J'avais pas vu qu'il y avait un autre post qui était presque similaire et dans lequel se trouvait ceci :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Private Type POINTAPI
            X As Long
            y As Long
    End Type
    Private Type RECT
            Bottom As Long
            Left As Long
            Right As Long
            Top As Long
    End Type
    Private Type WINDOWPLACEMENT
            flags As Long
            Length As Long
            ptMaxPosition As POINTAPI
            ptMinPosition As POINTAPI
            rcNormalPosition As RECT
            showCmd As Long
    End Type
    Private Declare Function GetWindowPlacement Lib "user32" ( _
        ByVal Hwnd As Long, _
        lpwndpl As WINDOWPLACEMENT) As Long
     
    Private Declare Function MoveWindow Lib "user32" ( _
        ByVal Hwnd As Long, _
        ByVal X As Long, _
        ByVal y As Long, _
        ByVal nWidth As Long, _
        ByVal nHeight As Long, _
        ByVal bRepaint As Long) As Long
    Public FMeCoord As WINDOWPLACEMENT
     
    Private Type LesCoord
            Height As Long
            Left As Long
            Top As Long
            Width As Long
    End Type
     
    Public MeCoord As LesCoord
     
    '******************************************************************
    '** la propriété ScaleMode de UserControl doit être mis à Pixels **
    '** la propriété KeyPreview de UserControl doit être mis à True  **
    '******************************************************************
     
    Public Sub GetPlace(Hwnd As Long)
        'recuperation des coordonnées de l'UserControl posé sur le conteneur
        GetWindowPlacement Hwnd, FMeCoord
     
    MeCoord.Height = FMeCoord.showCmd - FMeCoord.rcNormalPosition.Right
    MeCoord.Left = FMeCoord.rcNormalPosition.Left
    MeCoord.Top = FMeCoord.rcNormalPosition.Right
    MeCoord.Width = FMeCoord.rcNormalPosition.Top - FMeCoord.rcNormalPosition.Left
    End Sub
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

Discussions similaires

  1. Déterminer la Valeur la plus grande dans une table
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/08/2014, 00h35
  2. [Débutant]Appeler un UserControl dans une Form
    Par Shr3ck dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/03/2009, 15h14
  3. Position de la souris dans une form
    Par planetevoyage dans le forum Delphi
    Réponses: 3
    Dernier message: 12/10/2006, 11h39
  4. Position d'un enregistrement dans une table ou requête Query
    Par polinevol dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/01/2006, 04h53
  5. Position d'un enregistrement dans une table
    Par polinevol dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/01/2006, 10h10

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