自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 STL中map详解

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有

2015-12-28 14:51:39 199

转载 CWinThread的使用方法

CWinThread类成员数据成员 m_bAutoDelete 指定线程结束时是否要销毁对象   m_hThread 当前线程的句柄   m_nThreadID 当前线程的ID   m_pMainWnd 保存指向应用程序的主窗口的指针   m_pActiveWnd 指向容器应用程序的主窗口,当一个OLE服务器被现场激活时   构造函数 CWinThread 构造一个

2015-12-26 17:32:29 1202

转载 USB设备的插入检测

Device Class GUID, Device Interface Class GUID, Interface GUID是有区别的,另外奉上两篇MSDN文章:    http://msdn.microsoft.com/en-us/library/windows/hardware/ff553412(v=vs.85).aspx  http://msdn.microsoft.

2015-12-26 17:31:11 485

转载 重叠IO overlapped I/O 运用详解

I/O设备处理必然让主程序停下来干等I/O的完成,对这个问题有方法一:使用另一个线程进行I/O。这个方案可行,但是麻烦。                即 CreateThread(…………);创建一个子线程做其他事情。      Readfile(^…………);阻塞方式读数据。方法二:使用overlapped I/O。overlapped I/O是WIN32的一项技术, 你可以要

2015-12-26 16:57:17 726

原创 C++ STL算法

【C++ STL学习之一】容器的共通能力和共通操作总结一、C++ STL各容器有一些共通的能力其中三个最核心的能力是:(1)所有容器提供的是“value语意”而不是“reference语意”。容器进行元素的安插操作时,内部实施的是拷贝操作,存放的是元素的副本。因此容器的每一个元素必须能被拷贝。如果打算存放的对象不具备public 拷贝构造函数或者你要

2015-12-26 12:19:40 304

原创 stl中std::binary_function的使用

stl中 bind1st和 bind2nd  以及not1 等适配器的使用在我们使用stl的 一些算法的时候,比如find_if等,需要使用仿函数,如果仿函数有2个参数,但是算法需要一个一元的仿函数的时候,我们可以使用适配器,比如:bind1st和bind2nd来将仿函数适配成一元的操作符。     bind1st表示我们绑定第一个参数,bind2st表示我们绑定第

2015-12-26 11:57:07 702

转载 多线程之三:MFC多线程及实例

MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都

2015-12-18 16:32:15 275

转载 GetKeyState()和GetAsyncKeyState()的区别

使用::GetKeyState()返回一个short型的数,short型是16位有符号的数据类型,如果要查询的键被按下,返回值最高位被置1,则这个数表示负数,所以可以用0来判断。0x8000是16进制数,用2进制表示为1000 0000 0000 0000,&是按位与。同样,如果键被按下,返回值最高位为1,则1xxx xxxx xxxx xxxx & 1000 0000 0000 0000

2015-12-16 19:54:14 1766

转载 深入理解MFC子类化

子类化,通俗来讲就是用自己的窗口处理函数来处理特定消息,并将自己其他消息还给标准(默认)窗口处理函数。在SDK中,通过SetWindowLong来指定一个自定义窗口处理函数:SetWindowLong(hwnd, GWL_WNDPROC, (LONG)UserWndProc);。可是到了MFC中,大部分基础的东西都被封装起来了,那么,这是该怎么实现子类化呢?       先来看一个例子: 

2015-12-16 16:03:15 2762

转载 SubClassWindow详解

许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习,有些人可能对子类化机制比较陌生。 我们先看看什么是Windows的子类化。Windows给我们或是说给它自己定义了许多丰富的通用控件,如:Edit、ComboBox 、ListBox……等,这些控件功能丰富,能为我们开发工作带来极大方面,试想:我们单单是自己实现一个EDIT控件是多么的艰难

2015-12-16 15:24:31 1401

转载 WM_NCCALCSIZE消息处理详解

WM_NCCALCSIZE消息处理详解【前言】指定应用程序的标题高度和边框的宽度的方法有很多种。其中最普遍的方法有下面的两种:第一种:创建没有标题栏应用程序,在客户区让出一部分空间用一幅图片画一个标题栏,让人“误认为”是标题栏。第二种:处理应用程序接收到的WM_NCCALCSIZE消息,改变客户区在窗口中的位置,从而得到合适标题栏高度。不能说哪一种方法好,哪一种方法不好,其

2015-12-16 15:20:18 721

转载 对WM_NCHITTEST消息的了解+代码实例进行演示

这个消息比较实用也很关键,它代表非显示区域命中测试。这个消息优先于所有其他的显示区域和非显示区域鼠标消息。其中lParam参数含有鼠标位置的x和y屏幕坐标,wParam 这里没有用。Windows应用程序通常把这个消息传送给DefWindowProc,然后Windows用WM_NCHITTEST消息产生与鼠标位置相关的所有其他鼠标消息。通俗的讲从消息产生消息。case WM_NCH

2015-12-16 10:30:05 359

转载 BeginPaint和GetDC的区别

这是个windows编程问题。 第一种情况显示出来的字很正常。 case WM_PAINT:            gdc = BeginPaint (hwnd, &ps);            TextOut (gdc, 0, 0, s, strlen (s));            EndPaint (hwnd, &ps); break; 第二种情况显示的字不停

2015-12-09 09:25:09 385

空空如也

空空如也

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

TA关注的人

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