VISUALC++实践指导教程习题答案.docx

上传人:无*** 文档编号:68311430 上传时间:2022-12-27 格式:DOCX 页数:145 大小:619.78KB
返回 下载 相关 举报
VISUALC++实践指导教程习题答案.docx_第1页
第1页 / 共145页
VISUALC++实践指导教程习题答案.docx_第2页
第2页 / 共145页
点击查看更多>>
资源描述

《VISUALC++实践指导教程习题答案.docx》由会员分享,可在线阅读,更多相关《VISUALC++实践指导教程习题答案.docx(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Visual C+实践指导教程习题答案目录第1章31 32 3第2章53 64 75 76 207 31第3章52152360667第4章681 682 693 704 715 72第5章741 742 753 764 785 796 80第6章831 832 853 864 925 126第章15411543 1584 1605 1626 164第8章1641 1642 1644164第9章172117231791.(1)实践结果(2)控件属性表无(3)程序源代码void CMdHelloView:OnDraw(CDC* pDC)(CMdHelloDoc* pDoc = GetDocumen

2、t();ASSERT. VALID(pDoc);/ TODO: add draw code for native data herepDC-TextOut(50,50,Hello World!);2.(1 )实践结果(2)控件属性表控件类型控件名ID类型成员LabelLabel 1IDC_STATIC(3)程序源代码BOOL CDlgHelloDlg:OnInitDialog()/ TODO: Add extra initialization herethis-SetDlgItemText(IDC_STATIC 这是个对话框程序”);return TRUE; / return TRUE unl

3、ess you set the focus to a control )(4)说明在此程序中使用了一个常用函数 BOOLSetDlgItemText( int nID, LPCTSTR IpszString ), 该函数实现了通过控件的ID号(nID)设置控件的显示文本(IpszString)与此对应的还有 UINT GetDlgItemText( int nID, LPTSTR IpStr, int nMaxCount) constBOOL GetDlgItemText( int nID, BSTR& bstrText) const详见MSDN1.(0实践结果(2)控件属性表略(3)程序源代

4、码略(4)说明参见实践1(创建菜单)中创建菜单的方法,为程序菜单添加“格式”菜单项,并在其 下添加子菜单项,分别为“自动换行”和“字体”,ID号分别为“IDC-AUTOLINE”和 “IDC一FONT”。控件类型控件名ID类型成员控件名ID类 型成 员Label Label 1 IDC_STATIC2.Label2.(1)实践结果(2)控件属性表 略(3)程序源代码1)参照练习1的方法添加在“文件”菜单项下添加显示子菜单项。2)为“显示”子菜单项添加事件处理函数OnShow。3)添加源代码void CMainFrame: :OnShow()(/ TODO: Add your command h

5、andler code hereCDC *pDC = this-GetDC();pDCTextOut(50,50J学习菜单处理程序”);1(4)说明绘图时,必须先获得设备环境,即CDCo在此程序中使用函数GetDC()获得设备环境 指针。3.(1)实践结果文件e)編辑集)查看9 帮助包)秋建(fi)Ctrl+H打开 ).Ctrl+0保存()Ctrl+S另存为).一(2)控件属性表略(3)程序源代码参照教材实践3(增加快捷键和加速键)1)将子菜单项“显示”的标题按钮修改为“显示(&D)”;2)打开加速键编辑器,将对应菜单项的KEY修改为D。(4)说明略4.(1)实践结果(2)控件属性表略(3)程

6、序源代码void CMenuCreateView:OnAddItem()(CWnd* pParent = GetParentO;CMenu* pMenu = pParent-GetMenu();CMenu* subMenu = pMenu-GetSubMenu( 1);subMenu-AppendMenu(MF_STRING | MF_ENABLED, 3000,”新菜单项)(4)说明添加新菜单项与为该菜单项添加事件响应函数的方法见上例。动态添加菜单项的步骤:首先定位待添加的菜单项,GetParent()函数用于获得当前窗体, pParent-GetMenu()与pMenu_GetSubMen

7、u用于获得当前窗体的菜单及待添加菜单项, AppendMenu ()用于执行自动添加菜单项的动作。(1)实践结果(2)控件属性表略(3)程序源代码1)添加消息映射,在视类中的消息映射宏中添加消息映射,添加代码显示如下:BEGIN一MESSAGE一MAP(CMenuCreateView, CView)ON_COMMAND(3GOO, OnMyMenuItem)END_MESSAGE_MAP()2)添加响应函数/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CMenuCreateView)public:protected

