Une classe bouton bitmap pour c++/mfc (très simple à utiliser)

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 / Exemple :


// 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...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.