软件项目实训上机指导书.docx

上传人:b****5 文档编号:8805622 上传时间:2023-05-15 格式:DOCX 页数:54 大小:1.06MB
下载 相关 举报
软件项目实训上机指导书.docx_第1页
第1页 / 共54页
软件项目实训上机指导书.docx_第2页
第2页 / 共54页
软件项目实训上机指导书.docx_第3页
第3页 / 共54页
软件项目实训上机指导书.docx_第4页
第4页 / 共54页
软件项目实训上机指导书.docx_第5页
第5页 / 共54页
软件项目实训上机指导书.docx_第6页
第6页 / 共54页
软件项目实训上机指导书.docx_第7页
第7页 / 共54页
软件项目实训上机指导书.docx_第8页
第8页 / 共54页
软件项目实训上机指导书.docx_第9页
第9页 / 共54页
软件项目实训上机指导书.docx_第10页
第10页 / 共54页
软件项目实训上机指导书.docx_第11页
第11页 / 共54页
软件项目实训上机指导书.docx_第12页
第12页 / 共54页
软件项目实训上机指导书.docx_第13页
第13页 / 共54页
软件项目实训上机指导书.docx_第14页
第14页 / 共54页
软件项目实训上机指导书.docx_第15页
第15页 / 共54页
软件项目实训上机指导书.docx_第16页
第16页 / 共54页
软件项目实训上机指导书.docx_第17页
第17页 / 共54页
软件项目实训上机指导书.docx_第18页
第18页 / 共54页
软件项目实训上机指导书.docx_第19页
第19页 / 共54页
软件项目实训上机指导书.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件项目实训上机指导书.docx

《软件项目实训上机指导书.docx》由会员分享,可在线阅读,更多相关《软件项目实训上机指导书.docx(54页珍藏版)》请在冰点文库上搜索。

软件项目实训上机指导书.docx

软件项目实训上机指导书

 

软件项目实训(VisualC++)

上机实验指导书

 

 

武汉工程大学电气信息学院自动化教研室系

实验一VisualC++集成开发环境的使用

1、实验目的

熟悉VisualC++集成开发环境,了解菜单和工具栏的功能。

掌握生成应用程序框架的过程,熟悉解决方案资源管理器、类视图、资源视图,初步掌握文档-视图结构。

2、实验内容

(1)VisualC++的IDE环境

了解集成开发环境的菜单功能,掌握程序的编译、连接、运行及调试方法。

(2)应用程序的生成

能利用集成开发环境生成Singledocument、Multipledocuments、Dialogbased三个应用程序框架,熟悉握生成应用程序框架的步骤。

使用解决方案资源管理器、类视图、资源视图,浏览生成三个应用程序中包含的文件、类及资源信息,熟悉它们的作用。

初步掌握基于MFC的Windows应用程序框架结构,理解文档-视图结构。

 

实例1:

建立跨平台应用程序

目的:

使用AppWizard向导创建一个MFC应用程序,运行后只显示一个标准Windows窗口。

1)启动VS.NET,选择新建项目,类型选择“VC++项目”,模板选择“MFC应用程序”。

指定路径,输入项目名称,单击确定。

应用程序类型选择“单文档”;复合文档支持、数据库支持、用户界面、生成类等接受系统默认设置。

2)单击菜单“生成、生成解决方案”编辑程序;

3)单击菜单“调试、启动”运行程序。

 

实例2:

创建控制台应用程序

目的:

创建DOS界面的应用程序。

1)启动VS.NET,选择新建项目,类型选择“VC++项目”,模板选择“Win32项目”,指定路径,输入项目名称,单击确定。

应用程序类型选择“控制台应用程序”,选择“空项目”,单击“完成”

2)在“解决方案资源管理器”右键单击“源文件”,选择“添加、添加新项”。

选择“C++文件(.cpp)”,单击“打开”。

3)添加代码;

#include//预编译c++头文件

voidmain()

{

intx=0,y=0,sum=0;

//声明三个代表整数的符号:

x,y为两个被加的数,sum为和

//它们的初值都为0

cout<<"Enter2integersseparatedbyspace:

";

//界面提示用户输入

cin>>x>>y;//输入操作

sum=x+y;//加操作

cout<<"Thesumis:

"//界面:

提示用户将得到输出

<

<

}

单击菜单“生成、生成解决方案”编辑程序;

单击菜单“调试、启动”运行程序。

 

实例3:

应用程序窗口初始化

目的:

初始化Windows窗口。

1)启动VS.NET,选择新建项目,类型选择“VC++项目”,模板选择“MFC应用程序”。

指定路径,输入项目名称,单击确定。

应用程序类型选择“单文档”;复合文档支持、数据库支持、用户界面、生成类等接受系统默认设置。

2)添加代码:

在MainFrm.CPP中添加(黑体部分)

