- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计
Visual C++.NET
实验报告
数学科学与计算技术学院
姓名:
学号:
班级:
指导教师:
模式对话框及通用对话框的使用
实验目的
掌握对话框中数据交换的技术。常用控件的使用,CfileDialog的使用
实验内容
求两个正整数的最小公倍数和最大公约数,用一个函数求最大公约数,用另一个函数求最小公倍数。要求:两正整数从对话框输入。将最大公约数和最小公倍数在ondraw()的函数中输出。
三、实验步骤
1.创建工程(单文档)
工程的“资源视图”处—右击—添加—资源—Dialog—新建
左键双击上图
设置类名等
点击完成
添加菜单项,使得点击菜单时出现这个窗口:
(1).资源视图—menu —双击IDR_MAINFRAME
(2). 添加菜单名称为“对话框”:
(3).在右边出现的属性中将Popup设置为“false”;
.将ID设置为:
右击“对话框”—添加时间处理器—放在View类里编辑—添加编辑
在view类里添加所需要的头文件: #include TestDlg.h
9.在需要响应的地方添加代码:
启动调试,生成如图
在对话框上面添加一个按钮
.在最右边点击“工具箱”
。出现如图
。将一个按钮拖到对话框—右击按钮—选择属性—在属性栏将ID改为IDC_BTN_ADD caption改为Add
添加几个静态的文本框控件(选择一个控件,再按住Ctrl进行拖动就能“复制”)
我们添加三个就够了。然后将3个都选上 可以在窗口的左上角发现对齐的图标
然后选择“左对齐”
再添加几个编辑框,使用同样的方法设置她们的大小
.利用成员变量操控3个编辑框
右击文本框—添加变量—将类别改为value—将变量类型改为int—设置变量名—完成
实现“Add”功能
右击选择添加事件处理器,在TestDialog里
这样加法就实现了
12,再添加3个按钮齐全加减乘除功能:
同样将其ID分别改为IDC_BTN_ADD IDC_BTN_JIAN IDC_BTN_CHENG IDC_BTN_CHU
分别添加事件处理器
UpdateData();//数据切换
这样加减乘除的功能就都有了
但是由于我们定义其变量的时候是int型,所以可能导致除数本来不为0但结果为0
例如 4/6等于0
运行结果如下图:
实验: GDI绘图之鼠标绘图
1、实验思路
鼠标绘图,利用OnLButtonDown、OnLButtonUp和OnMouseMove函数,实现鼠标画图功能。鼠标点击后激发OnLButtonDown,用m_bMouseDown记录鼠标状态。按下鼠标后记录鼠标当前位置,鼠标移动后激发OnMouseMove函数进行绘图。当松开鼠标,OnMouseMove记录当前位置,绘制完毕。
void 鼠标绘制View::MouseDraw(void)
{
if(!m_PntList.GetCount ())
return;
CPoint Pnt;
Pnt=m_PntList.GetHead ();
CDC* pDC=GetDC();
pDC-MoveTo(Pnt);
POSITION pos=m_PntList.GetHeadPosition();
while(1)
{
Pnt=m_PntList.GetNext (pos);
pDC-LineTo (Pnt);
if(pos==NULL)
break;
}
}
void 鼠标绘制View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(!m_MouseDraw)
return;
if(GetCapture()!=this)
return;
CClientDC dc(this);
dc.MoveTo (m_PrePnt);
dc.LineTo (point);
m_PrePnt=point;
m_PntList.AddTail(point);
ReleaseCapture();
CView::OnLButtonUp(nFlags, point);
}
void 鼠标绘制View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(!m_MouseDraw)
return;
SetCapture();
m_PrePnt
文档评论(0)