如何在static上显示位图

1 拖动一个Static到对话框上,如何在这个Static上添加资源中的位图?

为这个static控件关联一个变量: Cstatic m_static;

然后在对话框的初始化函数中:

       //加载位图

       CBitmap bmp;

       bmp.LoadBitmap(IDB_BITMAP1);

       m_static.SetBitmap(bmp);

 

效果没有

为什么呢?需要为这个static添加一个属性:SSBMP

//加载位图

       CBitmap bmp;

       bmp.LoadBitmap(IDB_BITMAP1);

       m_static.ModifyStyle(0,SS_BITMAP);

       m_static.SetBitmap(bmp);

 

 

还是没有,为什么呢?

因为bmp为局部变量,函数结束就销毁了。因此将之定义为类的成员变量,或全局变量。

就OK了。

 

2 如何动态的创建一个Cstatic 然后添加位图资源呢?

在类中定义    CStatic myStatic;//一定是在类中定义

然后在对话框的初始化函数中:

//加载位图

      

       bmp.LoadBitmap(IDB_BITMAP1);

//    m_static.ModifyStyle(0,SS_BITMAP);

//    m_static.SetBitmap(bmp);

      

 

       // Create a child static control that centers its text horizontally.

       myStatic.Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER|SS_BITMAP,

              CRect(10,10,150,50), this);

       myStatic.SetBitmap(bmp);

 

没有位图出现,这是怎么回事呢?

去掉SS_CENTER就好了。为什么呢?

个人理解:一个现象,拖动一个Picture到对话框上,然后看看属性:

如果要为这个Picture关联变量,选择控件类型的话,只有Cstatic,因此Picture也是Cstatic,Picture属性有Frame Rectangle Icon Bitmap 和 Enhanced Metafile那么Cstatic也有这几个属性,如SS_BLACKFRAME SS_BLACKRECT SS_ICON SS_BITMAP.

http://blog.csdn.net/zlc19876/article/details/5355023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值