摘要:
1.STDMETHOD_(ULONG, AddRef)() PURE;STDMETHOD_:定义一个返回指定类型的虚方法,STDMETHOD:定义一个返回HRESULT类型的虚方法, PURE : = 0;即 纯虚函数。STDMETHODIMP:定义了一个返回HRESULT的接口函数。 #define STDMETHODIMP HRESULTSTDMETHODCALLTYSTDMETHODIMP_:定义了一个返回指定类型的接口函数。 #define STDMETHODIMP_(type) type STDMETHODCALLTYPE2.__declspec(novtable) :就是让类不.. 阅读全文
posted @ 2014-01-20 17:43
Jamy Cai
阅读(737)
评论(0)
推荐(0)
摘要:
__stdcall 与 __cdecl:__cdecl,__stdcall是声明的函数调用协议.主要是传参和弹栈方面的不同.一般c++用的是__cdecl,windows里大都用的是__stdcall(API)__cdecl是C/C++和MFC程序默认使用的调用约定,也可以在函数声明时加上__cdecl关键字来手工指定。采用__cdecl约定 时,函数参数按照从右到左的顺序入栈,并且由调用函数者把参数弹出栈以清理堆栈。因此,实现可变参数的函数只能使用该调用约定。由于每一个使用 __cdecl约定的函数都要包含清理堆栈的代码,所以产生的可执行文件大小会比较大。__cdecl可以写成_cdecl。 阅读全文
posted @ 2014-01-20 17:39
Jamy Cai
阅读(286)
评论(0)
推荐(0)
摘要:
发送端:新建一个基本对话框工程,添加6个文本框控件,并且关联控件变量(CString类型):m_strCopyData, m_strFileMap, m_strMem,m_strRegMsg, m_strUserMsg, m_strClipBoard然后在 CPP 文件里面,做如下定义:#define BUFFER_SIZE0x100 // 用内存地址通信时分配的最大内存.#define WM_COMMWM_USER+100const UINTwm_nRegMsg=RegisterWindowMessage("reg_data");const UINTwm_nMemMsg= 阅读全文
posted @ 2014-01-20 17:37
Jamy Cai
阅读(452)
评论(0)
推荐(0)
摘要:
(1) 线程的创建:(主要以下2种)CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID lParam, int nPriority =THREAD_PRIORITY_NORMAL, UINT nStackSize= 0, DWORDdwCreateFlags = 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs = NULL );HANDLECreateThread( LPSECURITY_ATTRIBUTESlpThreadAttributes, // SD SIZE_T... 阅读全文
posted @ 2014-01-20 17:34
Jamy Cai
阅读(422)
评论(0)
推荐(0)
摘要:
1. 工具:1.1设备环境类:Windows下的绘图操作说到底就是DC操作。DC(Device Context设备环境)对象是一个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其它。这个环境是设备无关的,所以你在对不同的设备输出时只需 要使用不同的设备环境就行了,而作图方式可以完全不变。这也就是Windows的设备无关性。MFC的CDC类封装了Windows API 中大部分的画图函数。CDC的常见操作函数包括:Drawing-Attribute Functions:绘图属性操作,如:设置透明模式Mapping Functions:映射操作Coordinate Functions:坐标操 阅读全文
posted @ 2014-01-20 17:33
Jamy Cai
阅读(2500)
评论(0)
推荐(0)
摘要:
在VC++开发中,经常会用到string和wstring,这就需要二者之间的转换,项目中封装了wstring和string相互转换的2个函数,实现如下://将wstring转换成stringstd::string ConvertWStringToAnsi(std::wstring wstr){ std::string result; int len = WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), NULL, 0, NULL, NULL); if( len <= 0 ) return result; char* buf 阅读全文
posted @ 2014-01-20 16:44
Jamy Cai
阅读(2460)
评论(0)
推荐(0)
摘要:
第一步:打开VS2010项目的SLN文件有如下代码:Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010将之改为:Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008第二步:打开VS2010项目的 .csproj和.csproj.user文件的开头会有如下代码:ToolsVersion="4.0"将之改为:ToolsVersion="3.5"完成 阅读全文
posted @ 2014-01-20 16:07
Jamy Cai
阅读(271)
评论(0)
推荐(0)

浙公网安备 33010602011771号