BOOLCMainFrame:

:

PreCreateWindow(CREATESTRUCT&cs)

{

if(!

CFrameWnd:

:

PreCreateWindow(cs))

returnFALSE;

//初始化应用程序窗口大小和位置

intxSize=:

:

GetSystemMetrics(SM_CXSCREEN);

intySize=:

:

GetSystemMetrics(SM_CYSCREEN);

cs.cx=xSize*2/3;

cs.cy=ySize*2/3;

cs.x=(xSize-cs.cx)/2;

cs.y=(ySize-cs.cy)/2;

cs.style&=~(WS_MAXIMIZEBOX|WS_MINIMIZEBOX);//去掉最小化和最大化按钮

cs.style&=~WS_THICKFRAME;//使窗口大小固定

cs.style&=~FWS_ADDTOTITLE;//去掉无标题

m_strTitle="MyProgram";//改变窗口标题内容

//TODO:

在此处通过修改CREATESTRUCTcs来修改窗口类或

//样式

 

returnTRUE;

}

3)单击菜单“生成、生成解决方案”编辑程序。

4)单击菜单“调试、启动”运行程序。

 

实例4:

改变应用程序窗口图标

目的:

对Windows窗口进行个性化设置。

1)启动VS.NET,选择新建项目,类型选择“VC++项目”,模板选择“MFC应用程序”。

指定路径,输入项目名称,单击确定。

应用程序类型选择“单文档”;复合文档支持、数据库支持、用户界面、生成类等接受系统默认设置。

2)打开资源视图窗口,删除“IDR_MAINFRAME”图标。

3)添加图标资源,设置图标ID为IDR_MAINFRAME。

4)单击菜单“生成、生成解决方案”编辑程序。

5)单击菜单“调试、启动”运行程序。

注意:

添加资源前,需要将添加的图标文件拷贝到对应项目文件夹的“res”文件夹中。

实验二文档、视图模型与MFC

1.实验目的

学习文档、视图模型。

包括文档、视图概念、作用和相互关系;掌握如何创建文档视图应用程序的方法;以及多文档视图界面应用程序的架构和创建方法。

2.实验内容

初步掌握基于MFC的Windows应用程序框架结构,理解文档-视图结构。

实例一:

滚动视图

1.新建项目

启动“VisualStudio.Net”,选择新建项目,类型选择“VisualC++项目”,模板选择“MFC应用程序”,输入项目名称t8,单击确定。

生成的类中,基类选择CscrollView,其他接受系统默认值,单击完成。

2.修改“t8view.cpp”文件中的代码:

voidCt8View:

:

OnInitialUpdate()

{

CScrollView:

:

OnInitialUpdate();

CSizesizeTotal;

//TODO:

计算此视图的合计大小

sizeTotal.cx=sizeTotal.cy=100;//此处100为出现滚动条时的窗口大小,将此值适当增大。

SetScrollSizes(MM_TEXT,sizeTotal);

}

3.编译运行程序

实例二:

分割视图

1.新建项目

启动“VisualStudio.Net”,选择新建项目,类型选择“VisualC++项目”,模板选择“MFC应用程序”,输入项目名称t9,单击确定。

用户界面功能中选择“拆分窗口”,其他接受系统默认值,单击完成。

2.修改“ChildFrm.cpp”文件中的代码:

BOOLCChildFrame:

:

OnCreateClient(LPCREATESTRUCT/*lpcs*/,CCreateContext*pContext)

{

returnm_wndSplitter.Create(this,

1,2,//TODO:

调整行号和列号

CSize(10,10),//TODO:

调整最小窗格大小

pContext);

}

3.编译运行程序

选择菜单命令“窗口、拆分”。

当前窗口将被拆分成指定样式。

实例三:

列表视图

1.新建项目

启动“VisualStudio.Net”,选择新建项目,类型选择“VisualC++项目”,模板选择“MFC应用程序”,输入项目名称listview,单击确定。

生成的类中,基类选择CListView,其他接受系统默认值,单击完成。

2.在listviewView.cpp中添加代码

BOOLCListViewView:

:

PreCreateWindow(CREATESTRUCT&cs)

{

//TODO:

在此处通过修改CREATESTRUCTcs来修改窗口类或

//样式

returnCListView:

:

PreCreateWindow(cs);

}

voidCListViewView:

:

OnInitialUpdate()

{

CListView:

:

OnInitialUpdate();

//TODO:

调用GetListCtrl()直接访问ListView的列表控件,

//从而可以用项填充ListView。

//设置列表控件的风格,为“报表”风格

GetListCtrl().ModifyStyle(0,LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SORTASCENDING);

//设置两种列表控件风格:

第一种扩展风格,在列表上画线,分隔行和列;第二种风格允许用户选中整行。

GetListCtrl().SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,

LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);

CDC*pDC=GetDC();//获得设备环境对象

