如何动态设置Picture图形控件的位图

由于picture控件是由CStatic创建而来的,所以

CStatic::Create

BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );

返回值:如果成功则返回非零值;否则返回0;

参数:

lpszText指定要放置在控件中的文本。如果是NULL,则表示没有文本是可见的。
dwStyle指定静态控件的窗口风格。任何静态控件风格的组合都可以用于这个控件。
rect指定静态控件的位置和大小。它可以是一个RECT结构或一个CRect对象。
pParentWnd指定CStatic父窗口,通常是一个CDialog对象。它不能是NULL。
nID指定静态控件的控件ID。

说明:
可以将下列窗口风格用于一个静态控件:
·WS_CHILD总要使用。
·WS_VISIBLE经常使用。
·WS_DISABLED很少使用。
如果你准备在此静态控件中显示一个位图,光标,图标,或图元文件,你必须使用下列风格之一:
·SS_BITMAP此风格用于位图。
·SS_ICON此风格用于光标和图标。
·SS_ENHMETAFILE此风格用于增强的图元文件。
对于光标,位图,或图标,你也可以使用下面的风格:
·SS_CENTERIMAGE用来使静态控件中的图像居中。 
    

所以实现方法如下:

//第一种办法

//之前要设置pictrue属性为bitmap;

 CStatic *pStatic = (CStatic*)GetDlgItem(IDC_STATIC);  //IDC_STATIC 图形控件的ID

if (pStatic != NULL)
{   
CStatic *pStatic = (CStatic*)GetDlgItem(IDC_STATIC);

   pStatic->SetBitmap(::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP1)));

}


//第二种方法

可以定义一个成员变量CBitmap m_Bitmap;

然后再你添加SetBitmap的地方添加:
HBITMAP hBM;
m_bitmap.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1));
hBM = (HBITMAP)m_bitmap.GetSafeHandle();
pStatic->SetBitmap(hBM);




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值