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] Affichage centré d'une image


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut [VB6] Affichage centré d'une image
    Bonjour à tous,

    j'ai réalisé dans une application VB6, une feuille MDI avec différents menus.

    et comme cette feuille MDI joue le rôle de "page d'accueil" de mon application, je voudrais afficher lors de l'affichage de celle-ci, une image.

    j'utilise le code suivant pr afficher l'image
    picture = loadPicture("Chemin d'accès à l'image")

    jusque là tout va bien, mais l'image s'affiche dans le coin supérieur gauche, et je voudrais pouvoir l'afficher au centre.

    comment puis-je faire?

    merci merci

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Move (aide en ligne)
    ou utilisation des propriétés left et top (aide en ligne)
    pour calculer la position : simple calcul arithmétique :
    (largeur de la feuille - largeur de l'imagfe)/2
    (hauteur de la feuille - hauteur de l'image)/2

  3. #3
    Membre actif Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Points : 221
    Points
    221
    Par défaut
    Dans le form_load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Image1.Top = (Me.Height / 2) - (Image1.Height / 2)
        Image1.Left = (Me.Width / 2) - (Image1.Width / 2)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut erreur
    voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\Ville.bmp")
    Picture.Top = (Me.Height / 2) - (Me.Height / 2)
        Picture.Left = (Me.Width / 2) - (Me.Width / 2)
    J'obtiens l'erreur suivante: objet ne peut pas être supporté par cette méthode ou propriété

    qq un peut-il m'aider?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    petite correction : voilà mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Picture = LoadPictur("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
    Picture.Top = (Me.Height / 2) - (Picture.Height / 2)
        Picture.Left = (Me.Width / 2) - (Picture.Width / 2)

  6. #6
    Membre actif Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Points : 221
    Points
    221
    Par défaut
    C'est pas plutot picture1 ta picturebox?
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Picture1.picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
    Picture1.Top = (Me.Height / 2) - (Picture1.Height / 2)
        Picture1.Left = (Me.Width / 2) - (Picture1.Width / 2)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    merci pr votre aide, voilà ou j'en suis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim picture1 As PictureBox
    picture1.picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
    picture1.Top = (Me.Height / 2) - (picture1.Height / 2)
        picture1.Left = (Me.Width / 2) - (picture1.Width / 2)
    avec l'erreur : object variable no set

  8. #8
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set picture1.picture = LoadPicture(CheminImage)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    snif snif tjs pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim picture1 As PictureBox
    Set picture1.picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
    'picture1.picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
    picture1.Top = (Me.Height / 2) - (picture1.Height / 2)
    picture1.Left = (Me.Width / 2) - (picture1.Width / 2)
    erreur : variable no set

  10. #10
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Pourquoi avoir déclaré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Picture1 As PictureBox
    Ce contrôle ne se trouve-t-il pas sur une Form?

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je commence à subodorer plusieurs choses :
    1) où as-tu mis ton code (dans quel événement de quelle feuille)
    2) s'agit-il dune picturebox ou d'un contrôle image ?

    ceci étant dit, je ne serais pas étonné que tu aies tout simplement mis ton code dans un événement de la feuille principale :
    si c'est le cas : transforme Me par le nom de ta MDI

    Voilà pourquoi, entre autres, je préfère donner des indications générales plutôt qu'un code qui sera copié-collé !
    on en est tout simplement au 10ème message pour une affaire ultra-élémentaire !
    CQFD !

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    ultra élémentaire et pourtant sans solution.

    j'utilise une picture box et j'ai mis le code dans MDIForm_Load()

  13. #13
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Alors et pour en finir une fois pour toutes :
    nom de ta picturebox ?
    nom de ta MDIForm ?
    et ton code définitif (je le corrige et on n'en parle plus) !

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bon !
    En admettant que ta MDI ait pour nom mdiform1
    Dans ta mdi : une picturebox Picture1 (qui va servir de container)
    dans cette picture1 : une picturebox picture2 (pour recevoir ton image)
    et, dans ton événement load de ta form principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Form_Load()
      MDIForm1.Show
      MDIForm1.Picture2.Picture = LoadPicture("d:\superdeb.jpg")
      MDIForm1.Picture2.Move (MDIForm1.Picture1.Width -   MDIForm1.Picture2.Width) / 2, _
      (MDIForm1.Picture1.Height - MDIForm1.Picture2.Height) / 2
      MDIForm1.ZOrder
    End Sub
    et ne viens pas nous dire que celà ne marche pas !
    Testé et vérifié chez moi !

    Ceci étant dit : tu peux faire autrement ( ) bien évidemment !
    Tu peux aussi (c'est ce que je ferais) n'utiliser que Picture1 et la méthode Paintpicture pour y "peindre" directement, mais je doute fort que tu trouves celà à ta portée... alors ...

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub MDIForm_Load()
    Dim picture1 As PictureBox
    Dim picture2 As PictureBox
    frmMaster.Show
      frmMaster.picture2.picture = LoadPicture("C:\WINNT\Profiles\gregoryk\Bureau\VilleNamur.bmp")
      frmMaster.picture2.Move (frmMaster.picture1.Width - frmMaster.picture2.Width) / 2, _
      (frmMaster.picture1.Height - frmMaster.picture2.Height) / 2
      frmMaster.ZOrder
    end sub
    erreur sur picture2: method or data member no found

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut
    super ca marche, un grand merci

  17. #17
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bien !
    Alors, sophie : fais-moi plaisir :
    Dorénavant, interesses-toi plus aux méthodes qu'au code ! Tu y gagneras (tu le sais maintenant)...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2007, 23h45
  2. Erreur pour l'affichage aléatoire d'une image
    Par bellebiquette dans le forum Langage
    Réponses: 3
    Dernier message: 21/04/2006, 22h45
  3. [Conception] affichage aleatoire d'une image
    Par bellebiquette dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 24/02/2006, 22h58
  4. [Tableaux] Ajouter l'affichage dynamique d'une image
    Par leloup84 dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 09h14
  5. [VB6] [Graphisme] Dimensions d'une image au saving
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2002, 19h09

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