TEXTMETRICtm;

pDC->GetTextMetrics(&tm);

//定义列表头

GetListCtrl().InsertColumn(0,"姓名",LVCFMT_LEFT,20*tm.tmAveCharWidth,0);

GetListCtrl().InsertColumn(1,"地址",LVCFMT_LEFT,80*tm.tmAveCharWidth,1);

}

//CListViewView诊断

3.编译运行程序

实验三对话框和控件基本知识

(一)

1.实验目的

学习对话框和控件的基本知识和应用。

3.实验内容

初步掌握模态对话框和非模态对话框的概念,了解各种Windows标准控件的功能和使用方法,以及对话框和控件的设计、初始化、通知消息等概念。

实例1:

设置对话框背景色

1.新建项目

类型:

VisualC++项目;模板:

MFC应用程序;项目名称:

BgColorDlg;应用程序类型:

基于对话框。

2.对话框编辑器

选择菜单“视图、资源视图”命令,打开资源视图编辑框,设置属性。

3.添加代码

(1)建立WM_CTLCOLOR消息的相应函数:

在属性框里,单击消息图标,设置WM_CTLCOLOR消息的相应函数为:

ONCtlColor。

(2)添加成员变量

在BgColorDlgDlg.h头文件中添加成员变量(斜体字)

//CBgColorDlgDlg对话框

classCBgColorDlgDlg:

publicCDialog

{

//构造

public:

CBgColorDlgDlg(CWnd*pParent=NULL);//标准构造函数

public:

CBrushm_brush;//创建画刷对象

在BgColorDlgDlg.cpp:

实现文件中添加以下代码:

SetIcon(m_hIcon,TRUE);//设置大图标

SetIcon(m_hIcon,FALSE);//设置小图标

//TODO:

在此添加额外的初始化代码

m_brush.CreateSolidBrush(RGB(255,255,200));//初始化画刷

returnTRUE;//除非设置了控件的焦点,否则返回TRUE

……

HBRUSHCBgColorDlgDlg:

:

OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)

{

HBRUSHhbr=CDialog:

:

OnCtlColor(pDC,pWnd,nCtlColor);

//TODO:

在此更改DC的任何属性

returnm_brush;

//TODO:

如果默认的不是所需画笔,则返回另一个画笔

//returnhbr;

}

4.编译执行程序

实例2:

模态对话框

1.新建项目

类型:

VisualC++项目;模板:

MFC应用程序;项目名称:

ModalDlg;应用程序类型:

单文档。

2.新建对话框

选择菜单“视图、资源视图”、打开资源视图编辑框,插入新对话框资源。

设计新对话框,标题为“模态对话框”。

3.添加代码

(1)增加一个头文件MyDlg.h

#pragmaonce

//CMyDlg对话框

classCMyDlg:

publicCDialog

{

DECLARE_DYNAMIC(CMyDlg)

public:

CMyDlg(CWnd*pParent=NULL);//标准构造函数

virtual~CMyDlg();

//对话框数据

enum{IDD=IDD_DIALOG1};

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持

DECLARE_MESSAGE_MAP()

};

(2)增加一个C++文件MyDlg.cpp

//MyDlg.cpp:

实现文件

//

#include"stdafx.h"

#include"ModalDlg.h"

#include"MyDlg.h"

//CMyDlg对话框

IMPLEMENT_DYNAMIC(CMyDlg,CDialog)

CMyDlg:

:

CMyDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CMyDlg:

:

IDD,pParent)

{

}

CMyDlg:

:

~CMyDlg()

{

}

voidCMyDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CMyDlg,CDialog)

END_MESSAGE_MAP()

(3)在资源视图中双击Menu、IDR_MAINFRAME,打开菜单编辑器,添加新菜单。

在视图菜单的状态栏下增加“模态对话框”菜单,并在其属性栏中将ID修改为ID_VIEW_MODALDLG。

选择菜单“视图、类视图”、选择CmodalDlgView类,打开其属性菜单;单击属性菜单中的事件按钮,选择ID_VIEW_MODALDLG,点击左侧的“+”号,选择“COMMAND”,在右侧为CmodalDlgView类添加菜单响应函数OnViewModaldlg()。

VoidCmodalDlgView:

:

OnViewModaldlg()

{

//TODO:

在此添加命令处理程序代码

CMyDlgm_Dlg;//创建自定义对话框对象

m_Dlg.DoModal();//启动对话框

}

(4)在ModalDlgView.cpp中的起始位置添加

#include"MyDlg.h"

4.编译、运行

运行程序,选择视图、模态对话框命令,显示模态对话框。

实例3:

非模态对话框

1.新建项目

类型:

VisualC++项目;模板:

MFC应用程序;项目名称:

ModallessDlg;应用程序类型:

单文档。

2.新建对话框

