注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

慵懒的乌龟

——若有,且珍惜~

 
 
 

日志

 
 

在CStatic静态文本框中,显示位图,控制位图大小  

2011-11-25 10:55:32|  分类: C/C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 假设文本框控件变量为 m_Static,为此文本框添加位图有两种方式:

     一是:文本框随位图大小而改变   一是:位图尺寸与文本框尺寸相同,这两种方式都是通过修改Dlg::OnInitDialog()函数来实现的

 

 

     方式一:静态文本框大小随位图大小而改变

 

     步骤:

 

     在工程中添加位图资源:IDB_BITMAP

 

    首先创建位图对象

 

    CBitmap bitmap;

 

     其次装载位图

 

    bitmap.LoadBitmap(IDB_BITMAP);

 

    然后修改静态文本框类型

 

    m_Static.ModifyStyle(NULL,SS_BITMAP,SWP_NOSIZE);

 

    最后,为静态文本框设置位图

 

     m_Static.SetBitmap((HBITMAP)bitmap.Detach());

 

 

  1. //创建位图对象  
  2. bm;  
  3.   
  4. //加载位图资源  
  5. itmap(IDB_BITMAP1);  
  6.   
  7. //修改静态文本框类型  
  8. ModifyStyle(NULL,SS_BITMAP,SWP_NOSIZE);  
  9.   
  10. //为文本框加载位图  
  11. SetBitmap((HBITMAP)bm.Detach());  
     

 

              

   

        使用这种方法无法控制位图大小,尝试多多种修改方法,均无法完成,只好用下面的方法,直接从文件读取指定大小的位图

 

 

       方式二:图尺寸与文本框尺寸相同

 

        

         步骤:

 

       一):首先获取静态文本框大小

 

                  CRect rect;

                  m_Static.GetWindowRect(&rect);

 

        二):使用LoadImage从文件读取指定大小位图

 

                 HBITMAP hBmp= (HBITMAP)::LoadImage(NULL,_T("F://1.bmp"),IMAGE_BITMAP,rect.Width(),rect.Height(),LR_LOADFROMFILE);

 

        三):修改文本框类型及向文本框加载位图

 

     

        m_Staic.ModifyStyle(NULL,SS_BITMAP);
        m_Staic.SetBitmap(hBmp);

                   

 

  

  1. CRect rect;  
  2. m_Staic.GetWindowRect(&rect);  
  3.   
  4. HBITMAP hBmp=(HBITMAP)::LoadImage(0,_T("F://1.bmp"),IMAGE_BITMAP,rect.Width(),rect.Height(),LR_LOADFROMFILE);  
  5.   
  6.   
  7.  m_Staic.ModifyStyle(NULL,SS_BITMAP);  
  8.  m_Staic.SetBitmap(hBmp);  



  评论这张
 
阅读(1297)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017