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 :

Liste d'aperçu d'images


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Liste d'aperçu d'images
    Bonjour, je recherche une solution sous borland C++ builder 6 pour afficher les images d'un dossier dans une box sous forme d'aperçu cliquables. (pour récupérer un handle de l'image pour ensuite l'afficher en grand dans un Timage)

    J'ai regardé dans les composant de la VCL mais je n'ai pas trouvé quelque chose qui me convient, j'ai pensé a TListView mais je ne sais pas si c'est possible dans mon cas.

    En claire, j'aimerai avoir la liste des aperçu, et lorsque l'on clique sur l'aperçu, on affiche l'image en plus grand.

    Vers quels composants me conseillez vous, ou avez vous déjà eu à faire ce genre chose ?

    Merci de votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    creez du code html avec un composant tccpwebbrowser et la navigation se ferait dans des frames ( et si par hasard vous aviez besoin de recuperer une variable , utiliser le presse papier et javascript ) .

    Tous les chemins menent à Rome .

    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
     
    AnsiString page ;
    AnsiString videoselect = ComboBox1->Items->Strings[ComboBox1->ItemIndex];
     
    page="<body bgcolor=\"000000\"><center>";
    page=page+"<object id=\"MediaPlayer\"";
    page=page+"classid=\"clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6\"";
    page=page+"type=\"application/x-oleobject\"";
    page=page+"standby=\"Loading Microsoft Windows Media Player components...\"";
    page=page+"width=\"";
    int largeur = CppWebBrowser1->Width *90/100;
    page=page+largeur  ;
    page=page+"\" align=\"absmiddle\">";
    page=page+"<param name=\"enabled\" value=\"true\" />";
    page=page+"<param name=\"url\" value=\"videos\\";
    page=page+videoselect;
    page=page+"\" />";
    page=page+"<param name=\"autostart\" value=\"true\" /> </object>";
     
    AnsiString lapage ;
    lapage.sprintf("%s%s",ExtractFilePath(Application->ExeName).c_str(),"video.htm");
    Memo1->Clear();
     
    Memo1->Lines->Add(page);
    Memo1->Lines->SaveToFile(lapage);
     
     
    WideString WEB = lapage;
    CppWebBrowser1->Navigate(WEB);
    }
    le code sert juste a créé un code html dans une variable , le charger dans un browser mais ne parle pas de la syntaxe html dont vous aurez besoin .

    Cordialement .

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par défaut
    Si tu as installé la librairie JEDI, alors il existe des composantes pour avoir une liste d'image dans une combobox (TJvImageComboBox) ou une listbox (TJvImageListBox).

    Mieux encore: la composante TJvImagesViewer te permet d'afficher directement la liste des images d'un répertoire. Sinon TJvImageListViewer le fait à partir d'un TImageList

  4. #4
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    Ta class dans le .h

    ajoute un scrollbox sur ta form1

    DANS LE .H
    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
     
     
    class Cases : public TImage
    {
     private:
     
     public:
     AnsiString nom;     
     
     Cases(TScrollBox*o):TImage(o)
     {
      this->Parent = o;
      this->Picture = NULL;
     
      this->Top = 25;
      this->Left = 25;
      this->Width = 45;
      this->Height = 45;
     
      this->Cursor = crNo;//HandPoint;
      this->Stretch = true;
      this->Transparent = false;
      this->ShowHint = true;
     
      this->nom="";
     }
     
     __fastcall Cases();
     
    DYNAMIC void __fastcall Click();  // evenement Onclick sur objet dynamqiue
    DANS LE .CPP
    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
     
     
    // tu enregistrera avant tout les chemins de tes images dans une listbox
    // puis tu appel cette fonction 
    // nb_image == listbox->Items->count.
     
    void TForm1::AFFICHE_IMAGE(int nbimage)
    {
          int x,y;
          x=y=0;
     
          Cases *tab[nbimage];
     
          for (int i=0; i<nbimage; i++)
          {
     
              tab[i]= new Cases(Form1->ScrollBox1);
     
             // mise en forme à ma guise ( 6 par ligne )
     
              if(!fmodl(i,3))  x=0; else x++;
              tab[i]->Left += ( 70 * x );
              if(!fmodl(i,3)) y++;
              tab[i]->Top  += ( 70 * y );
     
     
                                                   //ex : list->items->string[i] 
              tab[i]->Picture->LoadFromFile( "chemin de ton image ");
     
     
              tab[i]->Invalidate();
            }
          }
    }
    j'ai pas testé mais je pense que c'est correct !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Merci pour vos réponses, j'ai voulu essayer ton exemple Bily.sdi, mais je n'ai pas compris certain passages:

    Cases n'existe pas sous borland C++ Builder et je n'ai pas réussi a le traduire, ici par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cases(TScrollBox*o):TImage(o)
    et la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tab[i]= new Cases(Form1->ScrollBox1);
    Pour ce qui est de la librairie JEDI, savez vous si elle est bien compatible avec Borland C++ Builder 6 ? parce que d'apres ce que j'ai lu c'est une librairie pour Delphi.

    Merci encore pour votre aide.

  6. #6
    Membre expérimenté Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par défaut
    temp71 , Case c'est une class !!!

    a faire dans le .h de ton projet

    le 1er code c'est pour le .h
    le 2iem pour dans ton .cpp

    @+

Discussions similaires

  1. Ouvrir une image dans l'aperçu d'image windows
    Par codial dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 18/04/2013, 14h47
  2. Liste des sites avec images libres de droits
    Par SteelBox dans le forum Imagerie
    Réponses: 19
    Dernier message: 06/01/2011, 15h38
  3. Barre d'aperçu d'images
    Par beral dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/10/2006, 18h13
  4. Réponses: 4
    Dernier message: 09/08/2006, 12h30
  5. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11

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