8、:afx_msg void OnMyMenuItem(); /AFX_VIRTUAL3)定义个字符串,并在构造函数中初始化 )定义个字符串,并在构造函数中初始化 定义个字符串,并在构造函数中初始化 义一个字符串,并在构造函数中初始化 个字符串,并在构造函数中初始化 个字符串,并在构造函数中初始化 字符串,并在构造函数中初始化 符串,并在构造函数中初始化 串,并在构造函数中初始化,并在构造函数中初始化 并在构造函数中初始化 在构造函数中初始化 构造函数中初始化 造函数中初始化 函数中初始化 数中初始化 中初始化 初始化 始化 化定义:定义: 义:class CMenuCreateView : p

9、ublic CView lass CMenuCreateView : public CView ass CMenuCreateView : public CView ss CMenuCreateView : public CView s CMenuCreateView : public CViewCMenuCreateView : public CView CMenuCreateView : public CView MenuCreateView : public CView enuCreateView: public CView nuCreateView : public CView uCr

10、eateView : public CView Create View : public CView reate View : public CView eate View : public CView ate View : public CView teView : public CView eView : public CView View : public CView iew : public CView ew : public CView w : public CView:public CView:public CView public CViewpublic CView ublic

11、CView blic CView lie CView ic CViewc CViewCViewCViewView iew ew w private:rivate:ivate:vate:ate:te:e:CString str;CString str;CString str;String str;tring str; ring str; ing str; ng str;gstr;str;str;tr;r;初始化:初始化:始化:化:CMenuCreateView:CMenuCreateView() MenuCreateView:CMenuCreateView() enuCreateView:CMe

12、nuCreateView() nuCreateView:CMenuCreateView() Create View: :CMenuCreate View() Create View: :CMenuCreateView() reate View: :CMenuCreateView() eate View: :CMenuCreateView() ate View: :CMenuCreateView() teView:CMenuCreateView() eView: :CMenuCreateView() View:CMenuCreateView() iew: :CMenuCreateView() e

13、w:CMenuCreateView() w: :CMenuCreateView() :CMenuCreateView() :CMenuCreateView() CMenuCreateView() MenuCreateView() enuCreateView() nuCreateView()Create View()CreateView() reate View() eateView() ateView() teView() eView() View() iew() ew() w() 0 )/ TODO: add construction code here/ TODO: add constru

14、ction code here/ TODO: add construction code here/ TODO: add construction code hereTODO: add construction code hereTODO: add construction code hereODO: add construction code hereDO: add construction code hereO: add construction code here:add construction code hereadd construction code hereadd constr

15、uction code heredd construction code hered construction code hereconstruction code hereconstruction code hereonstruclion code herenstruction code herestruction code heretruction code hereruction code hereuction code herection code heretion code hereion code hereon code heren code herecode herecode h

16、ereode here de here e herehere here ere restr =str4)实现响应函数 )实现响应函数 实现响应函数 现响应函数 响应函数 应函数 函数 数void CInsertItemView:OnMyMenultem() oid CInsertItemView:OnMyMenuItem() id CInsertItemView:OnMyMenuItem() d CInsertItemView:OnMyMenuItem()CInsertItem View: :OnMyMenuItem() CInsertItem View:OnMyMenuItem() Inse

17、rtltemView: :OnMy Menultem() nsertltemView: :OnMyMenuItem() sertltem View: :OnMyMenuItem() ertItemView:OnMyMenuItem() rtltemView: :OnMyMenuItem() them View: :OnMyMenuItem()Item View: :OnMyMenuItem() temView:OnMyMenuItem() emView:OnMyMenuItem() mView:OnMyMenuItem() View:OnMyMenuItem() iew: :OnMyMenuI

18、tem() ew:OnMyMenuItem() w:OnMyMenuItem() :OnMyMenuItem() :OnMyMenuItem() OnMyMenuItem() nMyMenuItem() MyMenuItem() yMenuItem()Menultem() enultem() nultem() ultem() Item() tem() em() m() 0 )str= 你选中了新添加的菜单项”; SU二”你选中了新添加的菜单项”; tr二”你选中了新添加的菜单项”; r = 你选中了新添加的菜单项”;廿你选中了新添加的菜单项”; 二”你选中了新添加的菜单项”;”你选中了新添加的

