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 :

manipulation d'icone dans TTreeView


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    29
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par d�faut manipulation d'icone dans TTreeView
    Hello.

    Je tente de placer dans une TTreeView une liste de fichiers avec l'icone correspondante (une icone par TTreeNode).

    J'extrait l'icone par

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
        HICON N;
       N=ExtractAssociatedIcon(HInstance,buffer,&IconIndex);
    N �tant donc un handle d'icone. Jusque l�, �a marche.

    Ensuite, c'est un peu difficile, on ne sait pas injecter directement l'icone dans le TTreeNode (ou alors, j'ai rien compris)

    J'exploite alors une TImageList. Je place les images dedans et je le r�cup�re par

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
        TNode->ImageIndex= ...
       TNode->SelectedIndex= ...

    Mais l� o� �a coince, c'est que pour ajouter une icone dans une TImageList, on exploite

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
        ImageList->AddIcon(Icon); //avec Icon qui est de type TIcon.
    Si on essaie de placer le handle obtenu par ExtractAssociatedIcon dans le TIcon avant de l'employer avec AddIcon, soit ainsi :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     TIcon *Icon;
    Icon =new TIcon;
    Icon->Handle=ExtractAssociatedIcon(HInstance,FName,&IconIndex);
    �a foire...

    Comment proc�der?
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut


    J'ai de la difficult� � comprendre ton message, c'est vrai qu'ici c'est la fin de journ�e et que j'ai programm� depuis ce matin

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    29
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par d�faut Pour faire plus clair
    Objectif : placer les icones des fichiers dans une TTreeView (une icone par TTreeNode).

    J'extrait l'icone par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    HICON N;
    N=ExtractAssociatedIcon(HInstance,buffer,&IconIndex);[/color]
    N �tant donc un handle d'icone. Jusque l�, �a marche.

    Probl�me 1 : on ne sait pas injecter directement l'icone dans le TTreeNode (ou alors, j'ai rien compris)

    Solution 1 : J'exploite une TImageList. Je voudrais placer les icones dans la TImageList et les r�cup�rer par

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    TNode->ImageIndex= ...
    TNode->SelectedIndex= ...
    Probl�me 2, issus de la solution 1 :

    Si on essaie de placer le handle obtenu par ExtractAssociatedIcon dans le TIcon avant de l'employer avec AddIcon, soit ainsi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    TIcon *Icon;
    Icon =new TIcon;
    Icon->Handle=ExtractAssociatedIcon(HInstance,FName,&IconIndex);
    �a foire... (enfin, �a plante)

    Comment proc�der?
    Merci d'avance et merci pour le conseil sur les balises :-)

    Et si tu veux mon tr�s humbles avis, on ne devrait jamais programmer apr�s 22h (ni avant midi d'ailleurs :-))

  4. #4
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Comment fait tu pour r�cup�rer ton parametre HInstance ?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    29
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par d�faut
    En fait HInstance contient l'instance de l'application, c'est une variable d'environnement recueillie par C++ Builder (merci � lui)

    Le probl�me n'est pas dans ExtractAssociatedIcon, qui lui marche tr�s bien et sort un HICON en retour (v�rifi� dans un canvas).

    Le probl�me est de placer ce HICON (handle d'icone) dans le handle du TIcon (soit : TIcon->Handle).
    Je pensais que cela suffirait pour que le TICon se remplisse avec l'icone mais dans la r�alit�, �a plante (or mon TIcon est correctement d�clar� et cr��).

  6. #6
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Ca plante en disant quoi ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 15/02/2006, 17h13
  2. Icone dans barre taches napparait pas tjr(lancement session)
    Par souch dans le forum Composants VCL
    R�ponses: 4
    Dernier message: 16/06/2004, 10h51
  3. icon dans treeview ou listview
    Par Sebinou dans le forum C++Builder
    R�ponses: 12
    Dernier message: 31/03/2004, 00h29
  4. Afficher une icone dans DBgrid
    Par boyerf dans le forum Bases de donn�es
    R�ponses: 4
    Dernier message: 29/02/2004, 15h45
  5. Comment g�rer plusieurs icones dans son ex�cutable ?
    Par declencher dans le forum Langage
    R�ponses: 5
    Dernier message: 15/10/2003, 10h49

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