自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 CStringW 和CStringA互转

CStringA CUserPacketToolDlg::CStrW2CStrA(const CStringW &cstrSrcW) { int len = WideCharToMultiByte(CP_ACP, 0, LPCTSTR(cstrSrcW), -1, NULL, 0, NULL, NULL); char *str = new char[len]; memset(

2017-05-03 10:52:52 1079

原创 MFC CArray使用详解

MFC的数组类支持的数组类似于常规数组,可以存放任何数据类型。常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,即先确定大小,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。  MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CArray,

2017-03-03 16:48:50 953

原创 VC++ _T()的作用

VC++里面定义字符串的时候,用_T来保证兼容性。VC++支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T。_t("hello world")在ansi的环境下,它是ansi的,如果在unicode下,那么它将自动解释为双字节字

2017-03-03 15:40:31 1412

原创 #ifdef _DEBUG用法小结

1#ifdef _DEBUG virtual void AssertValid() const; //assert(断言)valid(有效的,正确的)virtual void Dump(CDumpContext& dc) const; //存储上下文#endif这两个函数是调试用的,第一个函数检查可用性,即是否有效 第二个函数如果未更改的话,最终调用的是Cwnd::Dump

2017-03-03 15:34:25 2458

原创 C++ 构造函数

1)构造函数、析构函数与赋值函数构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A 产生四个缺省的函数,例如:

2017-03-03 15:18:27 294

原创 C++中extern “C”含义深层探索

C++中extern “C”含义深层探索  1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语

2017-03-03 14:36:45 230

原创 EditBox 控件的用法

设置控件的容量:EditBox控件默认情况下只能装入64k的文本,如果超出,多出部分会被自动截掉。利用CEdit的SetLimitText()函数可重新设置控件容量函数原型:Void SetLimitText(UINT nMax)参数为nMax为控件可接收的文本最大字节数。设置方法:用ClassWizard在CEditBox类中添加消息函数PreSubclassWind

2017-03-03 14:04:09 3269 1

原创 GetModuleFileName 函数的用法

DWORD WINAPI GetModuleFileName(    _In_opt_  HMODULE hModule,  //一个模块的句柄。可以是DLL模块,或应用程序的实例句柄。如果该参数为NULL.该函数返回该应用程序的全路径    _Out_     LPTSTR lpFilename,//指定一个字符缓冲区,要在其中容纳文件的用NULL字符种植的路径名,    _In_

2017-03-03 13:31:24 1441 1

原创 GetFileSizeEx 用法

获取文件的长度:1.C语言获取文件长度if(!(fp=fopen(filename,“rb”)))//以二进制打开文件{printf(“Can not open this file!\n”);continue;}fseek(fp,0,SEEK_END); //文件指针转到文件末尾if((len=ftell(fp))==-1)//ftell函数返回long,最

2017-03-03 13:30:10 2345

原创 C++ pair的用法

Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。 pair a("James", "Joy");也可以像上面一样在定义的时候直接对其初始化。 由于p

2017-03-03 13:28:58 535

原创 C++  map用法

map 是一种关联容器,  提供一对一的关联, 关联的形式为: KEY----VALUE     关键字不重复。multimap与map类似,但是允许关键字重复即:关键字和与之对应的值关键字起到索引的作用, 在map中查找记录 就是根据关键字查找,关键字和值可以是任意类型map 也可看做是关键字映射的集合即map中不可出现重复的关键字,每条映射的关键字都是不同的。          

2017-03-03 13:26:54 606

原创 duilib基础知识

DuiLib库 我们把它分为四个模块(核心,基础,控件,另外的库),当前有些也会把它分为5个模块(用户界面层,数据,事件处理,渲染模块,插件模块)我们先讲下四个模块里包含了那些类一.核心模块:UIMarkup(解析XML), CMarkupNode(节点),CRenderClip(渲染区域控制), CRenderEngine(渲染引擎), CPaintManagerUI(绘

2017-03-03 13:24:01 503

原创 win32创建窗口流程

#include #include LRESULT CALLBACK winSunpro(HWND hwnd,  UINT uMsg,  WPARAM wParam,LPARAM lParam);int WINAPI WinMain( __in HINSTANCE hInstance,   __in_opt HINSTANCE hPrev

2017-03-01 16:49:42 532

转载 对话框中设置静态文本框字体及颜色

1、添加对话框类声明中字体和颜色变量[cpp] view plain copypublic: CFont m_myFont; // 字体对象 COLORREF m_myColor; // 颜色对象 2、在对话框初始化函数OnInitDialog()中对字体和颜色进行初始化[cpp] view plain copy// TODO: 在此添加额外的初始化代

2016-10-25 22:48:53 340

转载 BSTR类型

概述  它被描述成一个与自动化相兼容的类型,由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码。因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。为什么需要BSTR  COM是一种跨编程语言的平台,需要提供语言无关的数据类型。多数编程语言有自己的字符串表示。  ●C++ 字符串是以0结束

2016-10-25 22:45:04 563

转载 C++中各种数据类型转换

常用数据类型使用转换详解  leo:要在Unicode字符集环境下把CString转化为char*方法:   CString str = _T("D://校内项目//QQ.bmp");//////leo这个NB  可以降在Unicode下的CString转化为char*    //声明标识符    USES_CONVERSION;    //调用函数,T2A和W2A均支

2016-10-25 22:27:32 909

转载 Windows数据类型的罗列

WORD:16位无符号整形数据DWORD:32字节无符号整型数据(DWORD32)DWORD64:64字节无符号整型数据INT:32位有符号整型数据类型INT_PTR:指向INT数据类型的指针类型INT32:32位符号整型INT64:64位符号整型UINT:无符号INTLONG:32位符号整型(LONG32)ULONG:无符号LONGLONGLONG:64位

2016-10-25 22:21:19 325

转载 C++中_T()和L的区别以及TEXT()和_TEXT的区别

字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。以下是别人的总结:

2016-10-25 22:12:43 1615

转载 MessageBox详解

如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。   但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox:1.更多的时候是用于调试      2.A

2016-10-25 22:00:45 513

原创 VS读取配置文件.ini

配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);读取.ini文件:DWORD GetPrivateProfileString(LPCTST

2016-10-25 21:39:31 3733

转载 CString 所有成员函数详解

VC里CString是我们最常用的类之一,我们觉得对它很熟悉了,可是你知道它的所有用法吗?还是系统的学习一下吧,认真看完本文就OK了。下面开始:CString::Compare int Compare( LPCTSTR lpsz ) const;返回值 字符串一样 返回0小于lpsz 返回-1大于lpsz 返回1 区分大小字符 CString

2016-10-19 22:29:05 539

转载 CString常用方法

CString Left(intnCount)const; //从左边1开始获取前 nCount个字符  CString Mid(intnFirst)const; //从左边第 nCount+1个字符开始,获取后面所有的字符  CString Mid(intnFirst,intnCount)const; //从左边第 nFirst+1 个字符开始,获取后面nCount个字符  CStr

2016-10-19 22:25:24 205

转载 MFC编程入门(常用控件:编辑框Edit Control)

编辑框的通知消息       编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点右键,选择“Add Event Handler”,为编辑框添加消息处理函数时,可以在“Message type”列表中看到这些消息。下面简单介绍编辑框的部分通知消息。       EN_CHANGE:编辑框的内容被用户改变了,与EN_UPDATE 不同,该消息是在编辑框显示的正文被刷新后才发

2016-10-19 22:09:41 996

原创 MFC CFileDialog 实例

void CSignToolDlg::OnBnClickedBtnBrowse(){UpdateData(TRUE); TCHAR szFileName[MAX_PATH] = {0};GetModuleFileName(NULL, szFileName, MAX_PATH);CString Filter_file = L"Supported Files(*.bin)|*.BI

2016-10-19 21:22:32 744

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除