金山卫士开源软件之旅(六) 添加控件CBkEdit与CbkCombo

 

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

代码:

http://www.rayfile.com/zh-cn/files/43e39bde-8b68-11e1-8d11-0015c55db73d/

测试工程参考我的另一篇文章金山卫士开源软件之旅(二) 简单教程:如何创建一个基于金山卫士界面库的工程>>:

http://blog.csdn.net/chenyujing1234/article/details/7399014

 

最近在金山开源文坛上学习了网友添加控件的方法,这里做个综合,分享给大家.

添加的步骤(以CBkEdit为例):

1、完成控件bkwndedit.h代码。

具体实现方法请参考代码,这里主要分析加入的控件与外部的接口

class CBkEdit : public CBkWindow
{
 BKOBJ_DECLARE_CLASS_NAME(CBkEdit, “edit”)

……..

}

 

上面的宏中classname就是我们在IDR_BK_MAIN_DIALOG(即res\dlg_main.xml 文件,这个文件名可设定的)

中要加入的节点的控件名字.这在下面会讲到.

2、在bkwndpanel.h中添加头文件

     #include “bkwndedit.h”

    并在inline CBkWindow* CBkPanel::_CreateBkWindowByName(LPCSTR lpszName)

   添加代码

第二步是根据XML主界面文件中的

编辑框

节点前名edit传给lpszName,然后根据名字去调用CheckAndNew函数。这个函数就是上第1点中讲到的宏里定义的.

这里补充讲一下加载过程,让大家明白做第二步的原因.=========================================================================================

金山卫士开源软件之旅(六) 添加控件CBkEdit与CbkCombo

 

而红色函数 BOOL LoadChilds(TiXmlElement* pTiXmlChildElem)

的实现是

里面的CreateBkWindowByName函数就是我们修改的部分,如果没有添加的话那么就不会去创建CBkEdit对象了.

 

3、在主界面文件中添加节点

 


     用户名:
    编辑框
 
   
 
==============================================================================================

 

 参考文章:

http://bbs.code.ijinshan.com/thread-1861-1-1.html

 

来源:Jackchenyj

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年3月18日
下一篇 2012年3月19日

相关推荐