实验三 MFC应用程序编程和运行机制

更新时间:2023-12-27 04:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 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(\

pDC->TextOut(0,0,\~10中偶数的和是:\输出结果//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_VALID(pDoc);

// TODO: add draw code for native data here

pDC->TextOut(100,100,\我的学号是:20101011111,班级是:计算机教育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_VALID(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--; break;

case VK_DOWN: y++; }

Invalidate();

CView::OnKeyDown(nChar, nRepCnt, nFlags); }

本文来源:https://www.bwwdw.com/article/dw0x.html

Top