Partager via


CStatic::SetBitmap

Associates a new bitmap with the static control.

HBITMAP SetBitmap(
   HBITMAP hBitmap 
);

Parameters

  • hBitmap
    Handle of the bitmap to be drawn in the static control.

Return Value

The handle of the bitmap that was previously associated with the static control, or NULL if no bitmap was associated with the static control.

Remarks

The bitmap will be automatically drawn in the static control. By default, it will be drawn in the upper-left corner and the static control will be resized to the size of the bitmap.

You can use various window and static control styles, including these:

  • SS_BITMAP   Use this style always for bitmaps.

  • SS_CENTERIMAGE   Use to center the image in the static control. If the image is larger than the static control, it will be clipped. If it is smaller than the static control, the empty space around the image will be filled by the color of the pixel in the upper left corner of the bitmap.

  • MFC provides the class CBitmap, which you can use when you have to do more with a bitmap image than just call the Win32 function LoadBitmap. CBitmap, which contains one kind of GDI object, is often used in cooperation with CStatic, which is a CWnd class that is used for displaying a graphic object as a static control.

CImage is an ATL/MFC class that lets you more easily work with device independent bitmaps (DIB). For more information, see CImage Class.

  • Typical usage is to give CStatic::SetBitmap a GDI object that is returned by the HBITMAP operator of a CBitmap or CImage object. The code to do this resembles the following line.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));

The following example creates a CStatic object, sets some properties, and then calls LoadBitmap to obtain an image.

Example

CStatic myStatic;

// Create a child bitmap static control.
myStatic.Create(_T("my static"), 
   WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(10,10,150,50), 
   pParentWnd);

// If no bitmap is defined for the static control, define the bitmap 
// to the system close bitmap.
if (myStatic.GetBitmap() == NULL)
   myStatic.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));

Requirements

Header: afxwin.h

See Also

Reference

CStatic Class

Hierarchy Chart

CStatic::GetBitmap

STM_SETIMAGE

Bitmaps

CBitmap Class

CImage Class

Other Resources

CStatic Members