金山界面库分析_解析bkwin.docxVIP

  • 35
  • 0
  • 约2.4万字
  • 约 24页
  • 2019-01-18 发布于安徽
  • 举报
通过XML创建界面---对象的动态创建以及属性的设置 为了界面可配置化和换肤,需要界面元素可以根据XML动态创建和设置属性。 在BKLib中,CBkObject类就完成了这样的功能,主要负责类的创建和属性的设置。因为对象都是从XML动态创建的,动态的创建是一个类最基本的属性,所以其他类都从CBkObject派生。 来看看这个类的四个方法: BOOL IsClass(LPCSTR lpszName):判断是不是这个类的对象。纯虚方法,也就是从CBkObject继承来的类都要实现这个方法才行,同时,这个方法在不同的类上面会有不同的表现。所以上层定义接口,下层提供实现。这个方法可以在运行时检测类实例的实际类型。 LPCSTR GetObjectClass():同上一个方法,用于获取类的名字。 BOOL Load(TiXmlElement* pXmlElem):从XML中获取属性并将属性设置到对象中,在基类中仅仅是将一个XML元素的属性设置到对象中。当然,如果子类对象有更复杂的实现,比如一个对象对应的XML元素还有子节点,就需要Load其子节点,这些都可以在子类中通过覆盖父类方法来实现。 HRESULT SetAttribute(CStringA strAttribName, CStringA strValue, BOOL bLoading):设置属性的方法,CBkObject是纯虚类,在

文档评论(0)

1亿VIP精品文档

相关文档