DuiLib都支持Bitmap图片,但就不能icon图标,实际上用到Icon的地方还蛮多的,后来自己先办法看能不能写个专门的控件的来显示icon图片(以前看过一篇文章《修改stb_image.c以让Duilib直接支持Ico格式的图标显示》http://www.cnblogs.com/memset/p/dui_with_ico.html,但试过了好像显示有问题,联系作者他也说这中方法有bug,所以大家可以用我这种方法试下,代码比较简单,有待完善的地方欢迎大家联系我 :)) 先定义头文件(直接加到DuiLib的库中)
#pragma once
namespace DuiLib
{
//
// CIconUI
class UILIB_API CIconUI : public DuiLib::CControlUI
{
friend class CIconWnd;
public:
CIconUI(void);
~CIconUI(void);
LPCTSTR GetClass() const;
LPVOID GetInterface(LPCTSTR pstrName);
void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
void SetPos(RECT rc);
void SetInset(RECT rc);
void SetVisible(bool bVisible);
void SetInternVisible(bool bVisible);
void DoPaint(HDC hDC, const RECT& rcPaint);
void DoEvent(TEventUI& event);
private:
DuiLib::CDuiString m_sIcoImage;
RECT m_rcInset;
};
}
</