================================================================================
MICROSOFT 基础类库: Refresh 项目概述
===============================================================================
应用程序向导已为您创建了这个 Refresh 应用程序。此应用程序不仅演示 Microsoft 基础类的基本使用方法,还可作为您编写应用程序的起点。
本文件概要介绍组成 Refresh 应用程序的每个文件的内容。
Refresh.vcproj
这是使用应用程序向导生成的 VC++ 项目的主项目文件。
它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
Refresh.h
这是应用程序的主要头文件。它包括其他项目特定的头文件(包括 Resource.h),并声明 CRefreshApp 应用程序类。
Refresh.cpp
这是包含应用程序类 CRefreshApp 的主要应用程序源文件。
Refresh.rc
这是程序使用的所有 Microsoft Windows 资源的列表。它包括 RES 子目录中存储的图标、位图和光标。此文件可以直接在 Microsoft Visual C++ 中进行编辑。项目资源位于 2052 中。
res\Refresh.ico
这是用作应用程序图标的图标文件。此图标包括在主要资源文件 Refresh.rc 中。
res\Refresh.rc2
此文件包含不在 Microsoft Visual C++ 中进行编辑的资源。您应该将不可由资源编辑器编辑的所有资源放在此文件中。
/////////////////////////////////////////////////////////////////////////////
对于主框架窗口:
项目包含标准 MFC 界面。
MainFrm.h, MainFrm.cpp
这些文件包含框架类 CMainFrame,该类派生自
CFrameWnd 并控制所有 SDI 框架功能。
res\Toolbar.bmp
此位图文件用于为工具栏创建平铺图像。
初始工具栏和状态栏在 CMainFrame 类中构造。使用资源编辑器编辑此工具栏位图,并更新 Refresh.rc 中的 IDR_MAINFRAME TOOLBAR 数组以添加工具栏按钮。
/////////////////////////////////////////////////////////////////////////////
应用程序向导创建一个文档类型和一个视图:
RefreshDoc.h,RefreshDoc.cpp - 文档
这些文件包含 CRefreshDoc 类。编辑这些文件可以添加特殊文档数据并可实现文件保存和加载(通过 CRefreshDoc::Serialize)。
RefreshView.h,RefreshView.cpp - 文档的视图
这些文件包含 CRefreshView 类。
CRefreshView 对象用于查看 CRefreshDoc 对象。
/////////////////////////////////////////////////////////////////////////////
其他功能:
ActiveX 控件
应用程序包括对使用 ActiveX 控件的支持。
打印及打印预览支持
应用程序向导已通过从 MFC 库调用 CView 类中的成员函数,生成了用于处理打印、打印设置和打印预览命令的代码。
/////////////////////////////////////////////////////////////////////////////
其他标准文件:
StdAfx.h,StdAfx.cpp
这些文件用于生成名为 Refresh.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。
Resource.h
这是标准头文件,它定义新的资源 ID。
Microsoft Visual C++ 读取并更新此文件。
Refresh.manifest
应用程序清单文件供 Windows XP 用来描述应用程序
对特定版本并行程序集的依赖性。加载程序使用此
信息从程序集缓存加载适当的程序集或
从应用程序加载私有信息。应用程序清单可能为了重新分发而作为
与应用程序可执行文件安装在相同文件夹中的外部 .manifest 文件包括,
也可能以资源的形式包括在该可执行文件中。
/////////////////////////////////////////////////////////////////////////////
其他注释:
应用程序向导使用“TODO:”指示应添加或自定义的源代码部分。
如果应用程序在共享的 DLL 中使用 MFC,则需要重新发布这些 MFC DLL;如果应用程序所用的语言与操作系统的当前区域设置不同,则还需要重新发布对应的本地化资源 MFC90XXX.DLL。有关这两个主题的更多信息,请参见 MSDN 文档中有关 Redistributing Visual C++ applications (重新发布 Visual C++ 应用程序)的章节。
/////////////////////////////////////////////////////////////////////////////
没有合适的资源?快使用搜索试试~ 我知道了~
worker线程处理时,同时刷新对话框消息
共25个文件
h:8个
cpp:6个
ico:2个
需积分: 9 35 下载量 133 浏览量
2010-04-22
20:35:51
上传
评论
收藏 74KB ZIP 举报
温馨提示
在处理消息时,定时刷新对话框画页信息 处理这个操作时有可能出现以下错误 1. 在DLG中点击开始,在线程中进行处理,并通过发送消息来更新DLG界面内容,如在线程中发送PostMessage,消息会排入消息队列等待所有线程处理循环后,即系统不忙了,才会去处理Post的消息刷新界面 所以要处理线程同时即时刷新界面要用SendMessage,它是一同步发送消息,会等处理完成才返回,即一SendMessage就会进入Refresh函数 2.而多线程函数的使用中可能出现以下问题,如果用 CWinThread * pthread=AfxBeginThread(……………); 并设一个全局变量flag=0; 在点击开始对应的START函数里开始线程后,用等待 While(flag!=1);//flag为当线程结束时设为1 来等待线程结束后,去处理 Delete pthread;//因为怕内在泄漏要手动delete 但此时会出现死锁现象,在DoMadal时,mainwnd会把消息处理队列处理转让给DLG来进行处理,当进入线程时,SendMessage,转到DLG窗口线程要进行处理,而此时窗口线程正一直在while(1)中,无法去处理SendMessage的消息,而UI线程又在等待着WORK线程的结束,但WORK线程此时正停滞等待SendMessage的回复,如此便造成了死锁现象 3.解决方法 而其实不用CWinthread去接收AfxBeginThread的返回值,并delete,此函数在线程结束时,会自动撤消线程的相关资源,所以不用用while(1)来等待线程的结束(见具体程序代码)
资源推荐
资源详情
资源评论
收起资源包目录
Refresh.zip (25个子文件)
Refresh
Refresh.suo 82KB
Refresh.sln 887B
Refresh
stdafx.cpp 138B
Refresh.aps 66KB
Refresh.rc 12KB
RefreshDlg.h 628B
res
Refresh.ico 21KB
Toolbar.bmp 1KB
RefreshDoc.ico 1KB
Refresh.rc2 363B
stdafx.h 2KB
RefreshDlg.cpp 2KB
Refresh.cpp 3KB
Refresh.vcproj 6KB
targetver.h 1KB
RefreshDoc.cpp 1KB
RefreshView.h 979B
Refresh.h 473B
MainFrm.cpp 2KB
resource.h 815B
RefreshDoc.h 552B
MainFrm.h 688B
Refresh.vcproj.PC-20100313IPII.Administrator.user 1KB
RefreshView.cpp 2KB
ReadMe.txt 3KB
共 25 条
- 1
资源评论
feiwinghang
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功