Visual C MFCWord下载.docx

上传人:b****6 文档编号:21902202 上传时间:2023-02-01 格式:DOCX 页数:42 大小:171.16KB
下载 相关 举报
Visual C MFCWord下载.docx_第1页
第1页 / 共42页
Visual C MFCWord下载.docx_第2页
第2页 / 共42页
Visual C MFCWord下载.docx_第3页
第3页 / 共42页
Visual C MFCWord下载.docx_第4页
第4页 / 共42页
Visual C MFCWord下载.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

Visual C MFCWord下载.docx

《Visual C MFCWord下载.docx》由会员分享,可在线阅读,更多相关《Visual C MFCWord下载.docx(42页珍藏版)》请在冰豆网上搜索。

Visual C MFCWord下载.docx

Win32Dynamic-LinkLibraryWin32的动态连接库

Win32StaticLibraryWin32的静态连接库

一、建一个一般MFC的Windows应用程序,屏幕上出现一个空窗口。

(注意:

以后我们所建的应用程序一般都是此应用程序类型)

1、在E盘建一个文件夹,名为:

vcpp(存放你建的文件)

2、双击桌面上的MicrosoftVisualC++系统:

--->

File--->

New--->

Projects--->

MFCAppWizard(exe)见161页表(解释)-->

输入路径名vcpp(事先建好的文件夹)-->

输入文件名:

显示窗口-->

OK

(MFCAppWizard(exe)应用程序类型为:

一般MFC的Windows应用程序)

3、选SDI---->

一直缺省最后便建立了一个名为:

”显示窗口”的单文档应用程序---->

运行!

便出现一个空窗口。

注意:

见162---166页的制作过程(缺省各界面的情况)。

我们没作任何保存,它自动存在你的文件夹vcpp里,要删除它,找到你的vcpp文件夹里的这个文件就可以删除,以后你的VC++程序文件都要建在这里,千万不要乱建,乱存。

下面是VisualC++开发环境界面:

1、标题栏

2、选单栏

3、工具栏

4、项目工作区窗口

5、输出窗口

6、输出窗口标签

7、状态栏

8、文档窗口

见书第一页:

二、建一个一般MFC的Windows应用程序,屏幕上出现2行字。

1、按上面步骤建一个单文档应用程序名为:

显示2行字

2、在View.cpp中找到OnDraw(CDC*pDC)函数,写:

CStringstr1=“学好VisualC++走遍天下”;

CStringstr2=“改革开放的28年颂歌!

南山学院好!

”;

pDC->

TextOut(0,0,str1);

TextOut(0,20,str2);

运行后窗口显示2行字,如果显示带颜色的图形、文字等,以后会学到。

●OnDraw(CDC*pDC)是视图类中的显示函数

●CDC是设备环境类(在VisualC++5轻松进阶书56页中,有好多它的对象方法),*pDC是CDC的指针对象

●CString是处理字符的类。

●TextOut(x,y,str)是CDC类的显示函数,参数x,y是字符串在窗口中的显示位置。

三、理解程序框架

打开项目工作区里的ClassView或FileView可以看到MFC为我们自动创建了以下几个主要的类:

1、文件名App.h(cpp)应用程序类

CMyApp的基类是CWinApp,而CWinApp的基类又是CWinThread,CWinThread类是用来完成对线程(见后面的名词解释)的控制,包括对线程的创建、运行、终止和挂起等。

它实际上是Windows首先运行的内容,当这个程序开始时,它将会把主窗口放在屏幕上。

C或C++是从main()主函数开始执行,而VC++是从WinMain()函数开始执行,且WinMain()函数就是隐含在此应用程序中。

下面是显示2行字应用程序的头文件和执行文件:

(其他见书170页)

//显示2行字.h:

mainheaderfileforthe显示2行字application

#if!

defined(AFX_2_H__6CF87E54_5FC3_419D_B373_44264BFF449C__INCLUDED_)

#defineAFX_2_H__6CF87E54_5FC3_419D_B373_44264BFF449C__INCLUDED_

#if_MSC_VER>

1000

#pragmaonce

#endif//_MSC_VER>

#ifndef__AFXWIN_H__

#errorinclude'

stdafx.h'

beforeincludingthisfileforPCH

#endif

#include"

resource.h"

//mainsymbols

/////////////////////////////////////////////////////////////////////////////

//CMy2App:

