CBitmapButton

Utilisez la classe CBitmapButton pour créer des contrôles boutons-poussoirs marquées avec des images bitmap au lieu de texte. CBitmapButton objets contiennent jusqu'à quatre images bitmap, qui contiennent des images pour les différents États, un bouton peut assumer : up (ou normal), vers le bas (ou sélectionnés), concentré et désactivé. Seule la première bitmap est nécessaire ; les autres sont facultatifs.

Images bitmap-bouton incluent la bordure autour de l'image ainsi que l'image elle-même. Généralement, la frontière joue un rôle en montrant l'État du bouton. Par exemple, l'image bitmap pour l'État ciblé est généralement semblable à celle de l'État à mais avec un médaillon rectangle en pointillés de la frontière ou une ligne épaisse et solide à la frontière. L'image bitmap pour les personnes handicapées d'État généralement ressemble l'un pour l'état haut mais a plus faible contraste (comme une sélection de menu grisée ou estompé).

Ces bitmaps peut être de n'importe quelle taille, mais tous sont traités comme s'ils étaient de la même taille que l'image bitmap pour l'état haut.

Diverses applications exigent différentes combinaisons d'images bitmap:

Up Vers le bas Concentré Personnes handicapées Application
× Image bitmap
× × Bouton sans style WS_TABSTOP
× × × × Bouton de la boîte de dialogue avec tous les États
× × × Bouton de la boîte de dialogue style WS_TABSTOP

Lorsque vous créez un contrôle de bouton bitmap, définir le style BS_OW&NERDRAW pour spécifier que le bouton est propriétaire-drawn.nbsp ; Cela provoque Windows envoyer les messages WM_MEASUREITEM et WM_DRAWITEM pour le bouton ; le cadre gère ces messages et gère l'apparence du bouton pour vous.

Pour créer un contrôle bouton bitmap dans la zone client d'une fenêtre, procédez comme suit:

  1. Créer des images bitmap d'un à quatre pour le bouton.

  2. Construire l'objet CBitmapButton.

  3. Appelez la fonction Create pour créer le contrôle de bouton de Windows et le joindre à l'objet CBitmapButton.

  4. Appelez la fonction membre LoadBitmaps pour charger les ressources bitmap après que le bouton bitmap est construit.

Pour inclure un contrôle de bouton bitmap dans une boîte de dialogue, procédez comme suit:

  1. Créer des images bitmap d'un à quatre pour le bouton.

  2. Créer un modèle de boîte de dialogue avec un bouton owner-draw positionné où vous souhaitez que le bouton bitmap. La taille du bouton dans le modèle n'a pas d'importance.

  3. La légende du bouton la valeur une valeur telle que « MYIMAGE » et définir un symbole pour le bouton, comme IDC_MYIMAGE.

  4. Dans le script de ressources de votre application, donner à chacune des images créée pour le bouton un ID construit en ajoutant une des lettres « U », « D » « F » ou « X » (pour up, down, concentré et désactivé) à la chaîne utilisée pour la légende du bouton dans étape 3. Pour la légende du bouton "MYIMAGE", par exemple, l'ID serait « MYIMAGEU, » « MYIMAGED, » « MYIMAGEF, » et « MYIMAGEX. » Vous devez spécifier l'ID de vos bitmaps entre guillemets doubles. Par ailleurs, l'éditeur de ressources assignera un entier à la ressource et MFC échouera lors du chargement de l'image.

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

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

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

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

Pour plus d'informations sur CBitmapButton, voir Sujets de contrôle dans le Guide du programmeur Visual C++.

# include lt;afxext.h>

Membres de la classe |nbsp ; Classe de base | Graphique de la hiérarchie

Écha&ntillonnbsp ; Exemple MFC CTRLTEST

Index