选择菜单“视图、资源视图”、打开资源视图编辑框,插入新对话框资源。

设计新对话框,标题为“非模态对话框”。

3.添加代码

(1)增加一个头文件MyDlg.h

#pragmaonce

//CMyDlg对话框

classCMyDlg:

publicCDialog

{

DECLARE_DYNAMIC(CMyDlg)

public:

CMyDlg(CWnd*pParent=NULL);//标准构造函数

virtual~CMyDlg();

//对话框数据

enum{IDD=IDD_DIALOG1};

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持

DECLARE_MESSAGE_MAP()

};

 

(2)增加一个C++文件MyDlg.cpp

#include"stdafx.h"

#include"ModallessDlg.h"

#include"MyDlg.h"

//CMyDlg对话框

IMPLEMENT_DYNAMIC(CMyDlg,CDialog)

CMyDlg:

:

CMyDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CMyDlg:

:

IDD,pParent)

{

}

CMyDlg:

:

~CMyDlg()

{

}

voidCMyDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CMyDlg,CDialog)

END_MESSAGE_MAP()

(3)在资源视图中双击Menu、IDR_MAINFRAME,打开菜单编辑器,添加新菜单。

在视图菜单的状态栏下增加“非模态对话框”菜单,并在其属性栏中将ID修改为ID_VIEW_MODALLESSDLG。

选择菜单“视图、类视图”、选择CmodallessDlgView类,打开其属性菜单;单击属性菜单中的事件按钮,选择ID_VIEW_MODALLESSDLG,点击左侧的“+”号,选择“COMMAND”,在右侧为CmodalDlgView类添加菜单响应函数OnViewModaldlg()。

在ModalDlgView.cpp中添加代码:

//ModallessDlgView.cpp:

CModallessDlgView类的实现

//

#include"stdafx.h"

#include"ModallessDlg.h"

#include"MyDlg.h"

#include"ModallessDlgDoc.h"

#include"ModallessDlgView.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#endif

//CModallessDlgView

IMPLEMENT_DYNCREATE(CModallessDlgView,CView)

BEGIN_MESSAGE_MAP(CModallessDlgView,CView)

//标准打印命令

ON_COMMAND(ID_FILE_PRINT,CView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT,CView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView:

:

OnFilePrintPreview)

ON_COMMAND(ID_VIEW_MODALLESSDLG,OnViewModallessdlg)

END_MESSAGE_MAP()

//CModallessDlgView构造/销毁

CModallessDlgView:

:

CModallessDlgView()

{

//TODO:

在此处添加构造代码

m_pDlg=NULL;//初始化指针对象

}

CModallessDlgView:

:

~CModallessDlgView()

{

if(m_pDlg!

=NULL)

{

deletem_pDlg;//释放指针对象空间

}

}

 

BOOLCModallessDlgView:

:

PreCreateWindow(CREATESTRUCT&cs)

{

//TODO:

在此处通过修改CREATESTRUCTcs来修改窗口类或

//样式

returnCView:

:

PreCreateWindow(cs);

}

//CModallessDlgView绘制

voidCModallessDlgView:

:

OnDraw(CDC*/*pDC*/)

{

CModallessDlgDoc*pDoc=GetDocument();

ASSERT_VALID(pDoc);

//TODO:

在此处为本机数据添加绘制代码

}

 

//CModallessDlgView打印

BOOLCModallessDlgView:

:

OnPreparePrinting(CPrintInfo*pInfo)

{

//默认准备

returnDoPreparePrinting(pInfo);

}

voidCModallessDlgView:

:

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

{

//TODO:

打印前添加额外的初始化

}

voidCModallessDlgView:

:

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

{

//TODO:

打印后添加清除过程

}

 

//CModallessDlgView诊断

#ifdef_DEBUG

voidCModallessDlgView:

:

AssertValid()const

{

CView:

:

AssertValid();

}

voidCModallessDlgView:

:

Dump(CDumpContext&dc)const

{

CView:

:

Dump(dc);

}

CModallessDlgDoc*CModallessDlgView:

:

GetDocument()const//非调试版本是内联的

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CModallessDlgDoc)));

return(CModallessDlgDoc*)m_pDocument;

}

#endif//_DEBUG

 

//CModallessDlgView消息处理程序

voidCModallessDlgView:

:

OnViewModallessdlg()

{

//TODO:

在此添加命令处理程序代码

if(m_pDlg==NULL)

{

m_pDlg=newCMyDlg;//为指针对象分配空间

m_pDlg->Create(IDD_DIALOG1,this);//创建对话框资源

}

m_pDlg->ShowWindow(SW_SHOW);//显示对话框

}

在ModallessDlgView.h文件中添加代码:

//ModallessDlgView.h:

CModallessDlgView类的接口

//

#include"MyDlg.h"

#pragmaonce

 

classCModallessDlgView:

public

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2