19、菜单项”; ”你选中了新添加的菜单项”; 你选中了新添加的菜单项”; 选中了新添加的菜单项”; 中了新添加的菜单项”; 了新添加的菜单项”; 新添加的菜单项”; 添加的菜单项”; 加的菜单项”; 的菜单项”;菜单项”;单项”;项”;Invalidate(); Invalidate(); nvalidate(); validate(); alidate(); lidate(); idate(); date(); ate(); te(); e();0;);5)绘图5)绘图 )绘图 绘图图图 图void CMenuCreateView:OnDraw(CDCsf! pDC) void CMenuCre

20、ateView: :OnDraw(CDC* pDC) oid CMenuCreateView:OnDraw(CDC* pDC) id CMenuCreateView:OnDraw(CDC* pDC) d CMenuCreateView: :OnDraw(CDC* pDC)CMenuCreateView:OnDraw(CDC* pDC) CMenuCreateView:OnDraw(CDC* pDC) MenuCreateView:OnDraw(CDC* pDC) enuCreateView:OnDraw(CDC;: pDC) nuCreateView:OnDraw(CDC* pDC) uCre

21、ateView:OnDraw(CDC* pDC) Create View: :OnDraw(CDC* pDC) reate View: :OnDraw(CDC* pDC) eate View: :OnDraw(CDC* pDC) ate View: :OnDraw(CDC* pDC) teView:OnDraw(CDC* pDC) eView:OnDraw(CDC* pDC) View:OnDraw(CDC* pDC) iew:OnDraw(CDC* pDC) ew:OnDraw(CDC* pDC) w:OnDraw(CDC* pDC) :OnDraw(CDC* pDC) :OnDraw(CD

22、C* pDC) OnDraw(CDC* pDC) nDraw(CDC* pDC) Draw(CDC* pDC) raw(CDC* pDC) aw(CDC* pDC) w(CDC* pDC) (CDC* pDC)CDC* pDC)DC*pDC)C*pDC)*pDC)pDC)pDC) DC) C) )CMenuCreateDoc* pDoc = GetDocument(); CMenuCreateDoc* pDoc = GetDocument(); MenuCreateDoc* pDoc = GelDocument。; enuCreateDoc* pDoc = GetDocument(); nuC

23、reateDoc* pDoc = GetDocument(); uCreateDoc* pDoc = GetDocument(); CreateDoc* pDoc = GetDocument();reate Doc* pDoc = GetDocument();eateDoc* pDoc = GetDocument(); ateDoc* pDoc = GetDocument(); teDoc* pDoc = GetDocument(); eDoc* pDoc = GetDocument();Doc* pDoc = GetDocument();oc* pDoc = GetDocument(); c

24、* pDoc = GetDocument();* pDoc = GetDocument(); pDoc = GetDocument();pDoc = GetDocument(); Doc = GetDocument(); oc = GetDocument(); c = GetDocumentO;=GetDocument(); =GetDocument();GetDocument(); GetDocument(); etDocumentO; lDocument(); Document(); ocument(); cument(); ument(); ment(); ent(); nt(); t(

25、); 0; );ASSERT_VALID(pDoc);ASSERT_VALID(pDoc);SSERTVALID(pDoc);SERT_VALID(pDoc);ERT_VALID(pDoc);RT_VALID(pDoc);T_VALID(pDoc);_VALID(pDoc);VALID(pDoc);ALID(pDoc);LID(pDoc);ID(pDoc);D(pDoc);(pDoc);pDoc);Doc);oc);c););/ TODO: add draw code for native data here / TODO: add draw code for native data here

26、 / TODO: add draw code for native data here TODO: add draw code for native data hereTODO: add draw code for native data here ODO: add draw code for native data here DO: add draw code for native data here O: add draw code for native data here :add draw code for native data here add draw code for nati

27、ve data here add draw code for native data here dd draw code for native data here d draw code for native data here draw code for native data heredraw code for native data here raw code for native data here aw code for native data here w code for native data here code for native data herecode for nat

28、ive data here ode for native data here de for native data here e for native data here for native data herefor native data here or native data here r native data here native data here native data here ative data here tive data here ive data here ve data here e data heredata heredata here ata here ta

