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

MFC Discussion :

Utilisation de SetIcon pour afficher une icone sur bouton


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 36
    Points : 22
    Points
    22
    Par défaut Utilisation de SetIcon pour afficher une icone sur bouton
    salut;

    je n'ai pas tres bien compris lcomment utiliser la fonction SetIcon pour afficher une icone sur un bouton

    Voici ce que j'ai fait:

    1- j'ai créer un bouton avec l'editeur de ressources,
    2- j'ai associé une variable à ce bouton (m_button_icon),
    3- et j'ai utilisé l'exemple donné dans le MSDN c'est à dire:

    m_button_icon.SetIcon(::LoadIcon(NULL, IDI_QUESTION))

    et là ça plante!!!

    j'appelle cette instruction dans le constructeur de la classe

    j'avoue ne pas comprendre!! manque t-il une ou plusieurs étapes ?

    quelqu'un peut il m'aider ?

    merci!!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 36
    Points : 22
    Points
    22
    Par défaut Pb avec SetIcon
    salut;

    pour afficher une icone sur un bouton j'utilise la fonction SetIcon
    de la maniere ci dessous:
    m_button_icon.SetIcon(::LoadIcon(NULL, IDI_QUESTION)) comme décrit dans le MSDN!

    a quoi correspond le parametre IDI_QUESTION ? est ce une chaine de caracteres ou un identifiant representant l'icone QUESTION?

    j'avoue ne pas comprendre!! manque t-il une ou plusieurs étapes ?

    quelqu'un peut il m'aider ?

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pourquoi ne pas utiliser simple le loadicon de la classe d'application ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HICON hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Salut,
    Est-ce que ton bouton a bien le style "icone" ?

    Pour répondre à ton autre question:
    LoadIcon
    le paramètre passé à LoadIcon peut être un chaîne ou un identifiant numérique.
    Ici, IDI_APPLICATION est un identifiant numérique défini comme suit dans winuser.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define IDI_APPLICATION     32512
    Il représente une des icones standards de windows, c'est pouquoi le premier paramètre de ::LoadIcon() doit être NULL.

    farscape: Je ne pense pas que CWinApp::LoadIcon marche pour les icones standard, puisqu'elles ne réclament pas l'instance du programme mais NULL. (peut-être que ça marche quand même, mais j'en serais étonné: J'ai bien peut que CWinApp::LoadIcon ne marche qu'avec les icones contenues dans l'EXE...)

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    CWinApp::LoadIcon
    HICON LoadIcon(
    UINT nIDResource )
    const;
    je ne vois pas le probleme .

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/05/2010, 13h38
  2. Commande pour afficher une ligne sur 2
    Par toxycyty dans le forum Linux
    Réponses: 2
    Dernier message: 08/10/2008, 15h30
  3. Réponses: 1
    Dernier message: 13/06/2008, 17h24
  4. Utiliser les Border pour afficher une règle ?
    Par Beleg dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/04/2008, 15h14
  5. C# VS2003 Pb pour afficher une image sur un siteWeb
    Par calinou dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/09/2007, 16h57

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