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

C++Builder Discussion :

Pbs d'affichage d'une image sur un panel


Sujet :

C++Builder

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut Pbs d'affichage d'une image sur un panel
    Bonjour à tous,

    Je crée dynamiquement des panels sur lesquels j'affiche des images...
    Voici le code pour faire cela :

    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
    for(int l=0;l<nb_ligne;l++){
        for(int c=0;c<nb_colonne;c++){
            if(i<game->ImagesFileNameList->Count){
                TPanel* panel=new TPanel(View3D);
                TImage* image=new TImage(panel);
                panel->Parent=View3D;     
                panel->Height=hauteur-2;
                panel->Top=hauteur*l+2;
                panel->Width=largeur-5;
                panel->Left=largeur*c+2;
                panel->Color=clBlack;
                panel->Tag=i+1;
                ListPanel->Add(panel);
                image->Parent=panel;
         img->Stretch=true;
                image->OnClick=Panel2Click;
                AnsiString* file_name=(AnsiString*)(game->ImagesFileNameList->Items[i]);
                image->Picture->LoadFromFile(*file_name);
                image->Tag=i+1;
                ListImage->Add(image);
                i++;
            }
        }
    }
    Je ne comprends pas ce qu'il se passe car le résultat, c'est que mes panels sont bien construits mais les images sont toutes affichées sur le meme panel alors qu'ils sont différents dans le code.
    Elles se superposent toutes sur le premier panel rien sur les autres.

    Avez vous une idée pour m'expliquer le comment du pourquoi ?

    Merci.

  2. #2
    Membre Expert

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Puisque les bords du panel ne sont pas pris en compte dans la zone
    client, est-ce que tu as essayé quelque chose dans le genre (avec Align = alClient):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panel->BevelInner = bvLowered;
    panel->BevelOuter = bvRaised;
    panel->BevelWidth = 3;
    panel->BorderWidth = 1;
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panel->BevelInner = bvLowered;
    panel->BevelOuter = bvRaised;
    panel->BevelWidth = 1;
    panel->BorderWidth = 4;
    Il reste toujours la possibilité du SetBounds(...)

    A plus !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Par défaut
    C'est bon, ça fonctionne.
    Ce n'est pas exactement comme je le veux mais je vais adapter.

    Merci et à +.


    Citation Envoyé par henderson
    Salut !

    Puisque les bords du panel ne sont pas pris en compte dans la zone
    client, est-ce que tu as essayé quelque chose dans le genre (avec Align = alClient):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panel->BevelInner = bvLowered;
    panel->BevelOuter = bvRaised;
    panel->BevelWidth = 3;
    panel->BorderWidth = 1;
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    panel->BevelInner = bvLowered;
    panel->BevelOuter = bvRaised;
    panel->BevelWidth = 1;
    panel->BorderWidth = 4;
    Il reste toujours la possibilité du SetBounds(...)

    A plus !

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

Discussions similaires

  1. affichage d'une image sur un lien
    Par berti dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 30/11/2007, 12h27
  2. affichage d'une image sur un composant dérivé de JPanel
    Par milou31 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 15/09/2007, 05h47
  3. Réponses: 4
    Dernier message: 28/06/2007, 18h51
  4. Affichage d'une image sur Tpicture..
    Par jdudoret dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/07/2006, 19h02
  5. Affichage d'une image sur une fenêtre secondaire.
    Par renorx dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/01/2006, 19h06

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