Accueil > > > UNE CLASSE BOUTON BITMAP POUR C++/MFC (TRÈS SIMPLE À UTILISER)
UNE CLASSE BOUTON BITMAP POUR C++/MFC (TRÈS SIMPLE À UTILISER)
Information sur la source
Description
Personnaliser simplement les boutons en c++. Une fois la classe intégré à votre projet, vous pourrez gérer la couleur du libellé, l'image et son étendu sur le bouton, un vrai texte à coté de l'image, le grisé, l'effet mouseMove et le redimentionnement automatique de l'image selon la taille du bouton. Sans oublier le masque pour la transparence. Un exemple complet et commenté, avec tous les cas de figure dans le zip.
Source
- // Utilisation
- // declare
- CBtnBitmap* m_pBtn;
- // alloue
- m_pBtn = new CBtnBitmap(IDB_NORMAL, _T("texte !"), RGB(0,0,255));
- // par défaut le taux de remplissage est un tier, on peut le changer
- m_pBtn->SetTauxRemplissageImg(REMPLIR_MOITIE)
- // On peut gérer le grisé ou non
- m_pBtn->SetIDBitmapGris(IDB_GRISE);
- // On peut gérer le mouseMove ou non
- m_pBtn->SetIDBitmapMouseMove(IDB_MOUSEMOVE);
- // On peut gérer le masque de transparence
- m_pBtn->SetIDBitmapMasque(IDB_MASQUE);
- // On peut gérer le redimentionnement automatique
- m_pBtn->SetStretch(true);
- // On peut changer la couleur à l'exécution
- m_pBtn->SetCouleurTexte(RGB(255,0,0));
- // pour texte et pour grisé à l'exécution (fn windows)
- m_pBtn->SetWindowText((LPCTSTR));
- m_pBtn->EnableWindow(FALSE);
-
- // dans l'init du dialog parent ou le template est posé
- // il faut sousclasser le bouton
- m_pBtn->SubClassDlgItem(IDC_BTN, this);
-
- // Ne pas oublier de désallouer le btn (delete)
// Utilisation
// declare
CBtnBitmap* m_pBtn;
// alloue
m_pBtn = new CBtnBitmap(IDB_NORMAL, _T("texte !"), RGB(0,0,255));
// par défaut le taux de remplissage est un tier, on peut le changer
m_pBtn->SetTauxRemplissageImg(REMPLIR_MOITIE)
// On peut gérer le grisé ou non
m_pBtn->SetIDBitmapGris(IDB_GRISE);
// On peut gérer le mouseMove ou non
m_pBtn->SetIDBitmapMouseMove(IDB_MOUSEMOVE);
// On peut gérer le masque de transparence
m_pBtn->SetIDBitmapMasque(IDB_MASQUE);
// On peut gérer le redimentionnement automatique
m_pBtn->SetStretch(true);
// On peut changer la couleur à l'exécution
m_pBtn->SetCouleurTexte(RGB(255,0,0));
// pour texte et pour grisé à l'exécution (fn windows)
m_pBtn->SetWindowText((LPCTSTR));
m_pBtn->EnableWindow(FALSE);
// dans l'init du dialog parent ou le template est posé
// il faut sousclasser le bouton
m_pBtn->SubClassDlgItem(IDC_BTN, this);
// Ne pas oublier de désallouer le btn (delete)
Conclusion
Pour les débutants qui viennent du VisualBasic, cette classe fera retrouver la simplicité que l'on doit avoir pour agrémenter un gui sans passer par la reflection ou les messages obscurs comme MEASUREITEM, DRAWITEM, ERASEBKG ect...
Historique
- 06 août 2006 15:31:16 :
- Suite au commentaire, Ajout de l'exe (.ex_) pour ceux qui ne peuvent pas compiler.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Mettre une bitmap sur un bouton (MFC,VC++) [ par JMGR ]
Comment peut - on mettre une image sur un bouton ?Mon code qui ne fonctionne pas :HBITMAP bimp= LoadBitmap(NULL,"bitmaps\\un.bmp");m_x0y0.SetBitmap(bi
Boite de dialogue MFC [ par julok2 ]
Salut,j'écris actuellement un programme dans lequel j'ouvre des boites de dialogue. J'ai donc créé des fonctions OnBouton dans une autre classe où j'u
Pb avec CBitmapButton [ par punx120 ]
Salutj'ai un problème avec CBitmapButton, je veux créer un bouton avec un bitmap je fais comme ceci mais ça ne marhce pas (j'ai visual c++ 6.0): dans
Utiliser la classe MFC CHtmlEditCtrl [ par appstmd ]
Salut !Quelqu'un sait-il comment on fait pour spécifier le contenu d'un contrôle CHtmlEditCtrl sans passer par une adresse Internet ou un fichier HTML
Imprimer un bitmap sans MFC ( API Win32 ) [ par bebel6 ]
Bonjour à tous tout d'abord !Alors voila le bin'z :J'aimerais pouvoir imprimer une image avec vsiualc 6 sans l'aide des MFC, j'arrive deja à imprimer
Insérer bitmap dans un bouton dans une boite de dialogue [ par safira ]
safira:)Salut! Je suis nouvelle dans ce forum! J'aimerais savoir comment mettre un bitmap dans bouton qui se trouve dans une boite de dialogue avec MF
controle du volume audio général [ par roxanic ]
BonjourJe cherche a controler les bouton de volume.Pour le bouton Wave c'est OK. Mais je ne trouve pas le solution pour le curseur du volume général.M
MFC : bitmap [ par lavionneur ]
Bonjour a tous , je suis nouveau sur ce forum.je suis en projet de fin d'année et je voudrais savoir comment on fait pour :rendre visible ou invisible
MFC mettre un controle invisible [ par Cameleon69 ]
J'ai un controle ComboBox, que je veux rendre invisible, je sais le rendre inactif mais invisible ???Merci de votre aide.
État d'un bouton MFC [ par NiFF ]
Bonjour tout le monde.Comment fait-on pour changer l'état d'un bouton? J'ai créé sur ma feuille MFC un bouton avec la propriété "Disabled". Comment fa
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|