我想知道如何CBitmap从CImageMFC 代码中获取 a 。
问题是MSDN告诉我使用from 句柄CImage::m_hBitmap生成CBitmap。但不幸的是,CImage::m_hBitmap它是私有的CImage。我有什么错吗?
代码摘自MSDN:
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image.m_hBitmap);
Run Code Online (Sandbox Code Playgroud)
谢谢!
m_hBitmap要直接使用该对象来获取句柄CImage。MSDN 上的在线帮助似乎未正确更新。
MFC 开发人员添加了一个运算符HBITMAP,因此从CImage到的转换HBITMAP无需用户干预即可进行。
允许访问m_hBitmapheader 的内联代码atlimage.h:
inline CImage::operator HBITMAP() const throw()
{
return (m_hBitmap);
}
Run Code Online (Sandbox Code Playgroud)
为了有一个工作代码image.m_hBitmap必须替换为imageonly。
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image);
Run Code Online (Sandbox Code Playgroud)
就是这样。
编辑:我也找到了替代解决方案,请参阅此处。
| 归档时间: |
|
| 查看次数: |
6190 次 |
| 最近记录: |