29、here a hereherehereere repDC-TextOut(20,20, str);pDC-TextOut(20,20, str);DC-TextOut(20,20, str);C-TextOut(20,20, str);-TextOut(20,20, str);TextOut(20,20, str);TextOut(20,20, str);exlOut(20,20, str);xtOut(20,20, str);tOut(20,20, str);Out(20,20, str);ut(20,20, str);t(2O,2O, str);(20,20, str);20,20, st

30、r);0,20, str);,20, str);20, str);0, str);,str);str);str);tr);r););)(4)说明4)说明)说明说明明明 明动态添加菜单项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 动态添加菜单项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 态添加菜单项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 添加菜单项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 加菜单项处理时,须定义菜单项消息与响应函数之间的映射关系O此处通过 菜单项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 单项处

31、理时,须定义菜单项消息与响应函数之间的映射关系。此处通过 项处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过ON_COMMAND(3000, 处理时,须定义菜单项消息与响应函数之间的映射关系。此处通过ON_COMMAND(3000, 理时,须定义菜单项消息与响应函数之间的映射关系。此处通过ON_COMMAND(3000, 时,须定义菜单项消息与响应函数之间的映射关系。此处通过ON-COMMAND(3000, ,须定义菜单项消息与响应函数之间的映射关系。此处通过ON-COMMAND(3000, 须定义菜单项消息与响应函数之间的映射关系。此处通过ON-COMMAND。, 定义菜单项消息与

32、响应函数之间的映射关系。此处通过ON-COMMAND(3000, 义菜单项消息与响应函数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem) 菜单项消息与响应函数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem) 单项消息与响应函数之间的映射关系。此处通过ON-COMMAND。, OnMyMenuItem)来 项消息与响应函数之间的映射关系。此处通过ON一COMMAND(3000, OnMyMenuItem)来实 消息与响应函数之间的映射关系。此处通过ON-COMMAND(3000, OnMyMenuItem)来实现。 息与响应

33、函数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem)来实现。 与响应函数之间的映射关系。此处通过ON-COMMANDQOOO, OnMyMenuItem)来实现。响应函数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem)来实现。 应函数之间的映射关系。此处通过ON-COMMAND。, OnMyMenuItem)来实现。函数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem)来实现。数之间的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem)来实现。之间的映射关系。此处

34、通过ON一COMMAND(3000, OnMyMenuItem)来实现。间的映射关系。此处通过ON_COMMAND(3QOO, OnMyMenuItem)来实现。的映射关系。此处通过ON_COMMAND(3000, OnMyMenuItem)来实现。映射关系。此处通过ON一COMMAND(3000, OnMyMenuItem)来实现。射关系。此处通过 ON_COMMAND(30(X), OnMyMenuItem)来实现。关系。此处通过 ON一COMMAND(3000, OnMyMenuItem)来实现。系。此处通过 ON_COMMAND(3000, OnMyMenuItem)来实现。此处通过

35、ON_COMMAND(3000, OnMyMenuItem)来实现。此处通过 ON_COMMAND(3000, OnMyMenuItem)来实现。处通过 ON_COMMAND(3000, OnMyMenuItem)来实现。通过 ON_COMMAND(30GO, OnMyMenuItem)来实现。过 ON一COMMAND。, OnMyMenuItem)来实现。ON_COMMAND(3000, OnMyMenuItem)来实现。N_COMMAND(3000, OnMyMenuItem)来实现。_COMMAND(3000, OnMyMenuItem)来实现。COMMAND(3000, OnMyMen

36、uItem)来实现。OMMAND(3000, OnMyMenuItem)来实现。MMAND(3000, OnMyMenuItem)来实现。MAND(3000, OnMyMenuItem)来实现。AND(3000, OnMyMenuItem)来实现。ND(3000, OnMyMenuItem)来实现。D(3000, OnMyMenuItem)来实现。(3000, OnMyMenuItem)来实现。3000, OnMyMenuItem)来实现。000, OnMyMenuItem)来实现。 00, OnMyMenuIlem)来实现。 0, OnMyMenuItem)来实现。 ,OnMyMenuIle

