1. #1
    Membre expérimenté

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

    Informations forums :
    Inscription : juin 2002
    Messages : 1 372
    Points : 1 706
    Points
    1 706

    Par défaut [Resolu] Changer l'icône d'une fenêtre à partir d'un .res

    Si l'opération est simple à partir d'un fichier .ico, comment faire
    par contre, à partir d'icônes contenues dans les ressources.

    J'ai créé ces icônes avec l'édteur d'images de BCB dans le .res de mon projet.
    Je précise que cette manipulation intervient lors de la création de fenêtres enfants.

    Comment fait-on ?

  2. #2
    Membre expérimenté

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

    Informations forums :
    Inscription : juin 2002
    Messages : 1 372
    Points : 1 706
    Points
    1 706

    Par défaut

    Je pense que je vais abandonner cette voie, même s'il existe des
    pistes du coté API : FindResource, LoadResource, LockResource,
    LoadIcon... C'est un peu galère...
    C'est un peu trop "prise de tête" avec la doc MSHelp !

    "Il y a des jours comme ça...
    "où plus rien ne va...

    Je vais me contenter de faire comme tout le monde :

    ...Icon->LoadFromFile(...). pffffff !

  3. #3
    LFE
    LFE est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    juillet 2002
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juillet 2002
    Messages : 95
    Points : 2 420
    Points
    2 420

    Par défaut

    As tu regardé cette fonction ?

    TIcon::LoadFromResourceName

  4. #4
    Membre expérimenté

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

    Informations forums :
    Inscription : juin 2002
    Messages : 1 372
    Points : 1 706
    Points
    1 706

    Par défaut

    Salut LFE.

    Oui, mais je n'ai pas réussi à mettre en oeuvre.
    Ca donnait l'impression que la ressource n'existait pas alors
    que j'ai créé 4 icônes avec l'éditeur d'images (et de ressources)
    fournit avec BCB3...

    De toute façon je n'arrive pas bien à comprendre la manip avec les TIcon..

    Merci et à plus.

  5. #5
    Membre à l'essai
    Inscrit en
    juillet 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : juillet 2002
    Messages : 16
    Points : 19
    Points
    19

    Par défaut

    Il semblerait que BCB ait des petits problèmes avec la compilation des ressources : une nouvelle icône ou bitmap n'est pas toujours prise en compte, même quand on fait une recompilation complète. Le remède que j'ai trouvé : effacer le fichier Project.tds et recompiler (c'est pas très propre, mais ça marche).
    Il y a trois sortes d'informaticiens : ceux qui savent compter et ceux qui ne savent pas compter.

  6. #6
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2002
    Messages : 103
    Points : 121
    Points
    121

    Par défaut

    Je confirme que BCB a des problèmes avec la compilation des fichiers ressources (.rc). Il faut effacer le .res avant chaque recompilation pour être bien sûr que la nouvelle ressource soit intégrée dans l'application.

    Mais cette manipulation ne suffit pas lorsqu'on souhaite intégrer des ressources dans une DLL. Je ne comprends pas pourquoi. Il faut faire F9 (Exécuter) pour construire une DLL qui contienne bien les ressources.

    J'utilise BCB 6 PRO.

  7. #7
    Membre expérimenté

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

    Informations forums :
    Inscription : juin 2002
    Messages : 1 372
    Points : 1 706
    Points
    1 706

    Par défaut

    Si c'est ça..... !!
    Si c'est pas ça :

    Il y a de toute évidence un problème dans la version 3 que je n'ai pas réussi
    à résoudre au niveau du lien possible entre deux entités :
    - HICON de WINDOWS qui est un handle de ressource du type icône
    - TIcon de BCB qui est un objet VCL (Graphics::TIcon).

    La solution la plus simple aurait pu ressembler à ceci :

    ?...LoadIcon(HInstance, "POMME");//API
    ..?..
    Form1->Icon->Assign(?);//BCB
    ou bien
    Form1->Icon = ?;

    C'est à dire un ensemble d'étapes aussi faciles que pour un curseur personnalisé...
    J'ai passé quelques heures la dessus à explorer les API... FindResource() etc...
    Plus j'ai cherché et testé et plus je me suis planté !

    A plus.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 60
    Points : 60
    Points
    60

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Form1->Icon->ReleaseHandle();
      Form1->Icon->Handle = LoadIcon( HInstance , "POMME") ;
    F1

  9. #9
    Membre expérimenté

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

    Informations forums :
    Inscription : juin 2002
    Messages : 1 372
    Points : 1 706
    Points
    1 706

    Par défaut

    C'est la solution !
    Un grand merci AMILIN et à vous tous !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2009, 10h29
  2. Changer l'icône d'une fenêtre dans forms 10g DS
    Par rafioklou dans le forum Forms
    Réponses: 2
    Dernier message: 10/10/2007, 12h08
  3. Changer le titre d'une fenêtre dynamiquement
    Par Dnx dans le forum JavaScript
    Réponses: 4
    Dernier message: 14/11/2005, 17h32
  4. changer le "look" d'une fenêtre...
    Par just1980 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 20/04/2005, 20h23
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 14h46

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