- 博客(7)
- 资源 (59)
- 收藏
- 关注
转载 CListCtrl 的自绘
自行绘制 ClistCtrl 的列表项,可以利用列表框的 NM_CUSTOMDRAW 消息,该消息由控件向它的父窗口发送,告诉父窗口它的绘图操作。 如果绘图操作不需要父窗口参与,可以使用该控件的 ON_NOTIFY_REFLECT 宏处理它的 NM_CUSTOMDRAW 消息。 它的处理函数的参数中包含 NMHDR,在 CUSTOMDRAW 的通知下 NMHDR 可以被转换成为
2012-02-28 16:17:31 2777
转载 虚拟列表控件
一、什么是虚拟列表控件虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件。。二、为什么使用虚拟列表控件我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示的数据插入列表中,之后我们就不必关心数据在哪里了,这是因为控件自己开辟了内存空间来保存这些数据。现在假设我们要显示一个数据库,里面的信息量很大,有几十万条记录。通常有两种方法解决这个问题:1
2012-02-27 10:00:57 991
转载 CWnd::OnNcHitTest
CWnd::OnNcHitTest这个函数如果 没有用过,对于拉伸控件或窗体,要很费力了....afx_msg UINT OnNcHitTest( CPoint point );返回值:下面列出的鼠标击中测试枚举值之一。· HTBORDER 在不具有可变大小边框的窗口的边框上。 · HTBOTTOM 在窗口的水平边框的底部。 · HTBOTTOMLEFT 在窗口边框的左
2012-02-23 10:34:52 966
原创 第十九章:DLL基础
1. 我们必须理解一个地址空间是由一个可执行模块和多个DLL模块构成的.当一个模块提供一个内存分配函数的时候,它必须同时提供另一个用来释放内存的函数.2. 实际开发中,应该避免从DLL中导出变量,因为这等于去掉了代码中的一个抽象层,从而使得DLL的代码更加难以维护.此外,只有当导出C++类的模块使用的编译器与导入C++类的模块
2012-02-19 22:17:37 1082 2
原创 第十八章:堆
1. 堆非常适合分配大量的小型数据.与内存映射文件和虚拟内存相比,堆是用来管理链表和树的最佳方式.◆ 优点:让我们专心解决手头上问题,而不必理会分配粒度和页面边界这类事情.◆ 缺点:分配和释放内存块的速度比其他方式慢.而且也无法在对物理存储器的调拨和撤销进行直接控制 堆使用的区域时页交换文件中分配的.此外,系统保证不管发生什么事情都以互斥访问堆(分配和释放).用GetPro
2012-02-19 22:03:51 1037
原创 第十六章-十七章:线程栈 - 内存映射文件
第十六章:线程栈1. 系统对线程占的使用规则是:首先预定1M的空间和调拨两个页面的存储器.然后线程开始执行前,将预定的末尾空间指向线程栈的指针.当有线程需要更多的页面时,就会试图访问防护页面.这样系统就调拨防护页面的下一页面作为新的防护页面.把之前的防护页面作为空间分配使用. 再者,假若线程需要申请栈底前一个页面时,因为此时没有更多的内存可供使用,所以,只是将防护页面当做分配的页面使
2012-02-19 22:03:11 1288
原创 关于vector的erase问题处理
Vector的erase成员函数有许多容易导致问题的情况.其中以迭代器失效问题最为常见.关于迭代器的失效问题,以及erase如何删除vector中指定值(可能不止一个),我曾今也对erase的使用情况和内容结合起来写过一些字.博文地址:http://blog.csdn.net/yuanweihuayan/article/details/6790516似乎对于删除的解析已经够全面了.可是
2012-02-13 16:26:07 3499 1
VC++ 助手 Assist.X 破解版
2010-09-20
tcp-ip详解 卷3 实现 网络编程 VC++
2010-09-09
线程详解 VC++经典讲解
2010-09-05
VC知识库 在线杂志 21
2010-09-04
VC++ 技术内幕 笔记 潘爱民
2010-08-27
VC++ 技术内幕 笔记 潘爱民
2010-08-27
Spy++.chm VC++ 6.0 调试
2010-08-23
VC++库函数 pdf版
2010-08-23
Effective+C++.chm
2011-02-25
VC++ 范例大全 源码
2010-12-14
进程查看器,可以检测到系统运行的进程,以及进程的所属关系
2010-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人