已有8人关注
《Visual C++ 从入门到精通》图书管理系统 自定义的菜单类使用问题,菜单字符重叠
发表在VC++答疑区 2017-06-20
是否精华
版块置顶:

我自己创建了一个工程。定义了菜单和工具栏,为了使菜单美观,使用《Visual C++ 从入门到精通》第20章图书管理系统中的方法将工具栏正确显示,但是使用自定义菜单类优化显示菜单出现问题。

1:添加代码方法

 a:将第20章图书管理系统的源代码文件MyCoolMenu.cpp和MyCoolMenu.h加入到我的工程中,修改包含的头文件和theApp类为CMyDlg声明

 b:在CMyDlg添加CMyCoolMenu m_menu成员。在OnInitDialog中添加代码m_menu.AttachMenu处理。

 c:.rc文件中关于菜单定义如下:

IDR_MENU_MAIN MENU DISCARDABLE 

BEGIN

    POPUP "测试设置管理    "

    BEGIN

        MENUITEM "被测设备设置",                ID_MENU_SETDEVICE1

        MENUITEM "陪测设备设置",                ID_MENU_SETDEVICE2

        MENUITEM "开始测试",                    ID_MENU_START

        MENUITEM "暂停测试",                    ID_MENU_SUSPEND

        MENUITEM "停止测试",                    ID_MENU_STOP

        MENUITEM "退出系统",                    ID_MENU_EXITSYS

    END

    POPUP "数据管理   "

    BEGIN

        MENUITEM "导出测试用例",                ID_MENU_OUTPUTDATA

        MENUITEM "测试用例修改",                ID_MENU_INPUTDATA

    END

    POPUP "结果查询   "

    BEGIN

        MENUITEM "测试结果查询",                ID_MENU_REPORT

    END

    POPUP "帮助  "

    BEGIN

        MENUITEM "关于",                        ID_MENU_ABOUT

    END

END


2:执行效果:

 a:若不在OnInitDialog中添加代码m_menu.AttachMenu处理菜单显示正常。

 b:添加m_menu.AttachMenu处理后出现问题:显示的菜单每个顶层菜单第一个字才显示,其余字被后面的菜单字符覆盖。书上虽然有关于MyCoolMenu.cpp代码注释说明,但是还是不明白,没有找到原因。错误显示效果如图:

错误图片.jpg


分享到:
精彩评论 2
吾之本性_1497939411
学分:3 LV1
2017-06-20
沙发

请各位帮忙看看,源代码就是光盘资料中的第20章 图书管理系统中的件MyCoolMenu.cpp和MyCoolMenu.h。菜单定义请看上面的.rc文件定义

大米粥
学分:1330 LV8
TA的每日心情
伤心
2017-05-02 10:51:31
2017-06-21
板凳

看你描述的看不出错误,能将出错源码传上来么

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照