让DuiLib支持Icon图片显示

本文介绍如何在DuiLib中添加CIconUI控件,使其支持Icon图片的显示。通过创建CIconUI类,实现了从XML中读取icon属性并加载图标的功能,解决了DuiLib原生不支持Icon格式的问题。详细步骤包括头文件和cpp文件的修改,以及UIDlgBuilder.cpp中的注册新控件。
摘要由CSDN通过智能技术生成
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;
	};	
}

</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值