滑动窗口协议是一种在网络通信中控制数据传输速率和流量的机制,主要应用于TCP(传输控制协议)中。在MFC(Microsoft Foundation Classes)框架下,我们可以利用C++语言来模拟实现这种协议,以便更好地理解其工作原理。MFC是微软提供的一套用于开发Windows应用程序的类库,它简化了用户界面的创建和管理。 滑动窗口协议的核心思想是允许发送方在一个预先设定的窗口大小内发送数据,而无需等待接收方的确认。这样可以提高网络效率,因为数据可以连续发送,而不是每次发送一个数据包就等待确认。协议包括两种主要类型:停止等待和Go-Back-N。 在MFC环境中,我们首先需要创建一个C++类来代表滑动窗口协议的实体,如`CSlideWindowProtocol`。这个类应该包含必要的成员变量,如当前窗口大小、发送序列号、接收序列号、缓冲区等。同时,需要定义相应的成员函数来处理数据的发送、接收、确认以及窗口大小的调整。 1. **数据发送**: - `SendPacket`函数用于封装数据并发送到网络。 - `GenerateSequenceNumber`用于生成每个数据包的唯一序列号。 - `UpdateSendWindow`函数用于更新发送窗口的位置,即下次可发送的数据包的序列号。 2. **数据接收**: - `ReceivePacket`函数用于接收来自网络的数据包。 - `CheckSequenceNumber`函数检查接收到的数据包的序列号是否在接收窗口内,如果不在,可能需要丢弃或重传。 3. **确认机制**: - `GenerateACK`函数生成确认信息,告诉发送方哪些数据包已被接收。 - `HandleACK`函数处理接收到的确认信息,调整发送窗口的大小和位置。 4. **窗口大小调整**: - `ResizeWindow`函数根据网络状况动态调整窗口大小,例如,当网络拥塞时减小窗口,空闲时增大窗口。 5. **界面编程**: - 使用MFC的CWnd类派生一个新类,如`CTCPWindowDlg`,作为滑动窗口协议的用户界面。 - 在对话框中设计显示发送/接收数据包、窗口大小、序列号等信息的控件,如静态文本、进度条或列表控件。 - 实现对话框的消息映射,处理用户的输入和事件,如按钮点击触发数据发送或接收操作。 6. **多线程处理**: - 数据的发送和接收通常在不同的线程中进行,以避免阻塞UI。 - 使用CWinThread类创建子线程,处理网络通信,主线程负责更新UI。 通过以上步骤,我们可以构建一个MFC应用程序,模拟滑动窗口协议的工作流程。通过实际操作,用户可以直观地看到协议如何处理数据包、调整窗口大小以及处理错误情况,从而加深对滑动窗口协议的理解。在实现过程中,还需要考虑错误处理和异常安全,确保程序的稳定性和健壮性。
2025-12-14 13:34:25 1.12MB
1
动态曲线的MFC,主要基于Microsoft Foundation Class (MFC) 库来实现,这是一个由Microsoft开发的C++类库,用于构建Windows应用程序。MFC提供了一系列的类,简化了Win32 API接口,使得开发者可以更高效地创建图形用户界面(GUI)应用。在这个特定的案例中,我们关注的是如何在MFC应用中实现实时更新的动态曲线,并且支持缩放功能。 动态曲线的实现通常涉及到数据的实时获取与渲染。这可能涉及到线程同步,因为数据的更新可能在一个独立的线程中进行,而图形的绘制则在主线程中。为了实现无闪烁的动态曲线,开发者需要确保在UI线程中安全地更新图表,避免频繁的重绘导致的闪烁现象。这可能通过使用消息队列或者特定的同步机制如CWinThread类来实现。 MsChart是Microsoft Chart Control的简称,它是一个用于.NET Framework的图表组件,但在早期的MFC项目中,开发者可能会通过COM接口或者ActiveX控件的方式引入MsChart。MsChart提供了丰富的图表类型和自定义选项,包括线形图、折线图等,非常适合展示动态变化的数据。在这个例子中,开发者可能利用MsChart的API来设置曲线的颜色、线型、数据源等,并通过定时器事件定期更新数据,从而实现动态效果。 支持缩放功能意味着用户能够放大或缩小曲线,以便查看细节或整体趋势。在MFC中,这可能通过处理鼠标滚轮事件或使用专门的缩放控件来实现。开发者需要更新图表的坐标轴范围,同时调整曲线的数据映射,确保在不同缩放级别下曲线的显示仍然准确。可能还需要实现平移功能,让用户可以浏览图表的不同区域。 至于显示图例和标题,这是MsChart的常见特性。图例用于标识图表中的各个数据系列,而标题则为图表提供上下文信息。开发者可以通过设置MsChart的相应属性来添加和自定义这些元素,例如设置标题文本、字体样式,以及图例的位置和颜色。 开发环境为Visual Studio 2008,这是一款强大的IDE,集成了代码编辑、调试、版本控制等多种功能。在VS2008中,开发者可以方便地创建MFC项目,添加MsChart控件,并利用其内置的调试工具来追踪程序运行状态,优化性能。 "动态曲线的MFC(支持缩放)"是一个涉及图形界面编程、多线程操作、数据可视化以及用户交互的项目。通过深入理解MFC框架、MsChart组件以及Windows编程原理,开发者能够创建出既美观又实用的动态曲线显示应用。
2025-12-01 10:39:31 50KB
1
MFC扩展库BCGControlBar Pro v35.0
2025-11-24 21:43:32 213.45MB
1
### MFC通用型电磁流量计使用说明知识点概览 #### 1. 仪表送检注意事项 - **热机过程**:在正式检定之前,必须确保仪表已经安装完毕,并且通电通水运行至少半小时,以确保仪表能够适应实际工作环境。 - **检定流速范围**:建议的检定流速范围是0.5米/秒到5米/秒,此范围能够较为准确地反映仪表的实际工作状态。 - **检定信号选择**:建议采用脉冲信号作为检定信号,并根据不同的管道口径调整脉冲当量。脉冲频率建议控制在200至500赫兹之间,最高不超过800赫兹。 #### 2. 仪表使用前须知 - 在使用仪表前,需详细阅读说明书,了解正确的安装和使用方法,确保仪表性能最佳。 - 如遇任何问题,可联系客户服务中心电话:023-67032695等。 - 若未经允许擅自修理或更换零部件导致仪表损坏,厂家不承担责任。 #### 3. 安装环境要求 - **传感器安装位置**:传感器应安装在管道下游侧,并配备活络的伸缩管或膨胀节。 - **法兰安装**: - 为了防止外配法兰与传感器法兰不平行导致泄漏,应在安装前确保两者充分平行。 - 推荐先将外配法兰与传感器通过螺栓完全拧紧后再与管道焊接。 - **螺栓拧紧顺序**:按照特定的顺序拧紧螺栓,确保拧紧力矩均匀分布。 #### 4. 引入电缆规格 - **非防爆转换器**:采用外径为φ5-9mm的橡套电缆连接。 - **防爆转换器**:采用外径为φ10±0.5mm的橡套电缆连接。 - 电缆用于连接电源线、输出线以及传感器。 #### 5. 转换器显示方式 - **方形电磁流量计转换器**:支持两行LCD双磁按键显示方式和三行LCD四普通按键显示方式。 - **圆形电磁流量计转换器**:同样支持两种显示方式。 #### 6. 自动校零方法 - **面板操作**: - 设置“Auto Zero”菜单为1,等待一分钟,期间不可修改其他参数。 - 当“Auto Zero”从1复位成0时,校零结束。 - **串口操作**(适用于部分版本): - 在超级终端输入命令“b54”,设置“Auto Zero”菜单值为1。 - 同样等待一分钟,期间不可修改其他参数。 - 出现“Velocity zero clear”提示时,校零结束。 #### 7. 其他配置参数 - **流量范围(Flow Rng)**、**流量单位(Flow Unit)**、**流量系数(Flow Mult)**等参数均需要根据实际情况进行设置。 - **流量响应时间(Flow Rspns1-2)**、**流量变化限制(Flow Vary Lim)**等参数也需要根据具体应用场景进行调整。 MFC通用型电磁流量计的使用涉及多个方面的注意事项和技术细节,包括但不限于仪表送检流程、安装环境要求、电缆连接规格以及各种配置参数的设置等。正确遵循这些指南对于确保仪表稳定运行、提高测量精度至关重要。
2025-11-23 15:50:11 95.7MB 使用说明书
1
标题 "Wincap c++ mfc 网络抓包" 涉及到的是一个使用C++编程语言,结合Microsoft Foundation Classes (MFC)库和WinPcap库开发的网络数据包捕获应用程序。WinPcap是一个开源的网络协议分析库,它允许程序员在Windows操作系统上直接访问网络接口卡(NIC)的底层驱动,从而实现网络数据包的捕获和过滤。下面将详细介绍这个领域的关键知识点: 1. **WinPcap库**:WinPcap是网络嗅探和包捕获的基础,它提供了API接口供开发者使用。主要功能包括: - **数据包捕获**:WinPcap能实时捕获网络上的数据包,不改变网络流量。 - **数据包过滤**:通过BPF(Berkeley Packet Filter)语法,可以设置规则来筛选捕获的数据包。 - **网络统计**:提供网络接口的统计信息,如发送和接收的字节数、错误等。 - **回送**:可以将捕获的数据包回送到网络,用于测试和调试。 2. **C++编程**:作为主要的编程语言,C++提供了丰富的库和面向对象的特性,使开发者能构建高效且可维护的代码。在本项目中,C++用于实现数据包处理逻辑、UI交互和多线程管理。 3. **MFC库**:MFC是微软提供的C++库,用于简化Windows应用程序开发。它基于面向对象的设计,封装了Windows API,提供了窗口、控件、消息处理等基础组件。在本案例中,MFC用于构建图形用户界面(GUI),使用户能够直观地查看和操作网络数据包。 4. **多线程**:由于网络数据包的捕获和处理可能涉及大量计算,为了保证UI的响应性,通常会使用多线程技术。一个线程负责捕获和解析数据包,另一个线程负责更新和显示UI。这样,即使在高负载下,用户界面也不会卡顿。 5. **数据包解析**:在捕获数据包后,需要解析其结构以获取有用信息。对于以太网帧,这通常包括: - **源MAC地址**:发送数据包的设备的物理地址。 - **目标MAC地址**:接收数据包的设备的物理地址。 - **类型/长度域**:指示以太网帧中的数据部分是哪种类型的协议(如IP、ARP等)或数据的长度。 6. **详细文档.doc**:这个文件可能是项目开发过程中的技术文档,包含了设计思路、实现方法、API使用说明等内容,对理解项目代码和功能至关重要。 7. **mfc网络**:这个文件名可能是源代码的一部分,包含MFC实现的网络相关功能,可能包括数据包捕获的主程序和UI组件。 这个项目涵盖了网络编程、数据包捕获与解析、GUI设计和多线程编程等多个方面,是学习和实践网络监控与分析的好例子。通过这样的项目,开发者不仅可以提升网络编程技能,还能深入理解网络通信的底层机制。
2025-11-22 17:27:06 44.61MB Wincap 网络抓包
1
本文介绍了基于HLS的YOLOv3在FPGA上的实现过程,选用了AX7350开发板进行网络加速。主要内容包括使用开源YOLOv3进行网络训练和量化,生成加速器IP核,搭建SOC硬件平台,导出bit流文件,以及使用Petalinux制作SD镜像启动文件。此外,还详细说明了如何通过SDK工具编写驱动生成.elf文件,并进行上板调试,确保软件和硬件输出一致。文章还提供了GitHub上的相关代码和资源链接,包括Petalinux代码、Vivado工程和量化代码,方便开发者直接使用或参考。 YOLOv3是一个高效、快速的目标检测算法,它能够在图像中实时识别多个对象。FPGA(Field-Programmable Gate Array)是一种可以重新配置的数字逻辑电路。将YOLOv3部署到FPGA上,可以实现网络加速,满足实时性要求高的应用场景。在本文中,作者详细描述了基于HLS(High-Level Synthesis)的YOLOv3在FPGA上的实现过程。 进行网络训练和量化是实现过程的第一步。YOLOv3模型的训练使用开源代码进行,量化过程则涉及将训练好的模型参数转化为整数形式,以减少FPGA实现过程中的计算复杂度。生成加速器IP核是将训练和量化后的模型部署到FPGA上的重要步骤,IP核是一种可以重复使用的模块化电路设计。 接下来,作者详细描述了如何搭建SOC(System on Chip)硬件平台。SOC是一种将计算机系统的主要部件集成到单个集成电路芯片上的技术。在本文中,SOC硬件平台的搭建需要导出bit流文件,这是一种用于描述FPGA硬件配置的文件格式。此外,作者还介绍了如何使用Petalinux制作SD镜像启动文件。Petalinux是基于Linux的嵌入式开发平台,SD镜像则是一种存储了操作系统和相关软件的存储卡映像文件。 软件和硬件的衔接部分也是本文的一个重点。作者说明了如何通过SDK(Software Development Kit)工具编写驱动生成.elf文件,并进行上板调试。.elf文件是可执行链接格式文件,用于在嵌入式系统上加载和运行程序。上板调试是指在实际硬件上测试程序的过程,以确保软件运行结果与硬件预期一致。 为了方便开发者使用和参考,作者还提供了GitHub上的相关代码和资源链接。这些资源包括Petalinux代码、Vivado工程和量化代码。Petalinux代码是用于制作Petalinux操作系统的源码,Vivado工程则是Xilinx公司推出的用于FPGA设计的软件工程。量化代码是用于模型量化处理的程序代码。 本文详细介绍了基于HLS的YOLOv3在FPGA上的实现过程,包括网络训练、量化、生成IP核、搭建硬件平台、制作启动文件以及驱动开发和调试等关键步骤。同时,提供了丰富的代码和资源链接,为开发者提供了便利的参考和使用途径。
2025-11-19 11:22:00 4.28MB 软件开发 源码
1
在Microsoft Foundation Classes (MFC)框架中,TeeChart是一个流行的图形库,它允许开发者创建各种图表类型,包括二维和三维图表,以直观地展示数据。这个例程将指导我们如何在Visual Studio 2010环境下利用TeeChart控件进行三维图形的绘制。 你需要下载并安装TeeChart的MFC版本。TeeChart提供了适用于多种开发环境的版本,包括MFC。安装后,TeeChart的库文件和头文件会被添加到你的开发环境中,这样你就可以在项目中引用它们了。 1. **创建MFC工程** - 打开Visual Studio 2010,选择"文件" > "新建" > "项目"。 - 在项目模板中,选择"MFC应用程序",然后输入项目名称和位置,点击"确定"。 - 在MFC应用程序向导中,选择"单文档",并确保选中"创建MFC应用程序"和"使用 ATL支持"选项,然后点击"完成"。 2. **引入TeeChart库** - 在项目的"解决方案资源管理器"中,右键点击"头文件"(Headers)文件夹,选择"添加" > "现有项",找到TeeChart的头文件(如"TeeChart.h"),将其添加到项目中。 - 同样,右键点击"源文件"(Source Files)文件夹,添加TeeChart的库文件(如"TeeChartMFC.cpp")。 3. **设置预编译头文件** - 如果你的项目启用了预编译头文件(通常默认为"stdafx.h"),你需要在"TeeChart.h"或"TeeChartMFC.cpp"中包含预编译头文件,以避免编译错误。 4. **绘制三维图** - 在你的视图类(通常是CMyView)中,你需要重写`OnDraw`函数。在这个函数中,你可以初始化TeeChart对象,并调用其绘图方法。 - 创建一个TeeChart的实例,例如`CTeeChart m_tchart;`。 - 然后,设置图表的属性,比如大小、标题、颜色方案等。例如,`m_tchart.SetSize(AfxGetMainWnd()->GetClientRect());`可以设置图表的大小与主窗口相同。 - 接着,创建一个系列(Series),例如`CSteema::TLineSeries *series = new CSteema::TLineSeries();`,并添加数据点。你可以通过`series->AddXY(xValue, yValue, zValue);`添加三维点。 - 调用`m_tchart.Draw();`绘制图表。 5. **事件处理** - 为了响应用户的交互,如缩放、旋转图表,你需要处理TeeChart的事件。这通常涉及到在视图类中定义事件处理函数,并在`BEGIN_MESSAGE_MAP`和`END_MESSAGE_MAP`之间声明它们。 6. **运行和测试** - 编译并运行项目,你应该能在主窗口看到绘制出的三维图表。通过拖动图表边缘或使用滚动鼠标,用户可以查看和操作三维视图。 以上就是利用MFC和TeeChart在Visual Studio 2010中创建三维图表的基本步骤。这个例程可能包含了创建、设置和显示图表的具体代码,帮助你理解如何结合MFC和TeeChart进行图形编程。通过深入学习TeeChart的API,你可以实现更复杂的功能,如动画效果、自定义标记、图例等。记住,实践是掌握这些技术的关键,不断尝试和修改代码,你将能更好地理解和运用TeeChart。
2025-11-17 09:49:19 3.02MB TeeCha
1
MFC,全称为Microsoft Foundation Classes,是微软提供的一套C++类库,用于构建Windows应用程序。它是基于面向对象编程的,极大地简化了Windows API的使用,使得开发者能够更高效地编写Windows桌面应用。MFC库包含了对Windows API的封装,如窗口管理、消息处理、图形设备接口(GDI)以及许多其他系统服务。 标题“MFC程序运行所需库”指的是在运行MFC编写的程序时,必须依赖的一些关键库文件。这些库文件提供了运行MFC程序的基础框架和功能,如果缺失,程序可能会出现运行失败、崩溃或者无法启动等问题。描述中提到的“没此库经常会遇到程序运行失败的情况”,进一步强调了这些库文件的重要性。 vc2005_x86.exe可能是Visual C++ 2005的运行时库组件,它包含了一些必要的DLL文件,比如MSVCR80.DLL,这些文件对于执行使用VC++ 2005编译的MFC程序至关重要。x86表示这是针对32位操作系统设计的版本。这个组件可能包含了C++运行时库、线程支持、异常处理以及内存管理等关键功能。 vcredist_x86.exe则通常是微软Visual C++ Redistributable Package,它是运行使用Visual C++编译器开发的应用程序所必需的。这个文件包含了运行时库文件,允许用户机器上没有安装Visual Studio的情况下,依然能够运行依赖这些库的MFC程序。它可能包含了多个版本的VC++运行时库,以满足不同编译配置的需求。 在开发MFC程序时,开发者需要确保他们的程序链接了正确的MFC库,并且在目标机器上安装了相应的运行时环境。对于发布MFC程序,通常需要包含这些运行时库的 redistributable 包,以便用户在没有安装完整Visual Studio的情况下也能正确运行程序。 MFC库是C++开发者构建Windows应用程序的重要工具,而vc2005_x86.exe和vcredist_x86.exe则是确保MFC程序能够在目标计算机上顺利运行的关键组件。理解和掌握MFC以及其依赖的运行时库,对于进行有效的Windows桌面应用程序开发至关重要。
2025-11-13 13:58:02 4.28MB mfc,c++
1
MFC串口助手初级版实现(初始化、串口设置、修改参数、打开、关闭、状态显示)---代码注释非常详细,自己写的函数基本是逐行注释,重要的地方还特别的描述原理方法,非常适合新手练习使用。 //变量======================================== public: //自定义变量 HANDLE m_hCom; //串口句柄 volatile int m_bConnected; //串口连接成功指示 BOOL m_COMStatu; //串口状态指示 long m_rxlen; //接收数据个数 long m_txlen; //发送数据个数 //列表框变量 CComboBox m_Combo_Com; //列表框:串口 CComboBox m_Combo_Baud; //列表框:波特率 CComboBox m_Combo_Check; //列表框:校验位 CComboBox m_Combo_Data; //列表框:数据位 CComboBox m_Combo_Stop; //列表框:停止位 //字符变量 CString m_Str_Com; //字符变量:串口 CString m_Str_Baud; //字符变量:波特率 CString m_Str_Check; //字符变量:校验位 CString m_Str_Data; //字符变量:数据位 CString m_Str_Stop; //字符变量:停止位 //函数====================================================
2025-11-13 13:39:26 148.23MB 串口助手
1
本书通过85个实例全面讲述了应用MFC进行Visual C++编程的思想。每个实例均以编写一个应用程序要走的步骤编写。全书共分四部分进行介绍,第一部分是基础知识,第二部分讲述用户界面的实例,第三部分讲述MFC内部处理方面的实例,第四部分讲述打包实例。全书基本上面向实例进行阐述,讲解透彻、易于掌握。本书既可作为初学者和大专院校师生的自学参考书,也可作为计算机软件开发人员的技术参考书。 目 录 第一部分 基础知识 第1章 窗口 2 1.1 窗口和API环境 2 1.1.1 三种类型窗口 2 1.1.2 客户区和非客户区 3 1.2 窗口和MFC环境 4 1.3 怎样应用MFC创建一个窗口 5 1.4 怎样使用MFC销毁一个窗口 9 1.4.1 捆绑到一个已有的窗口 9 1.4.2 窗口类 10 1.4.3 窗口进程 10 1.5 怎样使用MFC创建一个窗口类 11 1.5.1 使用AfxRegisterWndClass () 函数注册一个窗口类 11 1.5.2 使用AfxRegisterClass ()函数 创建一个窗口类 12 1.6 怎样销毁一个MFC窗口类 14 1.7 厂商安装的窗口类 14 1.8 其他类型窗口 15 1.9 桌面窗口 16 1.10 小结 16 第2章 类 18 2.1 基类 18 2.1.1 CObject 18 2.1.2 CCmdTarget 19 2.1.3 CWnd 19 2.2 应用程序、框架、文档和视图类 19 2.2.1 CWinApp(O/C/W) 20 2.2.2 CView (O/C/W) 21 2.3 其他用户界面类 22 2.3.1 通用控件类 23 2.3.2 菜单类 23 2.3.3 对话框类 24 2.3.4 控制条类 24 2.3.5 属性类 25 2.4 绘图类 25 2.4.1 设备环境类 25 2.4.2 图形对象类 25 2.5 文件类 26 2.6 数据库类 26 2.6.1 ODBC类 26 2.6.2 DAO类 27 2.7 数据集类 27 2.8 其他数据类 27 2.9 通信类 28 2.10 其他类 29 2.11 小结 31 第3章 消息处理 32 3.1 发送或寄送一个消息 32 3.1.1 发送一个消息 32 3.1.2 寄送一个消息 32 3.1.3 发送一个消息与寄送一个消息 的比较 32 3.2 怎样使用MFC发送一个消息 33 3.3 怎样用MFC寄送一个消息 33 3.4 三种类型的消息 34 3.4.1 窗口消息 34 3.4.2 命令消息 34 3.4.3 控件通知 34 3.5 MFC怎样接收一个寄送的消息 36 3.6 MFC怎样处理一个接收到的消息 36 3.7 处理用户界面的对象 44 3.8 创建自定义窗口消息 45 3.8.1 静态分配的窗口消息 45 3.8.2 动态分配的窗口消息 46 3.9 重定向消息 47 3.9.1 子分类和超分类 47 3.9.2 用MFC子分类窗口 48 3.9.3 重载OnCmdMsg ( ) 49 3.9.4 使用SetWindowsHookEx ( ) 49 3.9.5 使用SetCapture ( ) 49 3.9.6 专有的消息泵 50 3.10 小结 50 第4章 绘图 51 4.1 设备环境 51 4.2 在MFC环境中创建一个设备环境 52 4.2.1 屏幕 52 4.2.2 打印机 53 4.2.3 内存 54 4.2.4 信息 54 4.3 绘图例程 55 4.3.1 画点 55 4.3.2 画线 55 4.3.3 画形状 55 4.3.4 形状填充和翻转 55 4.3.5 滚动 56 4.3.6 绘制文本 56 4.3.7 绘制位图和图标 56 4.4 绘图属性 56 4.4.1 设备环境属性 57 4.4.2 画线属性 58 4.4.3 形状填充属性 58 4.4.4 文本绘制属性 58 4.4.5 映像模式 59 4.4.6 调色板属性 62 4.4.7 混合属性 62 4.4.8 剪裁属性 63 4.4.9 位图绘制属性 64 4.5 元文件和路径 65 4.5.1 元文件 65 4.5.2 路径 66 4.6 颜色和调色板 66 4.6.1 抖动色 67 4.6.2 未经抖动色 67 4.6.3 系统调色板 67 4.6.4 使用系统调色板 68 4.6.5 动画色 71 4.7 控制什么时候在哪里绘图 71 4.7.1 处理WM_PAINT 71 4.7.2 只绘制被无效化的区域 72 4.7.3 处理WM_DRAWITEM 72 4.7.4 在其他时间绘图 73 4.8 小结 74 第二部分 用户界面实例 第5章 应用程序与环境 76 5.1 例1 规划MFC应用程序 76 5.2 例2 用AppWizard创建一个MFC 应用程序 79 5.3 例3 用ClassWizard创建一个类 83 5.4 例4 初始化应用程序屏幕 84 5.5 例5 保存应用程序屏幕 86 5.6 例6 处理命令行选项 88 5.7 例7 动态改变应用程序图标 91 5.8 例8 提示用户优先选项 93 5.9 例9 保存和恢复用户优先选项 97 5.10 例10 终止应用程序 100 5.11 例11 创建一个启动窗口 101 第6章 菜单 107 6.1 例12 使用菜单编辑器 107 6.2 例13 添加一个菜单命令处理函数 109 6.3 例14 根据当前可视文档动态改 变菜单 110 6.4 例15 启用和禁用菜单命令 111 6.5 例16 复选标记菜单命令 112 6.6 例17 单选标记菜单命令 113 6.7 例18 动态修改菜单 114 6.8 例19 动态修改系统菜单 116 6.9 例20 触发一个菜单命令 117 6.10 例21 创建弹出式菜单 117 第7章 工具栏和状态栏 120 7.1 例22 使用工具栏编辑器 120 7.2 例23 启用和禁用工具栏按钮 122 7.3 例24 为工具栏按钮添加字 123 7.4 例25 非标准工具栏大小 128 7.5 例26 保持工具栏按钮按下 129 7.6 例27 保持工具栏按钮组中 一个按钮按下 130 7.7 例28 为工具栏添加非按钮控件 131 7.8 例29 修改应用程序的状态栏 136 7.9 例30 更新状态栏窗格 138 7.10 例31 为状态栏添加其他控件 139 第8章 视图 145 8.1 例32 滚动视图 145 8.2 例33 改变鼠标光标形状 147 8.3 例34 沙漏光标 148 8.4 例35 窗体视图 149 8.5 例36 列表视图 152 8.6 例37 动态分割一个视图 163 第9章 对话框和对话条 166 9.1 例38 使用对话框编辑器 166 9.2 例39 创建一个对话框类 168 9.3 例40 模式对话框 170 9.4 例41 无模式对话框 171 9.5 例42 在无模式对话框的控件间 切换焦点 172 9.6 例43 对话框中的动画 173 9.7 例44 消息框 174 9.8 例45 对话条 176 第10章 控件窗口 182 10.1 例46 在任意位置创建一个控 件窗口 182 10.2 例47 用子分类定制一个通用 控件窗口 183 10.3 例48 用超分类定制一个通用 控件窗口 188 10.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意位置装入一个图 标并绘制 203 11.4 例56 从任意位置装入一个位 图和绘制一个位图 204 11.5 例57 从文件中创建一个位图 206 11.6 例58 创建一个自绘位图 211 第三部分 内部处理实例 第12章 消息 215 12.1 例59 添加消息处理函数或重 载MFC类 216 12.2 例60 添加命令范围消息处理函数 219 12.3 例61 重定向命令消息 221 12.4 例62 创建自己的窗口消息 222 第13章 文件、串行化和数据库 225 13.1 例63 访问二进制文件 225 13.2 例64 访问标准I/O文件 227 13.3 例65 访问内存文件 228 13.4 例66 在数据类中实现串行化 229 13.5 例67 串行化SDI或MDI文档 235 13.6 例68 按要求串行化 240 13.7 例69 透明地更新串行化的文档 242 13.8 例70 串行化多态类 246 13.9 例71 串行化数据集 248 13.10 例72 访问ODBC数据库 252 13.11 例73 访问DAO数据库 257 第14章 杂类 263 14.1 例74 剪切、拷贝和粘贴文本 数据 263 14.2 例75 剪切、拷贝、粘贴多信 息文本数据 268 14.3 例76 剪切、拷贝和粘贴二进制 数据 273 14.4 例77 数组函数 280 14.5 例78 列表函数 281 14.6 例79 映像函数 283 14.7 例80 系统键盘输入 285 14.8 例81 时间 288 第四部分 打包实例 第15章 库 291 15.1 例82 静态链接C/C++库 291 15.2 例83 动态链接C/C++库 295 15.3 例84 动态链接MFC扩展类库 300 15.4 例85 资源库 303 第五部分 附录 附录A 控件窗口风格 305 附录B 消息、控件通知和消息映像宏 323 附录C 访问其他应用程序类 328 附录D 开发中注意事项 330 附录E MFC快速参考指南 339
2025-11-12 15:45:54 24.71MB MFC编程实例
1