Partager via


CBitmapButton, classe

Crée des contrôles de bouton poussoir étiquetés avec des images générées une correspondance de bits au lieu du texte.

class CBitmapButton : public CButton

Membres

Constructeurs publics

Nom

Description

CBitmapButton::CBitmapButton

Construit un objet CBitmapButton.

Méthodes publiques

Nom

Description

CBitmapButton::AutoLoad

Associe un bouton dans une boîte de dialogue avec un objet de la classe d' CBitmapButton , charge les bitmaps de noms, classes et le bouton pour adapter la bitmap.

CBitmapButton::LoadBitmaps

Initialise l'objet en chargeant un ou plusieurs ressources bitmap nommées du fichier de ressources de l'application et en liant les bitmaps à l'objet.

CBitmapButton::SizeToContent

Classe le bouton pour s'adapter à la bitmap.

Notes

Les objets d'CBitmapButton contiennent jusqu'à quatre bitmap, qui contiennent des images pour les différents états qu'un bouton peut en supposant que : en haut de (ou normale), vers le bas (ou sélectionné), le focus, et désactivé. Seule la première bitmap est requise ; les autres sont facultatifs.

Les images de bouton bitmap incluent la bordure autour de l'image ainsi que de l'image elle-même. La bordure lit généralement un rôle en affichant l'état du bouton. Par exemple, la bitmap pour l'état ayant le focus est généralement à celui de l'état supérieur mais avec une incrustation à tiret rectangle de la bordure ou une ligne pleine épaisse sur la bordure. La bitmap de l'état désactivé généralement ressemble à celui du rapport haut mais a le contraste inférieur (comme une sélection de menu estompée ou grisée).

Ces images peuvent être de toute taille, mais tous sont traités comme s'ils étaient la même taille qu'un bitmap pour l'état haut.

Les différentes applications requièrent différentes combinaisons des images bitmap :

Haut

Bas

Focused

Disabled

Application

×

 

 

 

Bitmap

×

×

 

 

Bouton sans style de WS_TABSTOP

×

×

×

×

Bouton de dialogue avec tous les rapports

×

×

×

 

Bouton de dialogue avec le style de WS_TABSTOP

En créant un contrôle bouton bitmap, définissez le style de BS_OWNERDRAW pour spécifier que le bouton est owner-drawn. Cela fait envoyer des fenêtres les messages d' WM_MEASUREITEM et d' WM_DRAWITEM du bouton ; l'infrastructure gère ces messages et gère l'apparence du bouton pour vous.

Pour créer un contrôle bouton bitmap dans la zone cliente d'une fenêtre

  1. Créez un à quatre images bitmap pour le bouton.

  2. Construisez l'objet de CBitmapButton .

  3. Appelez la fonction de création pour créer le contrôle bouton windows et le lier à l'objet d' CBitmapButton .

  4. Appelez la fonction membre de LoadBitmaps pour charger les ressources bitmap une fois le bouton bitmap est construit.

Pour inclure un contrôle bouton bitmap dans une boîte de dialogue

  1. Créez un à quatre images bitmap pour le bouton.

  2. Créez un modèle de boîte de dialogue avec un bouton owner-draw positionnée où le bouton bitmap. La taille du bouton dans le modèle n'importe pas.

  3. Définissez la légende du bouton une valeur telle que « MYIMAGE » et définissez un symbole du bouton comme IDC_MYIMAGE.

  4. Dans le script de ressources de votre application, donnez chacune des images créées pour le bouton un ID construit en ajoutant une des lettres U « , » D « , » F « , » ou « X » (pour, vers le bas, le focus, et désactivé) à la chaîne utilisée pour la légende de bouton dans l'étape 3. Pour la légende « MYIMAGEde bouton, » par exemple, les identificateurs seraientMYIMAGEU« , »MYIMAGED, »MYIMAGEF, » et « MYIMAGEX ». Vous must spécifiez l'ID de vos bitmap entre guillemets. Sinon l'éditeur de ressources assignera un entier à la ressource et MFC échoue lors de le chargement de l'image.

  5. Dans la classe de boîte de dialogue de votre application (dérivée d' CDialog), ajoutez un objet membre d' CBitmapButton .

  6. Dans la routine d' OnInitDialog de l'objet d' CDialog , appelez la fonction de Charge automatique de l'objet d' CBitmapButton , en utilisant comme paramètres l'ID du contrôle du bouton et le pointeur de this de l'objet d' CDialog .

Si vous souhaitez gérer des messages de notification de windows, tels que BN_CLICKED, envoyé par un contrôle bouton bitmap à son parent (généralement une classe dérivée de CDialog), ajoutez à CDialogobjet dérivé une entrée de la table des messages et une fonction membre gestionnaire de messages pour chaque message. Les notifications envoyées par un objet d' CBitmapButton sont les mêmes que celles envoyées par un objet de CButton .

La classe CToolBar adopte une approche différente des boutons bitmap.

Pour plus d'informations sur CBitmapButton, consultezcontrôles.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CButton

CBitmapButton

Configuration requise

Header: afxext.h

Voir aussi

Référence

CButton, classe

Graphique de la hiérarchie

Concepts

Exemple CTRLTEST MFC