自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

转载 CListCtrl

CListCtrl使用技巧汇总 以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn //整理过程中加入自己实践过程的一些使用代码   1. CListCtrl 风格       LVS_ICON: 为每个item显示

2012-09-04 10:08:17 633

转载 Windows线程同步API

本文主要总结创建、结束线程和WIN32 API提供的一些线程同步方法。同步方法包括用户态同步方式:InterLock、CriticalSection、SRWLock和内核态同步方式:Event、Semaphore、Mutex等。本文通过简单的例子演示API的使用,没有包含原理的说明,假定读者具有其他语言或者平台的并发编程经验。 创建、结束线程 WIN32 API虽然提供了CreateThead

2012-09-02 13:35:08 634

转载 临界区,互斥,信号量

临界区(criticalSection) 又称阻塞,它能够使一段代码只由一个线程来执行,其它线程被挡在这段代码之外,直到第一个线程执行完代码。临界区的使用主要涉及如下API函数: initializeCriticalSection(), 在临界区首次使用之前,用此函数进行初始化。 deleteCreticalSection(), 在临界区不再使用之前,用此函数释放临界区。 en

2012-07-18 15:15:53 1759

转载 COM原理及应用----命名和绑定技术

1、COM对象的创建方法        客户程序可以通过CoCreateInstance函数创建COM,在创建之前必须知道对象的一些基本情况,比如对象的CLSID或者对象的ProgID。        另一种对象创建方法是通过名字对象(moniker)创建,就是利用对象命名和绑定技术(即名字技术)。 2、名字技术的地位        名字技术算不上COM的基本核心,但也是COM体系结构

2012-03-30 15:04:50 1416

转载 com 名字对象(3)使用IMoniker

一.名字对象比较 Hash和IsEqual方法 IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); DWORD dw; moniker2->Hash(&dw); IMoniker* moniker3=NULL; CreateFileMoniker(OLESTR("F:\\test

2012-03-30 14:56:38 2539

转载 com 名字对象(2)创建名字对象(IMoniker)

1.文件名字对象 IUnknown* pUnk = NULL; IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("E:\\test.xlsx"),&moniker2); //another way(bind) to get IUnknown //get pUnk from moniker2 hr =moniker2->BindToOb

2012-03-30 14:56:04 1445

转载 com 名字对象(1)IBindCtx

一.IBindCtx Provides access to a bind context, which is an object that stores information about a particular moniker binding operation. How to create IBindCtx* bindCtx=NULL; CreateBindCtx(0,&bindCt

2012-03-30 14:55:25 1354

原创 VS2008 MFC ATL编写简单的word菜单项

首先建立一个MFC DLL项目: 新建->项目->MFC->MFC DLL->完成 选中新建项目名称->添加类->ATL简单对象->起个名字->完成   点击类视图,在你刚才添加的类中鼠标右键添加实现接口   完成。   点击资源文件(后缀名为rgs)双击打开 加入以下代码 HKCU { Software { Microsoft

2012-03-20 15:27:56 1744

转载 VARIANT 与 CComVariant 的使用

VARIANT是COM中,为了传递未知的数据类型,或者为了传递可变的数据类型,而引入的一种结构体。这种结构拥有自己解释所包含的数据类型的能力。     VARIANT有一个变量vt, 类型为VARTYPE,指定了数据类型:比如:VT_I2,VT_I4,VT_R4,VT_R8等,分别表示short,long,float,double,    对应的值分别存在iVal,lVal,fltVal,db

2012-03-16 15:19:11 1797

转载 升级基于ATL3.0的项目到ATL7.0(VC6.0 to VS2008)[移植变更点]

ATL3.0与7.0在实现细节方面改变比较多,其中对原来的模版类进行了拆分,实现更为细致。同时,从VC6移过来的程序,为了保证其后的兼容性,如果不是Unicode,最好在本次升级中一步到位。 具体变更: MyCom程序 ATL 3.0(VC6.0 / ANSI) ATL 7.0 (Unicode) 主线程文件: class CMyComA

2012-03-16 09:44:26 602

转载 C++运算符优先级

优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 作用域操作符 后置自增操作符 后置自减操作符 (a + b) / 4; array[4] = 2; ptr->age = 34; obj.age = 34;

2012-03-09 15:55:17 485

转载 CString赋值给char数组

1.传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全. 2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch = cstr.GetBuffer(cs

2012-02-29 08:31:38 4917

转载 MFC---Combox用法简介

Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选 项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。 1、定义控件对应变量 假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件

2012-02-28 16:01:07 1351

转载 CString常用方法简介

CString常用方法简介 1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CStri

2012-02-28 15:59:51 476

word菜单插件

MFC ATL编写的 word菜单插件 简单的实现了 在word菜单上弹出对话框

2012-03-20

空空如也

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

TA关注的人

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