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 :

Inserer des images dynamiquement


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut Inserer des images dynamiquement
    Bonjour,

    Je développe en ce moment un programme en C++Builder5 qui siùule une file d'attente de personne. J'ai bien avancé en C, mais je voulais une interface graphique facile a réaliser pour représenter les personnes dans la file d'attente à l'aide d'image, voilà pourquoi je suis passer au C++Builder.

    Les arrivée sur la file d'attente sont une liste linéaire chainée dynamique, à chaque arrivée on ajoute un maillon à la liste....etc
    Ce que je cherche maintenant c'est de représenter ces maillons qui s'ajoute à la liste par des images. c-a-d à chaque arrivée on voit sur l'interface une image qui arrive puis l'autre puis l'autre...

    Les arrivées et le service sont aléatoire, et la file est supposé de taille illimité, donc je peux pas insérer 100images et les faires défiler l'une aprés l'autre.
    En C j'ai représenté les arrivé par du texte genre ("arrivée personne1"..."arrivée personne2"...."personne1 servi"....).

    Pouriez vous m'indiquer comment insérer des images ? j'ai commencé avec ceci mais j'arrive pas a afficher l'image sur la form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TImage *img = new TImage(0);
       img->Name="image2";
       img->Picture= Form1->Image1->Picture ;
       img->Left=20;
          img->Top=20;
             img->Width=120;
                img->Height=120;
     
       Form1->InsertComponent(img);
       img->Visible=true;

    Merci pour l'aide

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Citation Envoyé par aamad Voir le message
    Bonjour,
    Pouriez vous m'indiquer comment insérer des images ? j'ai commencé avec ceci mais j'arrive pas a afficher l'image sur la form.

    TImage *img = new TImage(0);
    img->Name="image2";
    img->Picture= Form1->Image1->Picture ;
    img->Left=20;
    img->Top=20;
    img->Width=120;
    img->Height=120;

    Form1->InsertComponent(img);
    img->Visible=true;
    Ton Image n'a pas de parent.
    Si tu crée une Image, il faut déjà que tu la crée avec en paramètre la form dans laquelle tu la veux, et ensuite il faut que tu lui affecte son parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TImage *img = new TImage(Form1);
    img->Parent = Form1;

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    Merci beaucoup ça marche !

    alors pour en faire profiter tout le monde voilà la récap du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TImage *img = new TImage(Form1); // Form1 Le parent de l'image 
    img->Parent = Form1;
     
    img->Name="image3"; //donner un nom à l'image
    img->Picture= Form1->Image1->Picture ; //copier l'image à afficher d'une image déja insérer
    img->Left=20;      //définir la position horizontale
    img->Top=20;   //définir la position verticale
    img->Width=120;  //définir la largeur
    img->Height=120; //définir la hauteur

    merci encore kurul1
    super ce forum

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    salut, j'ai encore un pti problème.

    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
    i++;
    TImage *img ;
    img = new TImage(Form1);
    img->Parent = Form1;
     
    AnsiString a="personne" ;
    char buf[10];
    sprintf(buf, "%d", (i));
       Form1->Label2->Caption=a+buf;
     
       img->Name=Form1->Label2->Caption.c_str();
       img->Picture= Form1->Image1->Picture ;
       img->Left=20+i*10;
       img->Top=20;
       img->Width=120;
       img->Height=120;
                        img->Visible=true;
          Form1->Label1->Caption=img->Name;
    ce bout de code que j'ai mi dans un Onclick d'un bouton ne crée qu'une seul image sur la form en lui changeant uniquement le nom à chaque clique, alors que ce que je cherche est +ieurs images chacune avec son nom, et qui s'affiche sur la form l'une prés de l'autre à chaque clique.

    Comment faire ?

  5. #5
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Déjà, je vois que tu as déjà une Image qui existe sur ta form vu que tu lui file la picture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    img->Picture= Form1->Image1->Picture ;
    C''est donc la même Image que tu veux charger à chaque fois ?

    Pour tes images, ce que tu peux faire, c'est utiliser une liste

    à chaque fois que tu ajoute une Image, tu l'a met dans une liste, comme ca tu n'a pas de souci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Dans le .h de ta form
    TList *ListeImage;
     
    // Dans le constructeur de ta form
    ListeImage = new TList();
     
    // Dans ta fonction de click
    TImage *img ;
    .....
     
    // Tu ajoute l'image dans la liste des Images
    ListeImages->Add(img);
    Ainsi, toutes tes Images sont mémorisée.
    ne pas oublié quand tu as terminé de vider ta liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for(int i = (ListeImages->Count - 1); i >=0; i--)
    {
       // On récupère l'image
       TImage *img = (TImage *)(ListeImages->Items[i]);
     
       // On détruit l'image
       delete img;
       img = NULL;
    }
     
    // On finit de vider la liste
    ListeImages->Clear();

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Par défaut
    Ce que je veux c'est afficher plusieurs instances de cette image sur la form.
    A chaque clique sur le bouton je doit créer une nouvelle image auquel je lui donne un nom et position, picture reste la meme pour le moment.
    je veux simuler des arrivées de personnes dans une file d'attente, je l'ai fais en C de façon textuelle, maintenant je veux que ça soit les images a la place du text. Espérant que j'ai mieux expliqué mon problème.

    kurul1 j'ai essayé ton code avec imageList, mais g pas compris comment afficher cette liste d'image.

    sinon, y a t'il possibilité de construire une liste linéaire chainé ayant comme structure une image et le pointeur suivant.
    Au lieu de sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct fa
    {
    	char nom;
    	struct fa *suivant;
    };
    le nom remplacé par l'image, donc a chaque nouveau maillon il y a insertion d'une nouvelle image sur la form.


    Merci encore

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/08/2013, 18h18
  2. [VB6] inserer des images dans picturebox et sauvegarder BMP
    Par todac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/05/2007, 14h25
  3. [Image] image map dans des images dynamique?
    Par xtaze dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/05/2006, 17h28
  4. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

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