快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

betvlctor伟德官网登录:巧用boost库实现字符串映射消息处理函数



Boost库其实是一个博大年夜博识的库。颠末实验,我发明巧用boost::bind和boost::fbetvlctor伟德官网登录unction可以实现一些奇妙的设计。

编写过MFC法度榜样的同伙都知道,经由过程资本编辑器编辑菜单项,设定菜单项ID,然后MFC内部经由过程该ID来映射菜单敕令处置惩罚函数和菜单界面更新函数。我设想撇开MFC的资本编辑,在MFC法度榜样中经由过程xml文件来进行界面设置设置设备摆设摆设,然后使用字符串来映射消息betvlctor伟德官网登录处置惩罚函数。借助boost库,我实现了这一设想。详细便是在 xml文件指定一个字符串,然后经由过程这个字符串就能找到它的敕令消息处置惩罚函数和界面更新敕令消息处置惩罚函数。

下面详细谈谈怎么实现这一设想。我必要办理的是两大年夜问题:一是经由过程xml文件来动态创建界面;二是根据xml文件里指定的菜单项字符串找到它的敕令消息处置惩罚函数。

第一个问题相对简单。首先我谈谈我的系统界面设置设置设备摆设摆设xml文件的设计。我的系统界面设置设置设备摆设摆设xml文件对照简单,详细如下:

xml version="1.0" encoding="GB2312" standalbetvlctor伟德官网登录one="no" ?>

BoostBind>

Framework AppName="boost库测试法度榜样 V1.0" company="BigHardware company" url="http:www.BigHardware.com" />

UIDescription>

AppMenuBar valid="1" caption="文件(F)">

MenuItem valid="1" identity="file_new"caption="新建" />

MenuItem valid="1" identity="file_open"caption="打开" />

AppMenuBar>

AppMenuBar valid="1" caption="编辑(E)">

MenuItem valibetvlctor伟德官网登录d="1" identity="edit_copy"caption="拷贝" />

MenuItem valid="1" identbetvlctor伟德官网登录ity="edit_paste"caption="粘贴" />

AppMenuBar>

UIDescription>

BoostBind>

您可能还会对下面的文章感兴趣: