duilib 作为UI类库,很强大。设置控件背景图很方便,但是有时候会有这样的需求:把内存中的图片数据绘制到界面上。这时候duilib要怎么使用呢?
看代码
CControlUI* pCtrl=NULL;
CDuiString sCtrlKey = _T("your_key_name");
HBITMAP hBmp; // GDI方式获得图片句柄
if(pCtrl)
{
m_PaintManager.RemoveImage(sCtrlKey);
m_PaintManager.AddImage(sCtrlKey, hBmp, w, h, false);
pCtrl->SetBkImage(sCtrlKey);
}
使用很简单,三行函数搞定。
难点在于如何得到内存图片句柄 hBitmap。这个百度下: gdi 双缓冲绘图 即可。
有疑问欢迎联系