在DuiLib中实现自定义控件,和QT重载类似,也是继承原有的控件只不过是要将这个控件也能在xml中进行使用。当作xml中的一个节点。下面就看一下我写的一个小例子,这个例子是重载了一个按钮(CButtonUI)。
重载CButtonUI的头文件(SubControl.h):
#ifndef SUBCONTROL_H
#define SUBCONTROL_H
#include "..\DuiLib\UIlib.h"
using namespace DuiLib;
class CButtonEXUI : public CButtonUI
{
public:
CButtonEXUI();
~CButtonEXUI();
public:
virtual LPCTSTR GetClass() const;
virtual LPVOID GetInterface(LPCTSTR pstrName);
virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
void SetButtonText(LPCTSTR text);
};
#endif //SUBCONTROL_H
实现文件(SubControl.cpp):
#include "SubControl.h"
CButtonEXUI::CButtonEXUI()
{
}
CButtonEXUI::~CButtonEXUI()
{
}
LPCTSTR CButtonEXUI::GetClass() const
{
// 这个是类名,去掉开头的是C字符
return _T("ButtonEXUI");
}
LPVOID CBu

本文介绍了如何在DuiLib中通过继承CButtonUI创建自定义控件CButtonEXUI,详细讲解了重载过程,包括头文件和实现文件的编写,以及如何在XML中使用这个自定义控件。通过一个简单的登录窗口示例展示了自定义控件的使用方法和效果。
最低0.47元/天 解锁文章
2593

被折叠的 条评论
为什么被折叠?