37、m)来实现。OnMyMenuItem)来 实现。 OnMyMenuItem)来实现。 nMyMenuItem)来实现。 MyMenuhem)来实现。 yMenuItem)来实现。 Menullem)来实现。 enultem)来实现。 nullem)来实现。 ultem)来实现。Item)来实现。 tem)来实现。 em)来实现。 m)来实现。 )来实现。 来实现。 实现。 现。6.(1)实践结果 1 )实践结果 )实践结果 实践结果 践结果 结果 果(2)控件属性表 2)控件属性表 )控件属性表 控件属性表 件属性表 属性表 性表 表(3)程序源代码3)程序源代码)程序源代码程序源代码序源代码

38、 源代码 代码 码在MainFnn.cpp的新函数OnCreate。中加入如下代码: MainFmn.cpp的新函数OnCreate。中加入如下代码: ainFrm.cpp的新函数OnCreate。中加入如下代码: inFrm.cpp的新函数OnCreaie。中加入如下代码: nFrm.cpp的新函数nCreate。中加入如下代码: Frm.cpp的新函数OnCreate。中加入如下代码: rm.cpp的新函数OnCreate。中加入如下代码: m.cpp的新函数OnCreale。中加入如下代码:cpp的新函数OnCreate()中加入如下代码: cpp的新函数OnCreate。中加入如下代码

39、:pp的新函数OnCreate。中加入如下代码: p的新函数OnCreate。中加入如下代码: 的新函数OnCreate()中加入如下代码: 新函数OnCreale。中加入如下代码: 函数OnCreate()中加入如下代码:数OnCreate。中加入如下代码:OnCreate。中加入如下代码:nCreate。中加入如下代码:Create。中加入如下代码:reate()中加入如下代码:eate。中加入如下代码:ale。中加入如下代码:te()中加入如下代码: e()中加入如下代码: 。中加入如下代码: )中加入如下代码: 中加入如下代码: 加入如下代码:入如下代码:如下代码:下代码:代码:码:i

40、f (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP f (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS.TOP(!m_wndToolBar.CreateEx(this, TBSTYLE.FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP (!m_wndToolBar.CreateEx(this, TBSTYLE.FLAT, VS_CHILD | WS_VISIBLE

41、| CBRS.TOP !m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS.CHILD | WS_VISIBLE | CBRS_TOP m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CH1LD | WS.V1SIBLE | CBRS_TOP _wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP wndToolBar.CreateEx(this, TBSTYLE.FLAT, WS_CHILD | WS_VISIBLE |

42、CBRS.TOP ndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP dToolBar.CreateEx(this, TBSTYLE.FLAT, VS_CHILD | WS.VISIBLE | CBRS.TOP ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS.VISIBLE | CBRS.TOP oolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS.TOP olBar.Cre

43、ateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP !Bar.CreateEx(this, TBSTYLE.FLAT, WS_CHILD | WS.VISIBLE | CBRS_TOP Bar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS.VISIBLE | CBRS_TOP ar.CreateEx(this, TBSTYLE.FLAT, WS_CH1LD | WS_VISIBLE | CBRS_TOP r.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | W

44、S.VISIBLE | CBRS_TOP .CreateEx(this, TBSTYLE.FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP reateEx(this, TBSTYLE_FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP eateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP ateEx(this, TBSTYLE.FLAT, WS_CHIL

45、D | WS.VISIBLE | CBRS_TOP teEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS.TOP eEx(this, TBSTYLE.FLAT, WS_CHILD | WS.VISIBLE | CBRS.TOP Ex(this, TBSTYLE_FLAT, WS.CHILD | WS_VISIBLE | CBRS_TOP x(this, TBSTYLE_FLAT, WS_CHILD | WS.VISIBLE | CBRS.TOP (this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBR

46、S.TOP this, TBSTYLE.FLAT, WS_CH1LD | WS_V1SIBLE | CBRS_TOP his, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP is, TBSTYLE_FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP s, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS.TOP ,TBSTYLE_FLAT, WS_CHILD | WS.VISIBLE | CBRS.TOPTBSTYLE.FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP TBSTYLE.FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP BSTYLE.FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP STYLE.FLAT, WS.CHILD | WS.VISIBLE | CBRS_TOP TYLE.FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP YLE_FLAT, WS.CHILD | WS-VISIBLE | CBRS.TOP LE.FLAT, WS.CHILD | WS.VISIBLE | CBRS.TOP E.FL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