换肤对话框的选中框。

1.先准备列表用的xml

<listitem height="68">
  <dlg pos="0,0,-0,-0" crbg="FFFFFF">
    <memframeimage id="6401"  pos="2,2,60,37"  skin="panel"></memframeimage>
    <memframeimage id="6402"  pos="63,2,121,37" skin="panel" ></memframeimage>
    <memframeimage id="6403"  pos="125,2,182,37" skin="panel"></memframeimage>
  </dlg>
</listitem>

2.定制memframeimage 相关类。

class CBkMemoryFrameImage : public CBkMemoryImage
{
	BKOBJ_DECLARE_CLASS_NAME(CBkMemoryFrameImage, "memframeimage")

		CBkMemoryFrameImage()
		:m_nSubImageID(-1)
		,m_nShowFrame(0)
	{
	}
public:

	// Do nothing
	void OnPaint(CDCHandle dc)
	{
		__super::OnPaint(dc);

		if (m_pSkin && m_nShowFrame == 1)
		{
			CRect rc;
			HBRUSH hBrush = CreateSolidBrush(RGB(0,228,255));
			FrameRect(dc,m_rcWindow,hBrush);
		}
	}

protected:
	BKWIN_BEGIN_MSG_MAP()
		MSG_WM_PAINT(OnPaint)
		BKWIN_END_MSG_MAP()

		BKWIN_DECLARE_ATTRIBUTES_BEGIN()
		BKWIN_SKIN_ATTRIBUTE("skin", m_pSkin, TRUE)
		BKWIN_INT_ATTRIBUTE("sub", m_nSubImageID, FALSE)
		BKWIN_INT_ATTRIBUTE("showframe", m_nShowFrame, FALSE)
		BKWIN_DECLARE_ATTRIBUTES_END()

protected:
	int m_nSubImageID;
	int m_nShowFrame;
	CBkSkinBase *m_pSkin;//用来画边框
};




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值