欢迎来到天天文库
浏览记录
ID:17383485
大小:67.50 KB
页数:22页
时间:2018-08-30
《中南大学数学院大三年级面向对象实验报告43421》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++面向对象程序设计实验报告姓名:班级:学号:实验一,画线在visualC++6.0里面文件->新建->工程里面的MFCAppwizard[EXE]除了第二步选单文档,基本上都是默认的。建一个文件进行一下操作intm;CPointp1,p2;在构造函数里面初使化mCZuoBiaoView::CZuoBiaoView(){//TODO:addconstructioncodeherem=0;}在资源文件Menu中的IDR_MAINFRAME中添加消息句柄OnLButtonDown,OnLButtonUp,OnMouseM
2、ove.再回到ZuoBiaoView.cpp中编译一下程序voidCZuoBiaoView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCClientDCdc(this);m=1;p1=point;CView::OnLButtonDown(nFlags,point);}voidCZuoBiaoView::OnLButtonUp(UINTnFlags,CPointpoint){//T
3、ODO:Addyourmessagehandlercodehereand/orcalldefaultp2=point;CClientDCdc(this);OnPrepareDC(&dc);dc.MoveTo(p1);dc.LineTo(p2);m=0;CView::OnLButtonUp(nFlags,point);}voidCZuoBiaoView::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcallde
4、faultstaticintn=0;switch(++n){case1:p2=point;break;case2:p1=p2;p2=point;n=0;break;}CClientDCdc(this);OnPrepareDC(&dc);if(m==1){dc.MoveTo(p1);dc.LineTo(p2);}CView::OnMouseMove(nFlags,point);}实验二,创建菜单用MFC创建菜单按钮具体的制作过程:首先,生成一个MFCAppWizardEXE工程生成一个以CButton为基类的新类,名为C
5、MenuButton,然后用ClassWizard为其添加两个成员函数:DrawItem()和PreSubclassWidnow();手工为CMenuButton类添加BOOL类型m_bDrawFocusRect成员变量,用于决定是否在按钮上画焦点矩形,添加SetDrawFocusRect()函数用于设置这个标志,默认为画焦点矩形;添加两个枚举类型的变量m_ArrowType和m_PopupPos,用于决定所画的箭头的类型和菜单弹出的位置。箭头可为右箭头、下箭头、小右箭头、小下箭头、上箭头和左箭头;菜单的弹出位置可以为
6、按钮的左上角、右上角、左下角和右下角。最后手工添加两个函数,SetArrowType()和SetMenuPopupPos(),用于设置以上各种风格,其默值分别为画右箭头和在左下角弹出。如果只需要菜单而不需要画箭头,只需置空BS_OWNERDRAW标志位即可,添加一个SetStyle()函数,用于设置是画箭头还是显示文本,其默认值是画箭头。为方便处理按钮的BN_CLICKED通知消息,为CMenuButton类创建一个公有的成员函数OnClick(),以便在BN_CLICKED的消息处理器中调用。它有两个参数,第一个是菜
7、单资源的ID,第二个参数为子菜单的ID,默认为0。如果只有一组子菜单,则可使用其默认值0。OnClick()函数的返回值为所选的菜单项的命令ID,若未作任何有效选择,则返回0。下面是程序代码。头文件:#if!defined(_EWAY_MEMUBUTTON_H__INCLUDED_)#define_EWAY_MEMUBUTTON_H__INCLUDED_#if_MSC_VER>=1000#pragmaonce#endif//_MSC_VER>=1000//MenuButton.h:headerfile//classCM
8、enuButton:publicCButton{public:CMenuButton();virtual~CMenuButton();DECLARE_DYNAMIC(CMenuButton)enumArrowType{arrowRight,//向右的箭头;arrowDown,//向下的箭头;arrowSmallRight,//向右
此文档下载收益归作者所有