热情软件屋

 

为什么使用SetBitmap在pushbutton上放位图失败


编号:QA004393
建立日期: 2001年9月4日 最后修改日期:2001年9月4日
所属类别:

钱红燕:
    操作系统: windows2000 profesional
    编程工具: vc++6,0
    问题: 你好,
    我想在普通的pushbutton上放位图,放不上。
    代码如下,请问你问题出在哪儿?
    CBitmap bitmap;
    bitmap.LoadBitmap(IDB_BITMAP1);
    HBITMAP hMyBitmap=(HBITMAP)bitmap;
    m_Button.SetBitmap(hMyBitmap);

回答:

    你必须在设计对话框时选择按钮的属性为Bitmap,否则SetBitmap不起作用。而且最好CBitmap bitmap定义为类成员或全局变量,因为如果m_Button.SetBitmap(hMyBitmap);后面没有语句就退出了函数,那么CBitmap bitmap会立即释放,导致按钮为空白的。除非你在m_Button.SetBitmap(hMyBitmap);后面有大量语句,可以保证CBitmap bitmap不会立即释放。另外HBITMAP hMyBitmap=(HBITMAP)bitmap;是多余的,直接使用m_Button.SetBitmap(bitmap);就可以了。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio