MFC常用类
cclientdc用法
cclientdc用法CClientDC是MFC编程中很常用的一个类,用于获取设备上下文(DC),并在此基础上进行绘图操作。
本文将分步骤阐述CClientDC的用法,并介绍一些注意事项,以帮助读者更好地理解和使用这个类。
1. 获取设备上下文CClientDC的主要作用是获取设备上下文,可通过以下语句实现:```CClientDC dc(this);```其中,this代表当前的窗口句柄。
通过这句话,就可以获取到表示窗口客户区的设备上下文,从而可以在此基础上进行绘图操作。
2. 绘制图形CClientDC提供了许多绘图函数,例如LineTo、Rectangle、Ellipse等等。
这些函数的用法和常规的GDI函数相似,只需要在设备上下文上调用相应函数即可。
例如,绘制一条连接屏幕左上角和右下角的直线,可以使用以下语句:```dc.LineTo(GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_C YSCREEN));```其中,GetSystemMetrics函数可以获取到当前屏幕的宽度(SM_CXSCREEN)和高度(SM_CYSCREEN)。
3. 注意事项在使用CClientDC进行绘图时,需要注意以下几点:(1)CClientDC必须在WM_PAINT消息中使用。
也就是说,只有在窗口需要重绘时,才能使用CClientDC。
否则,可能会引起屏幕闪烁等问题。
因此,在调用CClientDC之前,应该先判断是否需要进行绘图操作。
(2)当窗口的大小发生改变时,设备上下文也需要重新获取。
因此,应该在WM_SIZE消息中重新获取CClientDC。
(3)设备上下文是一种系统资源,使用完毕需要及时释放。
CClientDC获取的设备上下文会在离开作用域时自动释放,但是如果在作用域内手动释放了设备上下文,则可能会引起内存泄漏等问题。
(4)在使用CClientDC进行绘图时,应该尽量减少GDI操作的次数,以提高性能。
mfc函数详解
mfc函数详解MFC(Microsoft Foundation Class)是一种面向对象的Windows应用程序框架,它是微软公司在Windows操作系统下的视窗类库,是Visual C++的一些类和函数的集合。
MFC的作用是提供一种高级的、面向对象的编程结构,让程序员更加容易地开发Windows应用程序。
下面是一些常用的MFC函数及其详解:1. AfxMessageBox函数原型:int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0);函数作用:显示一个消息框,包含文本、标题和按钮。
参数解释:lpszText:要显示的消息文本。
nType:消息框类型,包括按钮以及图标等样式。
nIDHelp:帮助ID,用于消息框的帮助文件。
返回值:用户选择的按钮行为,如“取消”、“确定”等。
2. AfxGetMainWnd函数原型:CWnd* AfxGetMainWnd( );函数作用:获取当前线程的主窗口对象指针。
参数解释:无。
返回值:当前线程的主窗口对象指针。
3. CString.Format函数原型:int Format(LPCTSTR lpszFormat, ...);函数作用:根据格式控制符格式化字符串。
参数解释:lpszFormat:格式化字符串,格式控制符用“%”标识。
...:格式控制符中各个参数的值。
返回值:格式化后的字符串长度。
4. CListBox.SetCurSel函数原型:int SetCurSel(int nIndex);函数作用:设置列表框中当前选定项的索引。
参数解释:nIndex:要选定项的索引,从0开始。
返回值:如果设置成功,则返回新选定项的索引;否则,返回LB_ERR。
5. CEdit.SetWindowText函数原型:void SetWindowText(LPCTSTR lpszString); 函数作用:设置编辑框的文本内容。
MFC常用类-CTimeSpan类
CTimeSpan类1.构造函数。
CTimeSpan类有下列构造函数:(1)CTimeSpan();(2)CTimeSpan(const CTimeSpan& timeSpanSrc );(3)CTimeSpan(time_t time );(4)CTimeSpan(LONG lDays, int nHours, int nMins, int nSecs );参数timeSpanSrc为一个已存在的CTimeSpan 对象,time为一个time_t 类型的时间值,lDays, nHours, nMins, nSecs分别为天数、小时数、分数和秒数。
2.时间值的提取函数(1)GetDays()获得CTimeSpan类对象中包含的完整的天数。
(2)GetHours()获得当天的小时数,值在-23到23之间。
(3)GetTotalHours()获得CTimeSpan类对象中包含的完整的小时数。
(4)GetMinutes()获得当前小时包含的分数,值在-59到59之间。
(5)GetTotalMinutes()获得CTimeSpan类对象中包含的完整的分数。
(6)GetSeconds()获得当前分钟包含的秒数,值在-59到59之间。
(7)GetTotalSeconds()获得CTimeSpan类对象中包含的完整的秒数。
格式化时间Format()将一个CTimeSpan对象转换成格式字符串。
使用方式与CTime类似,格式化字符包括以下几个:%D: CTimeSpan的总天数;%H:不足整天的小时数;%M:不足1小时的分数;%S:不足1分钟的秒数;%%:百分号。
4.重载运算符CTimeSpan类也重载了运算符“=”,“+”,“-”,“+=”,“-=”,“==”,“!=”,“<”,“>”,“<=”,“>=”,用于CTimeSpan对象的赋值、加减运算及两个CTimeSpan对象的比较。
mfc 教程
mfc 教程MFC(Microsoft Foundation Classes)是一种用于开发Windows应用程序的C++框架,由Microsoft推出。
它提供了一系列的类和函数,简化了Windows编程的复杂性,使开发人员可以更轻松地创建各种功能强大且交互性良好的应用程序。
MFC教程的目的是帮助初学者了解MFC的基本概念和使用方法,以便能够利用MFC框架开发自己的Windows应用程序。
本教程将介绍MFC的主要组成部分、常用类以及一些常见的编程技巧,帮助读者快速上手。
第一部分将介绍MFC的基本概念和架构。
我们将了解MFC是如何工作的,包括应用程序对象、文档/视图体系结构和消息映射等主要概念。
我们还将学习如何创建一个简单的MFC应用程序,并进行窗口的创建和管理。
第二部分将深入介绍MFC的常用类。
我们将重点介绍窗口类和控件类,包括CWnd、CFrameWnd、CDialog、CButton等。
我们将学习如何使用这些类创建窗口、控件,并处理用户输入事件。
我们还将讨论一些常见的绘图和动画技术,如GDI绘图和使用定时器实现动画效果。
第三部分将介绍MFC的高级特性和编程技巧。
我们将学习如何使用MFC的文档/视图体系结构创建多文档应用程序,并进行文档的管理和视图的同步更新。
我们还将介绍如何通过自定义类和重载消息处理函数来实现定制化的功能。
此外,我们还将讨论一些高级主题,如线程编程和网络编程。
最后,本教程还将介绍一些常见的MFC开发工具和资源。
我们将介绍MFC的IDE(集成开发环境)和调试工具,并提供一些常用的网站和论坛供读者进一步学习和交流。
总结起来,本教程将帮助读者掌握MFC的基本概念和编程技巧,并能够利用MFC框架开发自己的Windows应用程序。
我们将通过实例和演示代码来讲解,帮助读者理解和应用所学知识。
阅读本教程后,读者将具备一定的MFC编程基础,并能够进一步深入研究和应用MFC框架。
希望本教程能够对MFC初学者有所帮助,让他们更加轻松地学习和掌握MFC编程。
MFC类库的基本类
MFC类库是一个层次结构,主要有CObject类、应用程序类、可视对象类、绘图和打印类、通用类、数据库类、Internet和网络类、OLE类。
(1)CObject类CObject类是MFC的抽象基类,MFC中的大多数类是从CObject类派生出来的。
它是MFC 中多数类和用户自定义的根类,该类为程序员提供了希望融入所编写程序的许多公共操作,包括对象的建立和删除、串行化支持、对象诊断输出、运行时信息以及集合类的兼容等。
CObject类的声明在Afx.h中。
(2)应用程序结构类该类主要用于构造框架应用程序的结构,提供了多数应用程序公用的功能.编写程序的任务是填充框架,添加应用程序专有的功能。
1.应用程序和线程支持类CWinThread类是所有线程的基类,窗口应用程序类CWinApp类就是从该类中派生来的。
每个应用程序有且只有一个应用程序对象,在运行程序中该对象和其他对象相互协调,该对象从CWinApp中派生出来。
该类封装了初始化、运行、终止应用程序的代码。
2.命令相关类CCmdTarget类是CObject的子类,它是MFC所有具有消息映射属性的基类。
消息映射规定了当一对象接收到消息命令时,应调用哪个函数对该消息进行处理。
程序员很少需要从CCmdTarget类中直接派生出新类,往往都是从它的子类中派生出新类。
如窗口类(CWnd)、应用程序类(CWinApp)、文档模板类(CDocTemplate)、视类(CView)及框架窗口类(CFrameWnd)等。
3.文档类文档对象由文档对象模板创建,用于管理应用程序的数据。
视图对象表示一个窗口的客户区,用于显示文档数据并允许读者与之交互。
有关文档/视结构的类如下:①CDocTemplate类:文档模板的基类。
文档模板用于协调文档、视图和框架窗口的创建。
②CSingleDocTemplate类:单文档界面(SDI)的文档模板。
③CMultiDocTemplate类:多文档界面(MDI)的文档模板。
mfc excel cborder类的用法
mfc excel cborder类的用法MFC(Microsoft Foundation Class)库是微软公司提供的用于开发Windows应用程序的类库,其中包含了许多常用的控件和组件。
Excel是Microsoft Office套件中的一个电子表格应用程序,使用MFC库可以方便地创建Excel应用程序。
在Excel中,可以使用边框(Border)来给单元格添加装饰效果,提高表格的美观程度。
本文将介绍MFC库中的CBorder类及其用法。
一、CBorder类概述CBorder类是MFC库中用于表示边框的类,它提供了许多方法和属性来设置边框的样式、颜色、粗细等属性。
在Excel应用程序中,可以使用CBorder类来创建单元格边框,并设置其样式、颜色和粗细等属性。
二、CBorder类的常用方法1. SetColor(COLORREF clr):设置边框的颜色。
2. SetStyle(int nStyle):设置边框的样式。
例如,可以用BS_SOLID、BS_DASHED、BS_DOTTED等样式常量来设置边框的线型。
3. SetWidth(int nWidth):设置边框的粗细。
4. GetColor():获取边框的颜色。
5. GetStyle():获取边框的样式。
6. GetWidth():获取边框的粗细。
三、CBorder类的使用示例下面是一个使用CBorder类的示例代码,用于创建一个带有红色实线边框的单元格:```cppCRect rect; // 单元格矩形区域CDC* pDC = GetDC(); // 获取设备上下文CPen pen(PS_SOLID, 1, RGB(255, 0, 0)); // 创建红色实线画笔CBorder border(pDC, &pen); // 创建边框对象,并传入画笔对象GetCell(0, 0)->SetBorder(border); // 将边框应用到单元格上ReleaseDC(pDC); // 释放设备上下文```上述代码中,首先创建了一个矩形区域rect,表示要添加边框的单元格位置。
4 MFC是什么
MFC程序的常用类
向导生成的MFC程序,一般包含如下的MFC类: ◆ (6) 对话框类CDialog——CDialog类用于在屏幕上显示
对话框的基类。对话框有两种类型:模态型和无模态 型。模态型对话框在应用程序继续之前必须由用户关 闭;无模态型对话框允许用户在不取消或不移去对话 框的情况下,显示其它对话框并返回到其它任务。 ◆ (7) 菜单类CMenu——CMenu类提供了生成、跟踪、更 新、破坏一个菜单的成员函数。 ◆ (8) 线程基类CWinThread——CWinThread类是MFC用来 封装线程的,包括UI线程和工作者线程。因此每个 MFC程序至少使用一个CWinThread派生类。被MFC程 序员熟知的CWinApp应用类就从这里派生。 当用户使用上述类时,应使用#include<afxwin.h>将头文 件afxwin.h包含到源文件中。
MFC中有的类不是从 CObject 派生而来的。 MFC类很庞大。对每一个类的使用都涉及到一定范
围的专业知识。 这些类为不同领域的专业程序设计人员提供很大的
方便之处:
即不同领域的专业人员用OOP设计自己的窗口程序 时,不用从头建立需要的类。而只消从MFC提供的相应 类继承而来即成。
几个重要的类
MFC的类随着版本的提高还会不断增加,“任 何人”要“全面的精通”这些类
◆ 在短时间是不现实的
(因为将学习与此类涉及到的有关专业知识)
◆ 也是不必要的。
学习Visual C++ 开发应该“了解”下面几个重 要的类,这几个重要的类构成 Visual C++ 开发 平台的基础。
◆ 简单值类型 CPoint 、CRect 、CSize、CString、 CTime
mfc使用手册
mfc使用手册MFC(Microsoft Foundation Class Library)是微软提供的一个类库,用于简化Windows应用程序的开发过程。
以下是MFC使用手册的简要介绍:1. 简介:MFC是一个基于C++的类库,它提供了许多用于构建Windows应用程序的类和函数。
通过使用MFC,开发人员可以快速地构建具有一致外观和感觉的应用程序,并利用Windows平台提供的各种功能。
2. 安装和配置:在开始使用MFC之前,您需要安装Microsoft Visual Studio并确保安装了MFC开发工作负载。
安装完成后,您需要创建一个新的MFC项目或打开一个现有的MFC项目。
3. 创建MFC应用程序:要创建一个新的MFC应用程序,您需要使用Microsoft Visual Studio的向导。
选择“File”菜单中的“New”选项,然后选择“Project”。
在弹出的对话框中,选择“MFC Application”并按照向导的提示完成应用程序的创建过程。
4. MFC类库:MFC提供了许多用于构建应用程序的类和函数。
以下是一些常用的MFC类:CWinApp:应用程序对象类,用于管理应用程序级别的操作,例如初始化应用程序和退出应用程序。
CWnd:窗口类,用于管理窗口的各种操作,例如创建窗口、处理消息和绘制窗口。
CDocument:文档类,用于管理应用程序中的文档数据。
CView:视图类,用于管理应用程序中的视图,例如显示文档数据和与用户交互。
5. MFC消息处理:MFC使用消息传递机制来处理用户与应用程序的交互。
每个窗口和控件都处理一组预定义的消息,例如鼠标点击、键盘输入和窗口大小改变等。
通过覆盖类中的虚函数,您可以定义应用程序如何响应这些消息。
6. MFC对话框和控件:MFC提供了许多内置的对话框和控件,例如按钮、文本框和列表框等。
您可以使用对话框编辑器来创建对话框,并将控件拖放到对话框中。
mfc list 用法
MFC(Microsoft Foundation Classes)是微软提供的一组用于开发Windows桌面应用程序的类库。
MFC List是MFC库中的一个类,用于表示和操作动态数组。
MFC List类的用法类似于标准C++的STL容器中的vector 类。
它提供了许多方法来添加、删除、访问和操作元素。
下面是一些常用的MFC List类方法:1. `AddTail()`:在列表的末尾添加一个元素。
2. `AddHead()`:在列表的开头添加一个元素。
3. `Insert()`:在指定位置插入一个元素。
4. `Remove()`:删除指定位置的元素。
5. `RemoveHead()`:删除列表的第一个元素。
6. `RemoveTail()`:删除列表的最后一个元素。
7. `GetCount()`:获取列表中元素的数量。
8. `GetAt()`:获取指定位置的元素。
9. `SetAt()`:设置指定位置的元素的值。
10. `GetHead()`:获取列表的第一个元素。
11. `GetTail()`:获取列表的最后一个元素。
使用MFC List类需要包含MFC的头文件,并在代码中定义MFC List对象,然后可以使用上述方法来操作列表。
以下是一个简单的示例:```cpp#include <afx.h> // 包含MFC头文件#include <iostream>int main(){CList<int, int> myList; // 定义一个整数类型的MFC List对象// 添加元素到列表中myList.AddTail(10);myList.AddTail(20);myList.AddTail(30);// 输出列表中的元素POSITION pos = myList.GetHeadPosition();while (pos != NULL){int num = myList.GetNext(pos);std::cout << num << " ";}std::cout << std::endl;// 删除元素并输出剩余元素myList.RemoveAt(1); // 删除第二个元素(索引为1)pos = myList.GetHeadPosition();while (pos != NULL){int num = myList.GetNext(pos);std::cout << num << " ";}std::cout << std::endl;return 0;}```上述示例演示了如何使用MFC List类来添加、删除和访问列表中的元素。
VS2010和MFC编程入门之42(MFC常用类:CString类)
VS2010MFC编程入门之四十二(MFC常用类:CString类)理解了分割窗口的有关知识,这里开始讲解MFC的一些常用类,先来说说CString类。
CString类简介CString类作为MFC的常用类,当之无愧。
可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。
因为字符串的使用比较普遍,而CString类又提供了对字符串的便捷操作,所以它给MFC开发人员带来了高的开发效率,受到了开发者的欢迎。
大家使用VS2010的话,可能会见到CStringT,实际上它是一个操作可变长度字符串的模板类。
CStringT模板类有三个实例:CString、CStringA和CStringW,它们分别提供对TCHAR、char和wchar_t字符类型的字符串的操作。
char类型定义的是Ansi字符,wchar_t类型定义的是Unicode字符,而TCHAR取决于MFC工程的属性对话框中的Configuration Properties->General->Character Set属性,如果此属性为Use Multi-Byte Character Set,则TCHAR类型定义的是Ansi字符,而如果为Use Unicode Character Set,则TCHAR类型定义的是Unicode字符。
三个字符串类的操作是一样的,只是处理的字符类型不同。
鸡啄米以CString类为讲解对象。
CString类的字符串操作1. CString类的构造函数CString类有很多构造函数,这里只介绍几个比较常用的:CString(constCString&stringSrc);将一个已经存在的CString对象stringSrc的内容拷贝到该CString对象。
例如:C++代码CString str1(_T("")); // 将常量字符串拷贝到str1 CString str2(str1); // 将str1的内容拷贝到str2CString(LPCTSTR lpch, intnLength);将字符串lpch中的前nLength个字符拷贝到该CString对象。
MFC常用类介绍
MFC常用类介绍(一)C++学习 2010-06-27 11:43:05 阅读332 评论0 字号:大中小订阅CStaticCObject└CCmdTarget└CWnd└CStaticCStatic类提供了一个Windows静态控件的性能。
一个静态控件用来显示一个文本字符串,框,矩形,图标,光标,位图,或增强的图元文件。
它可以被用来作为标签,框,或用来分隔其它的控件。
一个静态控件不接收输入,也不提供输出;但是,如果它是用SS_NOTIFY风格创建的,则它可以通知其父有关设备点击的消息。
创建一个静态控件分两步。
首先,调用构造函数来构造此CStatic对象,然后调用Create成员函数来创建此静态控件并将它与该CStatic对象连接。
如果你是在一个对话框中创建了一个静态控件(通过一个对话框资源),则当用户关闭这个对话框时,此CStatic对象被自动销毁。
如果你是在一个窗口中创建了一个CStatic对象,则必须由你来销毁它。
在一个窗口的堆栈中创建的CStatic对象将自动被销毁。
如果你是使用new函数在堆中创建CStatic对象,则当你使用完后,必须调用delete来销毁这个CStatic 对象。
#include<afxwin.h>请参阅:CWnd,CButton,CComboBox,CEdit,CListBox,CScrollBar,CDialogCStatic类成员构造CStatic构造一个CStatic对象初始化Create创建Windows静态控件并将它与该CStatic对象连接操作符SetBitmap指定要在此静态控件中显示的位图GetBitmap获取先前用SetBitmap设置的位图的句柄SetIcon指定一个要在此静态控件中显示的图标GetIcon获取先前用SetIcon设置的图标的句柄SetCursor指定要显示在此静态控件中的光标图像GetCursor获取先前用SetCursor设置的光标图像的句柄SetEnhMetaFile指定要显示在此静态控件中的增强的图元文件GetEnhMetaFile获取先前用SetEnhMetaFile设置的增强图元文件的句柄CEditCObject└CCmdTarget└CWnd└CEditCEdit类提供了Windows编辑控件中的功能。
MFC常用的类及其成员函数简介
MFC常用类及其成员函数CRuntimeClass结构在CRuntimeClass结构中定义了类名、对象所占存储空间的大小、类的版本号等成员变量及动态创建对象、派生关系判断等成员函数。
每一个从CObject 类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时得到对象的信息或基类的信息。
要使用CRuntimeClass结构,必须结合使用RUNTIME_CLASS()宏和其他有关运行时类型识别的MFC宏。
CCmdTarget类(1)消息发送MFC应用程序为每个CCmdTarget派生类创建一个称为消息映射表的静态数据结构,可将消息映射到对象所对应的消息处理函数上。
(2)设置光标BeginWaitCursor() 将光标改为沙漏形状;EndWaitCursor() 将光标改回到之前的形状;RestoreWaitCursor()用于将光标还原为等待状态。
(3)支持自动化CCmdTarget类支持程序通过COM接口进行交互操作,自动翻译COM接口的方法。
CWinThread类由CCmdTarget派生,主要工作是创建和处理消息循环。
CWinApp类从CWinThread类派生,成员函数InitApplication()、InitInstance()、Run()。
在InitInstance()函数中,创建了一个单文档模板类或多文档模板类(CDocTemplate)的对象,并且在文档模板的构造函数中,系统定义的宏RUNTIME_CLASS创建了文档类对象,框架窗口类对象和视图类对象.在MFC应用程序中有且仅有一个CWinApp派生类的对象,代表程序运行的主线程,代表应用程序本身。
CWnd类由CCmdTarget类直接派生,是MFC中最基本的GUI对象。
公共变量m_hWnd 用于存放供API函数调用的窗口句柄。
CframeWnd类从CWnd类派生而来,主要用来掌管一个窗口。
其对象是一个框架窗口,包括边界、标题栏、菜单、最大化按钮、最小化按钮和一个激活的视图。
MFC入门教程范文
MFC入门教程范文MFC(Microsoft Foundation Classes)是微软公司为Windows操作系统开发的一套C++类库,用于快速开发Windows应用程序的框架。
MFC 提供了丰富的类和函数,可以用来创建窗口、对话框、按钮等控件,并实现与用户的交互。
本文将为你介绍MFC的基本概念和一些常用的操作。
一、MFC的基本概念1. 窗口类(CWnd):MFC中的窗口类是所有控件和对话框的基类,它提供了创建和管理窗口的功能。
2. 控件类(CButton、CEdit等):MFC提供了各种控件类,用于创建和管理各种窗口控件,如按钮、文本框、列表框等。
3. 对话框类(CDialog):对话框是一种特殊的窗口,用于显示用户界面和处理用户输入。
MFC提供了对话框类,用于创建和管理对话框。
4. 消息映射(Message Map):MFC中的消息映射是一种将窗口消息与相应函数关联起来的机制。
通过消息映射,可以方便地处理各种用户输入事件,比如鼠标点击、键盘按键等。
二、MFC的基本操作1. 创建一个MFC应用程序:打开Visual Studio,选择"创建新项目",在向导中选择"MFC应用程序",填写项目名称和保存路径,点击"确定"完成创建。
在进行项目设置时,可以选择要使用的MFC版本和应用程序类型。
2. 创建窗口:在MFC应用程序中,可以使用CWnd类的Create函数来创建一个窗口。
首先定义一个CWnd对象,调用Create函数指定窗口样式、位置和大小等参数,最后调用ShowWindow函数显示窗口。
3. 创建控件:在MFC应用程序中,可以使用各种控件类来创建窗口控件。
首先定义一个控件类对象,调用Create函数指定控件样式、位置和大小等参数,最后调用ShowWindow函数显示控件。
4.处理消息:在MFC应用程序中,可以通过重写消息处理函数来处理各种用户输入事件。
MFC常用类-CTime类
CTime类1.构造和初始化CTime类对象CTi me类有下列构造函数:CTi me();CTi me(const CTi me& timeSrc );CTi me(time_t time );CTi me(int nYear, int nMonth, int nDay, int nHour, int nMin, int nSec, int nDST = -1 );CTi me(WORD wDosDate, WORD wDosTime, int nDST = -1);CTi me(const SYSTEMTIME& sysTi me, int nDST = -1 );CTi me(const FILETIME& fileTi me, int nDST = -1);说明:以不同的方式构造一个CTi me对象。
可以用一个已经存在的CTi me对象或一个time_t(在ti me.h中被定义为long)类型变量来构造和初始化CTi me对象,也可以用年、月、日、小时、分、秒来构造和初始化CTi me对象,还可以用SYSTEMTIME、FILETIME结构来构造和初始化CTime对象。
SYSTEMTIME、FILETIME结构定义如下:typedef struct _SYSTEMTIME {WORD wYear;WORD wMonth;WORD wDayOfWeek;WORD wDay;WORD wHour;WORD wMinute;WORD wSecond;WORD wMilliseconds;} SYSTEMTIME;typedef struct _FILETIME {DWORD dwLowDateTime; /* low 32 bits */DWORD dwHighDateTime; /* high 32 bits */} FILETIME, *PFILETIME, *LPFILETIME;2.时间值的提取函数(1)GetCurrentTime()获取系统当前时间。
MFC常用控件
MFC常用控件
2021/7/1
1
对话框的组成
在VC++中,对话框主要是由对话框资源和对话框类组 成:
1. 对话框资源
对话框资源中描述的是对话框的大小、风格等特性, 以及对话框中控件的类型和它们的位置。定义对话框 资源最简单、最有效的方法就是使用Visual C++中的 资源编辑器。
2. 对话框类
10数据交换mfc类库使用数据交换ddx机制在对话框的控件和对话框类的数据成员之间交换数据updatedatatrue将数据从对话框的控制传递到对话框对象的数据成员缺省的调用在对话框的onokupdatedatafalse将数据传送到对话框中缺省的调用发生在对话框的oninitdialog创建一个有模式对用户可以在任何时候调用updatedata进行数据交换该函数参数缺省值为true
静态文本控件(Static Text Control); 静态图片(Picture Control);属性有:Center,image,Real
size,Type,Image和Color
2021/7/1
11
按钮
常见的按钮有如下几种类型:命令按钮、单选按钮和复选 按钮。
➢ 命令按钮(button):命令按钮适用于消息的发送,通常用于执行某个命 令。
2021/7/1
21
MFC中常用数据类型
typedef unsigned short WORD; windef.h
typedef unsigned short wchar_t
typedef short SHORT; winnt.h
//整型typedef int
下面将介绍一些常用数据类型的使用:
我们先定义一些常见类型变量借以说明
int i = 100;
long l = 2001;
float f=300.2;
double d=12345.1பைடு நூலகம்9;
char username[]="女侠程佩君";
char temp[200];
char *buf;
CString str;
_variant_t v1;
_bstr_t v2;
一、其它数据类型转换为字符串
短整型(int)
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
LPCRECT:32-bit指针,指向一个不变的RECT结构
L表示long指针, 这是为了兼容Windows 3.1等16位操作系统遗留下来的, 在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。
P表示这是一个指针
C表示是一个常量
同样, LPCSTR就只能是一个ANSI字符串, 在程序中我们大部分时间要使用带T的类型定义。
LPCTSTR == const TCHAR *
MFC/windows基本数据类型详细介绍
#define FALSE 0 afx.h
#define TRUE 1 afx.h
MFC的基本组成及程序模式类型
MFC的基本组成及程序模式类型MFC(Microsoft Foundation Class)是一种用于开发Microsoft Windows平台应用程序的编程框架,它提供了一套可重用的类库,使开发人员可以更轻松地创建Windows应用程序。
1. 控件(Controls):MFC提供了很多常用的控件,如按钮、文本框、列表框、组合框等,开发人员可以直接使用这些控件来构建用户界面。
2. 对话框(Dialogs):MFC支持对话框的创建和管理,开发人员可以通过对话框来实现复杂的用户交互。
3. 文档视图架构(Document-View Architecture):MFC提供了文档视图架构,使开发人员可以更方便地实现文档和视图的交互,以及与用户的交互。
4. 消息映射(Message Mapping):MFC通过消息映射机制来处理事件,开发人员可以通过添加消息映射函数来响应用户的输入或其他事件。
5. 消息循环(Message Loop):MFC提供了消息循环机制,用于处理窗口消息,并将其传递给适当的窗口进行处理。
6. 应用程序类(Application Class):MFC的应用程序类是一个派生自CWinApp的类,它提供了应用程序的初始化和运行控制。
MFC的程序模式类型主要有以下几种:1. 单文档(SDI,Single Document Interface)模式:在单文档模式下,应用程序只能打开一个文档,并在主窗口中显示该文档。
用户可以通过菜单或工具栏命令来操作文档。
2. 多文档(MDI,Multiple Document Interface)模式:在多文档模式下,应用程序可以同时打开多个文档,并在子窗口中显示这些文档。
用户可以通过菜单或工具栏命令在不同的子窗口之间切换。
3. 对话框(Dialog)模式:在对话框模式下,应用程序的主窗口是一个对话框。
用户可以通过对话框上的控件进行操作,以实现与应用程序的交互。
VS2010和MFC编程入门之43(MFC常用类:CTime类和CTimeSpan类)
VS2010MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)理解了MFC常用类CString类的用法,这里继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类。
日期和时间类简介CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。
CTimeSpan类的对象表示的是时间间隔。
CTime类和CTimeSpan类一般不会被继承使用。
两者对象的大小都是8个字节。
CTime表示的日期上限是3000年12月31日,下限是1970年1月1日 12:00:00 AM GMT。
CTime类的主要成员函数下面列出CTime类的主要成员函数,并加以讲解。
CTime();构造一个未经初始化的CTime对象。
此构造函数使我们可以定义一个CTime对象的数组,在使用数组前需要以有效的时间值为其初始化。
CTime(__time64_t time);以一个__time64_t(注意:最前面的下划线有两条)类型的数据来构造一个CTime对象。
参数time是一个__time64_t类型的值,表示自GMT时间1970年1月1日零点以来的秒数,这里要注意的是,参数time代表的时间会转换为本地时间保存到构造的CTime对象中。
例如,我们传递参数0构造一个CTime对象,然后调用CTime对象的GetHour成员函数将返回8,因为参数0代表的GMT时间转换为北京时间后为1970年1月1日 8:00:00。
CTime(intnYear,intnMonth,intnDay,intnHour,intnMin,intnSec,intnDST = -1);以本地时间的年、月、日、小时、分钟、秒等几个时间分量构造CTime对象。
参数nYear、nMonth、nDay、nHour、nMin、nSec分别表示年、月、日、小时、分钟、秒,取值范围如下:时间分量取值范围nYear1970-3000nMonth 1-12nDay 1-31nHour 0-23nMin 0-59nSec 0-59参数nDST指定是否实行夏令时,为0时表示实行标准时间,为正数时表示实行夏令时,为负数时由系统自动计算实行的是标准时间还是夏令时。