当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 在编写游戏地图编辑器时涉及到菜单项的动态添加和动态响应,本文记录了碰到的一些问题和解决方法。
 

 

    摘要: 1.4.1 私有程序集 私有程序集是使程序集中最简单的类型。他们一班附带于软件上面并且也仅仅被该软件所用。一般情况下附带私有程序集的情况是这样的,你在编写一个由一个可执行文件和好几个类库组成的应用程序,而类库中的代码你只想让这个应用程序使用。 系统保证私有程序集不会被其他的软件所使用,因为应用程序只可以加载与主可执行文件在同一目录或者其子目录的私有程序集。 由于我们一般认为商业软件总是会......
 ·statspack之初体验    »显示摘要«
    摘要:呵呵,今晚之前从来没有做过statspack(好像有点丢人)。这几天一个数据库实在被折磨得不行了,明明sga_max_size有1.5g,但是实际看整个实例才用了200+m内存,慢得要死,频繁读写硬盘,偏偏硬盘又不是磁盘阵列,io狂慢,唉,痛苦啊。于是决定花点时间学下实例优化,今天打印了几页performance tuning guide的文档,读了读关于statspack的内容,在自己的笔记本上......


MFC中菜单项的动态添加、删除与响应
    在编写游戏地图编辑器时涉及到菜单项的动态添加与动态响应,本文记录了碰到的一些问题与解决方法.

    因为游戏地图是分层次存储与显示的,所以在编辑器主菜单中有个layer菜单,这个菜单中的菜单项除了一个"show only"菜单项与一个sperator,其它的菜单项是根据地图中的层数与层的名字动态添加的,所以在编译期无法知道菜单项的个数,也无法用on_command宏将这些菜单项与命令处理函数相关联.本来还有一个on_command_range宏,可以将某个范围内的id与一个command handler相关联,但是这样的话,我必须在这个宏中指定最大的id号.因为我不知道实际的地图到底会有多少层,所以我不想让动态添加的菜单项在id上有个上限. 【程序编程相关:灵活运用政务信息系统

【推荐阅读:两种“BBC”恢复损坏的Linux系统

    layer菜单的第一个菜单项是"show only",它响应了update_command_ui消息,我在这个响应函数里先删除"show only"之后的所有菜单项,然后检查地图实际有多少层,取得地图各层的名字,再根据实际的层数添加菜单项. 【扩展信息:RedHat7.2DNS的配置

    删除菜单项的代码如下:

nitemcount = playermenu->getmenuitemcount();

for (i = 2;i < nitemcount;i++)

{

    playermenu->deletemenu(i,mf_byposition);

}

    这样删除的话就有问题.因为我是根据菜单项的位置来删除的,而每执行一次

playermenu->deletemenu(i,mf_byposition)就少一个菜单项,其后的菜单项的位置偏移就会减一,最后删除的结果就非我所预期的了.

    解决办法是用mf_bycommand根据id来删除,或者

nitemcount = playermenu->getmenuitemcount();

for (i = 2;i < nitemcount;i++)

{


...   下一页
    摘要:分油问题 -、问题描述 分油问题:两个小孩去打油,一人带了一个一斤的空瓶,另一个带了一个七两和一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好合打了一斤油,在回家的路上,二人想平分这一斤油,可是又没有其它工具。现只用这三个瓶子(一斤、七两、三两)精确地分出两个半斤油来。 二、算法描述 f 算法选择 通过分析题目并结合深度优先、广度优先和迭代加深搜索的算法的特点以及有缺点,这里......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE