为什么使用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);就可以了。
此问题由李海回答。
| |
|
|
| |
|
|