实验三MFC应用程序编程和运行机制
实验三MFC应用程序编程和运行机制
【实验目的】
1、了解和使用VC++6.0集成开发环境。
2、熟悉VC环境的基本命令和功能键,熟悉常用的功能菜单命令。
3、学会创建简单的MFC应用程序。
4、理解Windows程序的消息机制和编程模式。
5、理解MFC类库结构。
6、掌握AppWizard自动生成程序框架的步骤。
7、了解Windows程序运行结构。
8、掌握利用VC++的MFC类库设计面向对象应用程序的过程。
【实验内容】
1、创建一个单文档应用程序Li1_1 。
2、完善上述应用程序Li1_1,使用资源编辑器编辑图标、串表和版本信息。
3、创建一个单文档应用程序,求1-10中的偶数和,使用断点调试及单步调试功能调试程序。//插入OnDraw
参考代码:
int num[5]={2,4,6,8,10};
int sum=0;
for(int i=1;i<=5;i++)//i=0;i<5
sum=sum+num[i];//求和
CString strSum;//将int型数据转换为Cstring型
strSum.Format("%d",sum);
pDC->TextOut(0,0,"2~10中偶数的和是:"+strSum);//输出结果//0,0是坐标4、编写一个单文档应用程序,当单击时,在消息窗口中显示“鼠标左键被按下!”,当右击时,则显示“鼠标右键被按下!”。
提示:添加应用程序视图类的左键按下和右键按下的消息映射。
参考代码:
void CXiTi2_1View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("鼠标左键被按下");
CView::OnLButtonDown(nFlags, point);
}
void CXiTi2_1View::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("鼠标右键被按下");
CView::OnRButtonDown(nFlags, point);
}
5、编写一个单文档应用程序,在视图窗口中显示自己的姓名和班级。
参考代码:
void CXiTi2_2View::OnDraw(CDC* pDC)
{
CXiTi2_2Doc* pDoc = GetDocument();
ASSERT_V ALID(pDoc);
// TODO: add draw code for native data here
pDC->TextOut(100,100,"我的学号是:***********,班级是:计算机教育1班"); }
6、编写一个单文档应用程序,当按下“A”键时,在消息窗口中显示“输入字
符A!”。
提示:添加应用程序视图类的输入字符wm_char的消息,其响应函数为:
参考代码:
void CXiTi2_3View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar=='A'||nChar==’a’)
MessageBox("输入字符A!");
else
MessageBox("输入其它字符");
CView::OnChar(nChar, nRepCnt, nFlags);
}
7、编写一个单文档应用程序,程序运行后,首先在视图窗口中输入文本,然后
通过键盘上的光标键控制该文本向上、向下、向左、向右4个方向移动。参考代码:
public:
int x,y;
CString m_string;
CSy2View::CSy2View()
{
// TODO: add construction code here
x=50;
y=50;
m_string.Empty();
}
void CSy2View::OnDraw(CDC* pDC)
{
CSy2Doc* pDoc = GetDocument();
ASSERT_V ALID(pDoc);
// TODO: add draw code for native data here
pDC->TextOut(x,y,m_string);
}
WM_Char消息响应函数:
void CSy2View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) {
// TODO: Add your message handler code here and/or call default
m_string+=nChar;
Invalidate();
CView::OnChar(nChar, nRepCnt, nFlags);
}
WM_Keydown消息响应函数:
void CSy2View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) {
// TODO: Add your message handler code here and/or call default
switch(nChar)
{
case VK_LEFT:
x--;
break;
case VK_RIGHT:
x++;
break;
case VK_UP:
y--;vb采用什么的编程机制
break;
case VK_DOWN:
y++;
}
Invalidate();
CView::OnKeyDown(nChar, nRepCnt, nFlags);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论