mfc应用程序由哪4个主要类构成,各起什么作用

mfc应用程序由哪4个主要类构成,各起什么作用,第1张

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

CMyApp的基类是CWinApp,而CWinApp的基类又是CWinThread,CWinThread类是用来完成对线程(见后面的名词解释)的控制,包括对线程的创建、运行、终止和挂起等。它实际上是Windows首先运行的内容,当这个程序开始时,它将会把主窗口放在屏幕上。C或C++是从main()主函数开始执行,而VC++是从WinMain()函数开始执行,且WinMain()函数就是隐含在此应用程序中

2、 CMainFrm.h (cpp)主框架类

CMainFrm的基类是CFrameWnd,该类是显示主窗口,是我们找到菜单栏、窗口的标题栏以及工具栏的地方,主窗口对象负责窗口中出现的、围绕 *** 作领域的一切,如:图画、文本和其它图形,这个区域称为窗口中的客户区。它用于管理应用程序窗口显示如:标题栏、菜单栏、工具栏、状态栏、控制菜单、控制按钮等,它是所有MDI(多文档)和SDI(单文档)子窗口的包容器。

3、 文件名View.h (cpp)视图类

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

4、 CMyDoc.h (cpp)文档类

CMyDoc.h (cpp)的基类是CDocument,为程序存储数据,将所有数据存在文档中,而在视图对象中处理并显示。它包含了应用程序在运行期间所用到的数据文档。

首先打开工程文件的资源视图,再打开“String Table”,找到IDR_MAINFRAME。ID为:IDR_MAINFRAME,Value为128,caption里面的值就是你要找的东西!

IDR_MAINFRAME字符串资源中包含7个子串,分别以\n结束,即如下格式:

<windowTitle>\n<docName>\n<fileNewName>\n<filterName>\n<filterExt>\n<regFileTypeId>\n<regFileTypeName>\n

(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。

(2)CDocTemplate::docName,缺省文档的名称。如果没有指定,缺省文档的名称是无标题。

(3)CDocTemplate::fileNewName,文档类型的名称。如果应用程序支持多种类型的文档,此字符串将显示在"File/New"对话框中。如果没有指定,就不能够在"File/New"对话框处理这种文件。

(4)CDocTemplate::filterName,文档类型的描述和一个适用于此类型的通配符过滤器。这个字符串将出现在“File/Open”对话框中的文件类型列表框中。要和CDocTemplate::filterExt一起使用。

(5)CDocTemplate::filterExt,文档的扩展名。如果没有指定,就不能够在“File/Open”对话框中处理这种文档。要和CDocTemplate::filterName一起使用。

(6)CDocTemplate::regFileTypeId,如果你以::RegisterShellFileTypes向系统的注册表注册文件类型,此值会出现在HEY_CLASSES_ROOT之下成为其子项,并仅供Windows内部使用。如果没有指定,这种文件类型就无法注册。

(7)CDocTemplate::regFileTypeName,这也是存储在注册表中的文件类型名称。它会显示于程序中用以访问注册表的对话框内。

在 MFC 中,可以使用 CFileDialog 类来实现点击按钮打开一个指定的 TXT 文件。

首先,在你的应用程序中添加一个按钮,用于打开文件对话框。

然后,为按钮添加单击事件处理函数,在函数中添加下面的代码:

void CYourAppDlg::OnBnClickedOpenfile()

{

CFileDialog dlg(TRUE, _T("txt"), _T("*.txt"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), this)

if (dlg.DoModal() == IDOK)

{

CString path = dlg.GetPathName()

// open the file or do something with the path

}

}

其中,第一个CFileDialog 的构造函数中的参数分别表示:

使用文件打开对话框而不是文件保存对话框

默认文件类型为 txt

默认文件扩展名为 txt

OFN_FILEMUSTEXIST 和 OFN_HIDEREADONLY 这两个标志表示文件必须存在并且隐藏只读文件

第五个参数为文件类型过滤器,该参数表示只显示 .txt 格式的文件。

在 dlg.DoModal() == IDOK 条件成立后,可以使用 dlg.GetPathName() 函数获取选择文件的路径. 然后可以根据需要打开文件或进行其他 *** 作。

注意要在头文件中包含 <afxwin.h>和 <afxdlgs.h>,才能使用CFileDialog.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7947641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存