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 :

[MFC] D�butant - Affichage d'une Bitmap sur un bouton


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    44
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 44
    Par d�faut [MFC] D�butant - Affichage d'une Bitmap sur un bouton
    Bonjour,
    Ma question va sans doute paraitre un peu b�te, mais je n'arrive pas � afficher une bitmap sur un bouton ... j'ai d�j� fait l'op�ration avec des icones et cela fonctionne tr�s bien, dans le cas d'une bitmap (BITMAP1), mon code compile et rien n'est affich� sur le bouton (bouton_1) ... aurais-je oubli� quelque chose ? Voici mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
        CBitmap BitmapGenerique;
     
        BitmapGenerique.LoadBitmap(IDB_BITMAP1);
     
        m_hBitmap1 = HBITMAP( BitmapGenerique );
     
        m_bouton_1.SetBitmap( m_hBitmap1 );
    Si quelqu'un peut m'�clairer ... merci d'avance

  2. #2
    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
    Par d�faut
    Salut ,
    Utilise un CBitmapButton


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    44
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 44
    Par d�faut
    Humm ... pas dou�e la fille Il doit y avoir un truc que je n'ai pas bien compris dans MSDN ...
    J'ai refait mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    CBitmapButton monBoutonBitmap;
     
    monBoutonBitmap.Create(_T("Mon bouton bitmap"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(10,10,100,30), this, 1);
     
    monBoutonBitmap.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP1, IDB_BITMAP1, IDB_BITMAP1);
    ... et c'est pareil, rien ne s'affiche

  4. #4
    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
    Par d�faut
    bien,
    ton objet ne dois pas �tre local � la fonction mais � la classe ou alors utilise un pointeur.
    sinon quand celui ci sort de sa port�e il sera detruit et dans le destructeur d'un objet d�riv� de CWnd il y a DestroyWindow() ce qui semble normal pour un objet graphique ....
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    CWnd::~CWnd()
    {
    	if (m_hWnd != NULL &&
    		this != (CWnd*)&wndTop && this != (CWnd*)&wndBottom &&
    		this != (CWnd*)&wndTopMost && this != (CWnd*)&wndNoTopMost)
    	{
    		TRACE(_T("Warning: calling DestroyWindow in CWnd::~CWnd; ")
    		   _T("OnDestroy or PostNcDestroy in derived class will not be called.\n"));
    		DestroyWindow();
    	}
    //...............
    en prime si je ne me trompe pas tu dois avoir un message dans le trace debug le warning du code cit� plus haut...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    44
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 44
    Par d�faut
    Ok, on progresse �a parait tellement �vident quand on te le dit ... merci beaucoup
    J'avais encore un souci : "mon bouton bitmap" s'affichait mais pas la bitmap ; j'ai remplac� le code par celui-ci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    monBitmapButton.Create(NULL, WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW, CRect(200,200,400,400), this, 1);
    monBitmapButton.LoadBitmaps(IDB_BITMAP1, 0, 0, 0);
    ... et �a a l'air ok !

    Encore merci

    PS : je pense que tu vas me revoir sur ce forum avec plein d'autres questions b�tes de d�butante !!

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

Discussions similaires

  1. Affichage d'une l�gende sur un bouton
    Par bomehc dans le forum Composants
    R�ponses: 2
    Dernier message: 30/04/2011, 01h10
  2. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    R�ponses: 2
    Dernier message: 23/09/2004, 09h55
  3. [D�butant] Affichage d'une grille
    Par Mathieu.J dans le forum OpenGL
    R�ponses: 25
    Dernier message: 13/06/2004, 19h38
  4. Affichage d'une bitmap et de l'heure
    Par nanarr dans le forum Assembleur
    R�ponses: 14
    Dernier message: 16/04/2004, 22h39
  5. R�ponses: 2
    Dernier message: 20/01/2004, 14h27

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