MFC学习笔记-界面00、动态数组
来源:互联网 发布:php pack 函数 java 编辑:程序博客网 时间:2024/05/21 22:34
1,DECLARE_DYNCREATE( class_name )
参数:
class_name 类的实际名字(不用引号括起来)。
说明:
使用DECLARE_DYNCREATE宏可以使每个CObject的派生类的对象具有运行时动态创建的能力
MTestClass.h
class CMTestClass : public CObject{ DECLARE_DYNCREATE(CMTestClass)public: CMTestClass(); virtual ~CMTestClass();}
MTestClass.cpp
#include "MTestClass.h"IMPLEMENT_DYNCREATE(CMTestClass,CObject)CMTestClass::CMTestClass(){}CMTestClass::~CMTestClass(){}
2,GetTickCount()
说明:
GetTickCount返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数,它的返回值是DWORD
3,AfxGetApp()
获取当前的App
(class_name )* pApp = (class_name *)AfxGetApp();
4,直接可以使用枚举的值,枚举定义最后必须有分号结束(C#无)
enum Test{ ENUM_TEST1=0, ENUM_TEST2, ENUM_TEST3,};UINT i=ENUM_TEST2;//i=1;//C# enum Test//C# {//C# ENUM_TEST1=0,//C# ENUM_TEST2,//C# ENUM_TEST3,//C# }//C# uint i=(uint)Test.ENUM_TEST2;////i=1;
5,CArray < TYPE,ARG_TYPE >
MFC使用CArray类定义动态数组
参数说明:
TYPE 参数来指定数组元素的类型
ARG_TYPE 参数来指定函数参数的类型。例如CArray类的Add成员函数采用ARG_TYPE参数
6,Vector< TYPE>
C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组
#include <vector>using namespace std;vector<int> m_vector;
7,List< TYPE>
C++使用,将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢
#include <list>using namespace std;list<int> m_list;
8,map < Key,Value >
C++中使用,提供一个键值对容器,注:参考CArray理解参数意思
注:有点类似C#中的字典Dictionary < Type1,Type2 >
#include <map>using namespace std;map<int,string> m_map;
9,CMap< KEY,ARG_KEY,VALUE,ARG_VALUE >
MFC提供使用类似字典的键值容器
CMapWordToPtr 保存void指针,关键字为WORD
CMapPtrToWord 保存WORD,关键字为void指针
CMapPtrToPtr 保存void指针,关键字为其它void指针
CMapWordToOb 保存CObject指针,关键字为WORD
CMapStringToOb 保存CObject指针,关键字为字符串
CMapStringToPtr 保存void指针,关键字为字符串
CMapStringToString 保存字符串,关键字为字符串
声明:
CMap < SOCKET, SOCKET, char*, char* > m_SockToUserIDMap; CMap < char*, char*, SOCKET, SOCKET> m_UserIDToSockMap;
赋值:
m_SockToUserIDMap[pUserInfo->sSocket] = pszUserID; m_UserIDToSockMap[pszUserID] = pUserInfo->sSocket;
取值:
char *pszUserID = m_SockToUserIDMap[sSock]; SOCKET sSock = m_UserIDToSockMap[pszUserID];
此处略去CMyData的代码。
以下演示CMap的基本用法,其它的也都差不多的用法,只是其中元素变一变。
//定义类型
typedef CTypedPtrMap <CMapStringToOb,CString,CMyData*> CMapDataMap;
- MFC学习笔记-界面00、动态数组
- MFC学习笔记-界面01
- MFC学习笔记-界面02
- 学习笔记---动态数组实现
- 学习笔记之动态数组
- SystemVerilog学习笔记 - 动态数组
- android学习笔记2:动态生成界面
- MFC学习笔记_动态创建1
- MFC界面开发笔记
- MFC界面开发笔记
- MFC会播放的界面,动态界面
- C++学习笔记之“动态数组”
- C++ Primer 学习笔记:动态数组
- CArray 动态数组模板类学习笔记
- STL学习笔记-vector容器(动态数组)
- C++ Primer 学习笔记_14_动态数组
- 安卓学习笔记08——动态刷新界面
- MFC学习笔记四——动态创建 Dynamic Creation
- 离线环境下构建 sbt 项目
- java虚拟机运行时内存分配
- MFC中SetTimer定时不准确?试试用多媒体定时器吧
- JAAS:灵活的Java安全机制
- Swift下标
- MFC学习笔记-界面00、动态数组
- camera2 opengl实现滤镜效果录制视频 目录
- 欧几里得和扩展欧几里得讲解(基础数论)
- Brackets(POJ
- 文章标题
- oracleday20(游标 分页 分页的扩展 让分页的构成更加实用 视图)
- POJ-1258-Agri-Net [最小生成树]
- spring mvc转发
- PAT basic 1040