//See显示2行字.cppfortheimplementationofthisclass

//

classCMy2App:

publicCWinApp我们用户的应用程序类CMy2App是从MFC基类

{CWinApp派生来的

public:

CMy2App();

应用程序本身的声明

//Overrides

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CMy2App)//是ClassWizard定义的专门用做虚函数重载的标记

public:

表示该程序块中的虚函数的重载是由ClassWizard

virtualBOOLInitInstance();

自动管理的,用户一般不需要去更改

//}}AFX_VIRTUAL//

//Implementation

//{{AFX_MSG(CMy2App)//是ClassWizard定义的专门用做消息映射声明的

afx_msgvoidOnAppAbout();

//NOTE-theClassWizardwilladdandremovememberfunctionshere.

//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!

//}}AFX_MSG//标记

DECLARE_MESSAGE_MAP()

};

//{{AFX_INSERT_LOCATION}}

//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.

#endif//!

//其中的一些注释是由MFCAppWizard为用户自动生成的,如果不需要这些//注释,可在应用程序向导的第五步对话框中,将“Wouldyouliketogenerate

//sourcefilecomments?

”项选为“No,thankyou“。

//显示2行字.cpp:

Definestheclassbehaviorsfortheapplication.

stdafx.h"

//预编译处理的头文件

显示2行字.h"

//应用程序类的头文件

MainFrm.h"

//主框架类的头文件

显示2行字Doc.h"

//文档类的头文件

显示2行字View.h"

//视图类的头文件

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

//CMy2App

BEGIN_MESSAGE_MAP(CMy2App,CWinApp)//消息映射开始

//{{AFX_MSG_MAP(CMy2App)//消息映射宏存放区

ON_COMMAND(ID_APP_ABOUT,OnAppAbout)//映射”帮助”选单项中的”关于显示2行//字”命令消息,当用户选择了该命令时,将执行函数OnAppAbout

//NOTE-theClassWizardwilladdandremovemappingmacroshere.

//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!

//}}AFX_MSG_MAP

//Standardfilebaseddocumentcommands

ON_COMMAND(ID_FILE_NEW,CWinApp:

:

OnFileNew)//映射”文件”选单项中的”新建”

//当用户选择了”新建”时,将相应执行CWinApp:

OnFileNew

ON_COMMAND(ID_FILE_OPEN,CWinApp:

OnFileOpen)//映射”文件”选单项中的”打开”

//当用户选择了”打开”时,将相应执行CWinApp:

OnFileOpen

//Standardprintsetupcommand

ON_COMMAND(ID_FILE_PRINT_SETUP,CWinApp:

OnFilePrintSetup)

END_MESSAGE_MAP()//消息映射宏存放区结束

//CMy2Appconstruction

CMy2App:

CMy2App()//构造函数,变量赋初值一般都在这里

{

//TODO:

addconstructioncodehere,

//PlaceallsignificantinitializationinInitInstance

}

//TheoneandonlyCMy2Appobject

CMy2ApptheApp;

//定义的一个应用类对象,表示一个实例

//CMy2Appinitialization

BOOLCMy2App:

InitInstance()

AfxEnableControlContainer();

//若用户在MFCAppWizard的第三步中,选中了

//“ActiveXControls”则表示所创建的应用程序支持ActiveX控件

//Standardinitialization

//Ifyouarenotusingthesefeaturesandwishtoreducethesize

//ofyourfinalexecutable,youshouldremovefromthefollowing

//thespecificinitializationroutinesyoudonotneed.

//若用户在MFCAppWizard的第四步中,选中了”3Dcontrols”,则表示所创建的应用程序支持//Windows95版本前的3D控件风格。

(对下面2条)

#ifdef_AFXDLL

Enable3dControls();

//CallthiswhenusingMFCinasharedDLL使用动态的3D控件

#else

Enable3dControlsStatic();

//CallthiswhenlinkingtoMFCstatically使用静态的3D控件

//Changetheregistrykeyunderwhichoursettingsarestored.

Youshouldmodifythisstringtobesomethingappropriate

//suchasthenameofyourcompanyororganization.

SetRegistryKey(_T("

LocalAppWizard-GeneratedApplications"

));

//在Windows系统注册表//中登记应用程序的主键值,以便将一些与应用程序相关的参数存放在该主键值下

LoadStdProfileSettings();

