La classe CBitmap
Encapsule une bitmap GDI (Graphics Device Interface) Windows et fournit des fonctions membres pour la manipuler.
Syntaxe
class CBitmap : public CGdiObject
Membres
Constructeurs publics
Nom | Description |
---|---|
CBitmap::CBitmap |
Construit un objet CBitmap . |
Méthodes publiques
Nom | Description |
---|---|
CBitmap::CreateBitmap |
Initialise l’objet avec une bitmap de mémoire dépendante de l’appareil qui a une largeur, une hauteur et un modèle de bits spécifiés. |
CBitmap::CreateBitmapIndirect |
Initialise l’objet avec une bitmap avec la largeur, la hauteur et le modèle de bits (si l’un est spécifié) donné dans une BITMAP structure. |
CBitmap::CreateCompatibleBitmap |
Initialise l’objet avec une bitmap afin qu’il soit compatible avec un appareil spécifié. |
CBitmap::CreateDiscardableBitmap |
Initialise l’objet avec une bitmap ignorée compatible avec un appareil spécifié. |
CBitmap::FromHandle |
Retourne un pointeur vers un CBitmap objet lorsqu’un handle est donné à une bitmap Windows HBITMAP . |
CBitmap::GetBitmap |
Remplit une BITMAP structure avec des informations sur la bitmap. |
CBitmap::GetBitmapBits |
Copie les bits de la bitmap spécifiée dans la mémoire tampon spécifiée. |
CBitmap::GetBitmapDimension |
Retourne la largeur et la hauteur de la bitmap. La hauteur et la largeur sont supposées avoir été définies précédemment par la SetBitmapDimension fonction membre. |
CBitmap::LoadBitmap |
Initialise l’objet en chargeant une ressource bitmap nommée à partir du fichier exécutable de l’application et en attachant la bitmap à l’objet. |
CBitmap::LoadMappedBitmap |
Charge une bitmap et mappe les couleurs aux couleurs système actuelles. |
CBitmap::LoadOEMBitmap |
Initialise l’objet en chargeant une bitmap Windows prédéfinie et en attachant la bitmap à l’objet. |
CBitmap::SetBitmapBits |
Définit les bits d’une bitmap sur les valeurs de bits spécifiées. |
CBitmap::SetBitmapDimension |
Affecte une largeur et une hauteur à une bitmap en unités de 0,1 millimètre. |
Opérateurs publics
Nom | Description |
---|---|
CBitmap::operator HBITMAP |
Retourne le handle Windows attaché à l’objet CBitmap . |
Notes
Pour utiliser un CBitmap
objet, construisez l’objet, attachez un handle bitmap à celui-ci avec l’une des fonctions membres d’initialisation, puis appelez les fonctions membres de l’objet.
Pour plus d’informations sur l’utilisation d’objets graphiques tels que CBitmap
, consultez Objets graphiques.
Hiérarchie d'héritage
CBitmap
Spécifications
En-tête : afxwin.h
CBitmap::CBitmap
Construit un objet CBitmap
.
CBitmap();
Notes
L’objet résultant doit être initialisé avec l’une des fonctions membres d’initialisation.
CBitmap::CreateBitmap
Initialise une image bitmap de mémoire dépendante de l’appareil avec la largeur, la hauteur et le modèle binaire spécifiés.
BOOL CreateBitmap(
int nWidth,
int nHeight,
UINT nPlanes,
UINT nBitcount,
const void* lpBits);
Paramètres
nWidth
Spécifie la largeur (en pixels) de l’image bitmap.
nHeight
Spécifie la hauteur (en pixels) de l’image bitmap.
nPlanes
Spécifie le nombre de plans de couleur de l’image bitmap.
nBitcount
Spécifie le nombre de bits de couleur par pixel d’affichage.
lpBits
Pointe vers un tableau d’octets qui contient les valeurs de bit de l’image bitmap initiale. Si c’est NULL
le cas, la nouvelle bitmap est laissée non initialisée.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Pour une image bitmap de couleur, le paramètre nPlanes
ou nBitcount
doit être défini avec la valeur 1. Si ces deux paramètres sont définis avec la valeur 1, CreateBitmap
crée une image bitmap monochrome.
Bien qu’une bitmap ne puisse pas être sélectionnée directement pour un appareil d’affichage, elle peut être sélectionnée comme bitmap actuelle pour un « contexte d’appareil mémoire » à l’aide CDC::SelectObject
et copiée dans n’importe quel contexte d’appareil compatible à l’aide de la CDC::BitBlt
fonction.
Quand vous en avez terminé avec l’objet CBitmap
créé par la fonction CreateBitmap
, commencez par sélectionner l’image bitmap hors du contexte de périphérique, puis supprimez l’objet CBitmap
.
Pour plus d’informations, consultez la description du bmBits
champ dans la BITMAP
structure. La BITMAP
structure est décrite sous la CBitmap::CreateBitmapIndirect
fonction membre.
CBitmap::CreateBitmapIndirect
Initialise une bitmap qui a la largeur, la hauteur et le modèle de bits (si l’un est spécifié) donné dans la structure pointée par lpBitmap
.
BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);
Paramètres
lpBitmap
Pointe vers une BITMAP
structure qui contient des informations sur la bitmap.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Bien qu’une bitmap ne puisse pas être sélectionnée directement pour un appareil d’affichage, elle peut être sélectionnée comme bitmap actuelle pour un contexte d’appareil mémoire en utilisant CDC::SelectObject
et copiée dans n’importe quel contexte d’appareil compatible à l’aide de la ou CDC::StretchBlt
de la CDC::BitBlt
fonction. (La CDC::PatBlt
fonction peut copier la bitmap du pinceau actuel directement dans le contexte de l’appareil d’affichage.)
Si la BITMAP
structure pointée par le lpBitmap
paramètre a été remplie à l’aide de la GetObject
fonction, les bits de la bitmap ne sont pas spécifiés et la bitmap n’est pas initialisée. Pour initialiser la bitmap, une application peut utiliser une fonction telle que CDC::BitBlt
ou SetDIBits
pour copier les bits de la bitmap identifiée par le premier paramètre de CGdiObject::GetObject
la bitmap créée par CreateBitmapIndirect
.
Lorsque vous avez terminé avec l’objet CBitmap
créé avec CreateBitmapIndirect
la fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap
.
CBitmap::CreateCompatibleBitmap
Initialise une bitmap compatible avec l’appareil spécifié par pDC
.
BOOL CreateCompatibleBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Paramètres
pDC
Spécifie le contexte de l’appareil.
nWidth
Spécifie la largeur (en pixels) de l’image bitmap.
nHeight
Spécifie la hauteur (en pixels) de l’image bitmap.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
La bitmap a le même nombre de plans de couleurs ou le même format bits par pixel que le contexte d’appareil spécifié. Il peut être sélectionné comme bitmap actuelle pour n’importe quel appareil mémoire compatible avec celui spécifié par pDC
.
S’il pDC
s’agit d’un contexte d’appareil mémoire, la bitmap retournée a le même format que la bitmap actuellement sélectionnée dans ce contexte d’appareil. Un « contexte d’appareil mémoire » est un bloc de mémoire qui représente une surface d’affichage. Il peut être utilisé pour préparer des images en mémoire avant de les copier dans la surface d’affichage réelle de l’appareil compatible.
Lorsqu’un contexte d’appareil mémoire est créé, GDI sélectionne automatiquement une bitmap de stock monochrome pour celle-ci.
Étant donné qu’un contexte d’appareil de mémoire de couleur peut avoir sélectionné des bitmaps de couleur ou monochromes, le format de la bitmap retournée par la CreateCompatibleBitmap
fonction n’est pas toujours le même ; toutefois, le format d’une bitmap compatible pour un contexte d’appareil non-mémoire est toujours au format de l’appareil.
Lorsque vous avez terminé avec l’objet CBitmap
créé avec la CreateCompatibleBitmap
fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap
.
CBitmap::CreateDiscardableBitmap
Initialise une bitmap ignorée compatible avec le contexte de l’appareil identifié par pDC
.
BOOL CreateDiscardableBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Paramètres
pDC
Spécifie un contexte d’appareil.
nWidth
Spécifie la largeur (en bits) de la bitmap.
nHeight
Spécifie la hauteur (en bits) de la bitmap.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
La bitmap a le même nombre de plans de couleurs ou le même format bits par pixel que le contexte d’appareil spécifié. Une application peut sélectionner cette bitmap comme bitmap actuelle pour un appareil mémoire compatible avec celui spécifié par pDC
.
Windows peut ignorer une bitmap créée par cette fonction uniquement si une application ne l’a pas sélectionnée dans un contexte d’affichage. Si Windows ignore la bitmap lorsqu’elle n’est pas sélectionnée et que l’application tente ultérieurement de la sélectionner, la CDC::SelectObject
fonction retourne NULL.
Lorsque vous avez terminé avec l’objet CBitmap
créé avec la CreateDiscardableBitmap
fonction, sélectionnez d’abord la bitmap hors du contexte de l’appareil, puis supprimez l’objet CBitmap
.
CBitmap::FromHandle
Retourne un pointeur vers un CBitmap
objet lorsqu’un handle est donné à une bitmap GDI Windows.
static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);
Paramètres
hBitmap
Spécifie une bitmap GDI Windows.
Valeur de retour
Pointeur vers un CBitmap
objet en cas de réussite ; sinon NULL
.
Notes
Si un CBitmap
objet n’est pas déjà attaché au handle, un objet temporaire CBitmap
est créé et attaché. Cet objet temporaire CBitmap
est valide uniquement jusqu’à la prochaine fois que l’application a un temps d’inactivité dans sa boucle d’événements, auquel cas tous les objets graphiques temporaires sont supprimés. Une autre façon de dire ceci est que l’objet temporaire n’est valide que pendant le traitement d’un message de fenêtre.
CBitmap::GetBitmap
Récupère les propriétés d’image pour la bitmap jointe.
int GetBitmap(BITMAP* pBitMap);
Paramètres
pBitMap
Pointeur vers une BITMAP
structure qui recevra les propriétés de l’image. Ce paramètre ne doit pas être NULL
.
Valeur de retour
Différent de zéro si la méthode a réussi ; sinon 0.
Notes
CBitmap::GetBitmapBits
Copie le modèle de bits de la bitmap jointe dans la mémoire tampon spécifiée.
DWORD GetBitmapBits(
DWORD dwCount,
LPVOID lpBits) const;
Paramètres
dwCount
Nombre d’octets à copier dans la mémoire tampon.
lpBits
Pointeur vers la mémoire tampon qui recevra la bitmap.
Valeur de retour
Nombre d’octets copiés dans la mémoire tampon si la méthode a réussi ; sinon 0.
Notes
Permet CBitmap::GetBitmap
de déterminer la taille de mémoire tampon requise.
CBitmap::GetBitmapDimension
Retourne la largeur et la hauteur de la bitmap.
CSize GetBitmapDimension() const;
Valeur de retour
Largeur et hauteur de la bitmap, mesurées en unités de 0,1 millimètre. La hauteur se trouve dans le cy
membre de l’objet CSize
, et la largeur se trouve dans le cx
membre. Si la largeur et la hauteur bitmap n’ont pas été définies à l’aide SetBitmapDimension
de , la valeur de retour est 0.
Notes
La hauteur et la largeur sont supposées avoir été définies précédemment à l’aide de la SetBitmapDimension
fonction membre.
CBitmap::LoadBitmap
Charge la ressource bitmap nommée par lpszResourceName
ou identifiée par le numéro d’ID dans nIDResource
le fichier exécutable de l’application.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Paramètres
lpszResourceName
Pointe vers une chaîne terminée par null qui contient le nom de la ressource bitmap.
nIDResource
Spécifie le numéro d’ID de ressource de la ressource bitmap.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
La bitmap chargée est attachée à l’objet CBitmap
.
Si la bitmap identifiée par lpszResourceName
n’existe pas ou si la mémoire est insuffisante pour charger la bitmap, la fonction retourne 0.
Vous pouvez utiliser la fonction pour supprimer la CGdiObject::DeleteObject
bitmap chargée par la LoadBitmap
fonction, ou le CBitmap
destructeur supprime l’objet pour vous.
Attention
Avant de supprimer l’objet, vérifiez qu’il n’est pas sélectionné dans un contexte d’appareil.
Les bitmaps suivantes ont été ajoutées aux versions 3.1 et ultérieures de Windows :
OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI
Ces bitmaps sont introuvables dans les pilotes de périphérique pour les versions 3.0 et antérieures de Windows. Pour obtenir la liste complète des bitmaps et un affichage de leur apparence, consultez le Kit de développement logiciel (SDK) Windows.
CBitmap::LoadMappedBitmap
Appelez cette fonction membre pour charger une bitmap et mapper les couleurs aux couleurs système actuelles.
BOOL LoadMappedBitmap(
UINT nIDBitmap,
UINT nFlags = 0,
LPCOLORMAP lpColorMap = NULL,
int nMapSize = 0);
Paramètres
nIDBitmap
ID de la ressource bitmap.
nFlags
Indicateur pour une bitmap. Peut être égal à zéro ou CMB_MASKED
.
lpColorMap
Pointeur vers une COLORMAP
structure qui contient les informations de couleur nécessaires pour mapper les bitmaps. Si ce paramètre est NULL
le cas, la fonction utilise la carte de couleurs par défaut.
nMapSize
Nombre de cartes de couleurs pointées par lpColorMap
.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Par défaut, LoadMappedBitmap
mappe les couleurs couramment utilisées dans les glyphes de bouton.
Pour plus d’informations sur la création d’une bitmap mappée, consultez la fonction CreateMappedBitmap
Windows et la COLORMAP
structure dans le Kit de développement logiciel (SDK) Windows.
CBitmap::LoadOEMBitmap
Charge une bitmap prédéfinie utilisée par Windows.
BOOL LoadOEMBitmap(UINT nIDBitmap);
Paramètres
nIDBitmap
Numéro d’ID de la bitmap Windows prédéfinie. Les valeurs possibles sont répertoriées ci-dessous à partir de WINDOWS.H
:
OBM_BTNCORNERS
OBM_BTSIZE
OBM_CHECK
OBM_CHECKBOXES
OBM_CLOSE
OBM_COMBO
OBM_DNARROW
OBM_DNARROWD
OBM_DNARROWI
OBM_LFARROW
OBM_LFARROWD
OBM_LFARROWI
OBM_MNARROW
OBM_OLD_CLOSE
OBM_OLD_DNARROW
OBM_OLD_LFARROW
OBM_OLD_REDUCE
OBM_OLD_RESTORE
OBM_OLD_RGARROW
OBM_OLD_UPARROW
OBM_OLD_ZOOM
OBM_REDUCE
OBM_REDUCED
OBM_RESTORE
OBM_RESTORED
OBM_RGARROW
OBM_RGARROWD
OBM_RGARROWI
OBM_SIZE
OBM_UPARROW
OBM_UPARROW
OBM_UPARROWD
OBM_ZOOM
OBM_ZOOMD
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Les noms bitmap commençant OBM_OLD
par représenter des bitmaps utilisées par les versions de Windows antérieures à la version 3.0.
Notez que la constante OEMRESOURCE
doit être définie avant d’inclure WINDOWS.H
afin d’utiliser l’une OBM_
des constantes.
CBitmap::operator HBITMAP
Utilisez cet opérateur pour obtenir le handle GDI Windows attaché de l’objet CBitmap
.
operator HBITMAP() const;
Valeur de retour
En cas de réussite, un handle vers l’objet GDI Windows représenté par l’objet CBitmap
; sinon NULL
.
Notes
Cet opérateur est un opérateur de cast, qui prend en charge l’utilisation directe d’un HBITMAP
objet.
Pour plus d’informations sur l’utilisation d’objets graphiques, consultez Objets graphiques dans le Kit de développement logiciel (SDK) Windows.
CBitmap::SetBitmapBits
Définit les bits d’une bitmap sur les valeurs de bits données par lpBits
.
DWORD SetBitmapBits(
DWORD dwCount,
const void* lpBits);
Paramètres
dwCount
Spécifie le nombre d’octets pointés par lpBits
.
lpBits
Pointe vers le BYTE
tableau qui contient les valeurs de pixel à copier dans l’objet CBitmap
. Pour que la bitmap puisse afficher correctement son image, les valeurs doivent être mises en forme pour être conformes aux valeurs de hauteur, de largeur et de profondeur de couleur spécifiées lors de la création de l’instance CBitmap
. Pour plus d’informations, consultez CBitmap::CreateBitmap
.
Valeur de retour
Nombre d’octets utilisés pour définir les bits bitmap ; 0 si la fonction échoue.
CBitmap::SetBitmapDimension
Affecte une largeur et une hauteur à une bitmap en unités de 0,1 millimètre.
CSize SetBitmapDimension(
int nWidth,
int nHeight);
Paramètres
nWidth
Spécifie la largeur de la bitmap (en unités de 0,1 millimètre).
nHeight
Spécifie la hauteur de la bitmap (en unités de 0,1 millimètre).
Valeur de retour
Dimensions bitmap précédentes. La hauteur se trouve dans la cy
variable membre de l’objet CSize
, et la largeur se trouve dans la cx
variable membre.
Notes
L’ID de groupe n’utilise pas ces valeurs, sauf pour les renvoyer lorsqu’une application appelle la GetBitmapDimension
fonction membre.