资源描述:
《vc++面向对象编程教程(第2版)(王育坚 编著)部分答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4-21略4-25右击CSDIlineDoc选中AddMemberVariable,VariableType:int;VariableName:m_nx;在CSDIlineDoc中单击m_nx,在程序中输入m_ny;在OnNewDocument()程序中输入m_nx=300;m_ny=300;在OnDraw()程序中输入pDC->MoveTo(0,0);pDC->LineTo(pDoc->m_nx,pDoc->m_ny);运行程序即可。4-27右击CSDIView选中AddMemberVariable,VariableType:int;Vari
2、ableName:m_nx;在CSDIView中单击m_nx,在程序中输入x,y;在view中的ClassWizard中选中MassageMaps,classname选中CSDIView,在Massage中选中WM-LBUTTONDOWN单击AddFunction最后单击OK;在OnLButtonDown中输入:m_nx++;x=point.x;y=point.y;Invalidate();在OnDraw中输入:CStringstrOutput;strOutput.Format("左击鼠标的次数:%d",m_nx);pDC->TextOut(x
3、,y,strOutput);5-31建立一个单文档程序。在ResourceView页面中选择Menu并展开,双击IDR_MAINFARME项弹出菜单资源编辑器,双击菜单空白框,打开菜单项属性对话框;在Caption中输入“我的菜单”双击“我的菜单”下的空白框ID:ID_show;Caption:显示文本双击“显示文本”下的空白框ID:ID_draw;Caption:画圆View下ClassWizard中选中MassageMaps,classname选中CSDIView,在ObjectIDs中选中ID_show,在Massage中选中COMMAN
4、D,单击AddFunction最后单击OK;同样为ID_draw添加命令函数。为CSDIView设置整形变量a;在函数Onshow中添加代码:a=1;Invalidate();在函数Ondraw中添加代码:a=2;Invalidate();最后在CSDIView类中的OnDraw函数中输入代码:if(a==1)pDC->TextOut(10,10,"这是单文本文档");if(a==2)pDC->Ellipse(10,10,300,300);运行程序即可。5—49首先为视图类CMyLIneView添加成员变量,在视图类CMyLIneView的头文
5、件中添加代码:CPointm_ptOrigin;boolm_bDragging;HCURSORm_hCross;在视图类CMyLIneView的构造函数中添加代码:m_bDragging=false;m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);利用类向导添加按下鼠标左键WM_LBUTTONDOWN,移动鼠标WM_MOUSEMOVE和释放鼠标左键WM_LBUTTONUP的消息处理函数;在WM_LBUTTONDOWN函数中添加代码:SetCapture();::SetCursor(m_hC
6、ross);m_ptOrigin=point;m_bDragging=true;为CMyLIneView类添加整形变量m,n,x,y;在WM_MOUSEMOVE函数中输入代码:if(m_bDragging){m=m_ptOrigin.x;n=m_ptOrigin.y;Invalidate();x=point.x;y=point.y;Invalidate();}在WM_LBUTTONUP函数中输入代码:if(m_bDragging){m_bDragging=false;ReleaseCapture();}在OnDraw()函数中输入代码:pDC-
7、>Ellipse(m,n,x,y);pDoc->SetModifiedFlag();运行程序即可。6-25通过Insert选择Resource的Dialog;添加两个静态文本控件,输入文本:“输入X坐标:”“输入Y坐标”,采用同样的方法为对话框模板添加两个EditBox通过ClassWizard类向导,在AddingaClass对话框中单击OK按钮,打开NewClass对话框,在Name中写入CRadiusDialog。单击MemberVariables标签,在ClassName下拉框选择类CRadiusDialog,在ControlIDs栏选
8、择编辑框IDC_EDIT1、IDC_EDIT2,单击AddVariable按钮弹出MemberVariable对话框,为两个编辑框添加两个名为m_x,