//LoadstandardINIfileoptions(includingMRU)//从注册表中

//调入应用程序的一些标准参数,其中包括最近文件列表的文件名

//Registertheapplication'

sdocumenttemplates.Documenttemplates

//serveastheconnectionbetweendocuments,framewindowsandviews.

//以下:

若用户在MFCAppWizard的第一步中,选择了“Singledocument”类型,则进行下

//列的单文档模板的创建及其初始化操作。

CSingleDocTemplate*pDocTemplate;

//定义一个单文档模板指针变量

pDocTemplate=newCSingleDocTemplate//登记并创建单文档应用程序模板

(IDR_MAINFRAME,//选单,快捷键等的资源标识号

RUNTIME_CLASS(CMy2Doc),//文档类

RUNTIME_CLASS(CMainFrame),//mainSDIframewindow主框架窗口类

RUNTIME_CLASS(CMy2View));

//视图类

AddDocTemplate(pDocTemplate);

//向应用程序添加文档模板

//Parsecommandlineforstandardshellcommands,DDE,fileopen

//分列命令行标准命令如DDE,文件打开等。

CCommandLineInfocmdInfo;

ParseCommandLine(cmdInfo);

//Dispatchcommandsspecifiedonthecommandline

//传送命令行指定的命令,并执行相应的操作

if(!

ProcessShellCommand(cmdInfo))

returnFALSE;

//Theoneandonlywindowhasbeeninitialized,soshowandupdateit.

//对主框架窗口进行初始化以便显示和更新

m_pMainWnd->

ShowWindow(SW_SHOW);

UpdateWindow();

returnTRUE;

//CAboutDlgdialogusedforAppAbout

classCAboutDlg:

publicCDialog//基类CDialog派生出的CAboutDlg类

{//该函数与前面几个类不同的是,该类增加AFX_DATA机制,

//称为数据映射机制,这个机制是用来实现DDX(数据交换)

///DDV(数据校验),它能使应用程序与用户交互功能的实现

//变得更为容易和直接。

CAboutDlg();

//DialogData

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//枚举类型IDD_ABOUTBOX的映射宏

//}}AFX_DATA

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);

//DDX/DDVsupport数据交换/校验

//}}AFX_VIRTUAL//虚函数

protected:

//{{AFX_MSG(CAboutDlg)

//Nomessagehandlers

//}}AFX_MSG

CAboutDlg:

CAboutDlg():

CDialog(CAboutDlg:

IDD)

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

voidCAboutDlg:

DoDataExchange(CDataExchange*pDX)

CDialog:

DoDataExchange(pDX);

//数据交换函数

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_MSG_MAP(CAboutDlg)//是ClassWizard定义的专门用做消息映射的标记,

//Nomessagehandlers//表示该程序块中的消息映射函数是由

//}}AFX_MSG_MAP//ClassWizard来自动管理的,用户一般不需要更改

END_MESSAGE_MAP()

//Appcommandtorunthedialog

voidCMy2App:

OnAppAbout()//执行缺省对话框函数

CAboutDlgaboutDlg;

//定义的CAboutDlg对象

aboutDlg.DoModal();

//调用相应的库函数,显示CAboutDlg对话框

//CMy2Appmessagehandlers

2、CMainFrm.h(cpp)主框架类(详解略可见175页)

CMainFrm的基类是CFrameWnd,该类是显示主窗口,是我们找到菜单栏、窗口的标题栏以及工具栏的地方,主窗口对象负责窗口中出现的、围绕操作领域的一切,如:

图画、文本和其它图形,这个区域称为窗口中的客户区。

它用于管理应用程序窗口显示如:

标题栏、菜单栏、工具栏、状态栏、控制菜单、控制按钮等,它是所有MDI(多文档)和SDI(单文档)子窗口的包容器。

3、文件名View.h(cpp)视图类(详解略可见172页)

CMyView的基类是CView,处理客户区,是我们在程序中设置数据格式及显示数据的位置,如我们在创建一个字处理程序时正在编辑的文本,事实上,视图对象是出现在客户区顶部的窗口本身,用于让用户通过窗口来访问文档、视图类。

4、CMyDoc.h(cpp)文档类(详解略可见170页)

CMyDoc.h(cpp)的基类是CDocument,为程序存储数据,将所有数据存在文档中,而在视图对象中处理并显示。

它包含了应用程序在运行期间

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

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1