8
votes

Comment ajouter une image bitmap aux boutons de MFC?

J'essaie d'ajouter une image à un bouton existant..J'ai fait cela dans une mesure, le problème est que je peux ajouter une image de rechercheDrawawn mais je ne suis pas capable d'ajouter l'image exact que je veux .. Pour l'exemple Voir le code ci-dessous xxx

avec le code ci-dessus, je convertit le bitmap en une icône à une icône pour ajouter à mon bouton ... Comment puis-je ajouter l'image de bitmap exacte directement à un bouton existant.Veuillez obtenir une aide moi frnds ..


0 commentaires

6 Réponses :


1
votes

Vous pouvez sous-classer le bouton existant en utilisant cbitmapboutton :: sousclasswindow , puis utilisez loadbitmaps . .


1 commentaires

Comment appeler Sous-Classwindow?



3
votes

J'ai réellement corrigé le problème ..Qu'est-ce que j'ai fait est que j'ai remplacé le hicon avec HBITMAP et son fonctionnement parfait ... essentiellement, les deux fonctionnent bien, mais dans mon cas lorsque j'ai chargé l'icône dans le bouton L'arrière-plan de l'icône était ne change pas ... j'ai essayé bitmap puis ça marche très bien. Je travaille maintenant au positionnement de l'image et d'ajouter du texte ... pense que je pourrais passer à travers


0 commentaires

0
votes

Utilisez les classes de boutons de la fonction de fonctionnalité. Ils ont une prise en charge de la montrage de texte et d'images sur des boutons, votre bouton régulier ne peut pas le faire. Regardez le répertoire «échantillons» dans votre répertoire d'installation VS.


0 commentaires

1
votes

Vous ne savez pas combien cela a aidé. Merci d'avoir posté. Doit aussi changer quelques autres choses en bitmap aussi ...

CButton* pBtn= (CButton*)GetDlgItem(ID_MYDIALOG);
pBtn->ModifyStyle( 0, BS_BITMAP );

HBITMAP hIcn= (HBITMAP)LoadImage(
  AfxGetApp()->m_hInstance,
  MAKEINTRESOURCE(IDB_MYPIC),
  IMAGE_BITMAP,
  0,0, // use actual size
  LR_DEFAULTCOLOR
  );

pBtn->SetBitmap( hIcn );


0 commentaires

4
votes

étapes pour attribuer un bitmap sur le bouton MFC:

  1. Créer un objet de bitmap
  2. charge bitmap en utilisant loadbitmap ()
  3. Obtenez la poignée du bouton à l'aide de ID et getdlgitem () Méthode
  4. Modifier le style de sorte que nous puissions attribuer bitmap à celui-ci
  5. Utilisez SETBITMAP () La poignée du bouton pour assigner bitmap

    code: xxx


0 commentaires

0
votes

Je veux ajouter quelques idées à la réponse de @Amruta Ghodke:

Vous pouvez redimensionner votre bouton à l'aide du GetWindowrect et SetWindowpos Fonctions. Voir un exemple ci-dessous: xxx

Si vous souhaitez afficher des images transparentes, utilisez le logiciel PixelFormer pour convertir vos PNGS en BMPS alpha-compatibles. Vous devrez:

  1. Aller à image-> Propriétés et définir couleur RVB avec canal alpha
  2. Exportez le fichier à l'aide de format A8: R8: G8: B8 et Désactivé PremuTiPlied Alpha et commande de ligne haut de page

0 commentaires