随笔分类 -  MFC

一步一步教你实现CTreeCtrl 自绘
摘要:最近因工作需求,需要自绘CTreeCtrl。由于原来从来没有自绘过,开始在网上搜索资料,查询(因此本文有些知识可能不全面,或许还有更好的办法来实现,还请大家多多指教。)经过一段时间的编写,终于写好了。在此,感谢网友bunpkin提供的实例参考。先贴上效果图,如果觉得还不错,那就继续往下看吧。如果觉得不行的,请飘过。如何你看见这句话我会很高兴,因为至少我写的东西对你还是有一点点的吸引了。在此谢过!很好,那现在让我们来说说为什么要自绘CTreeCtrl。我总结了以下2点需要自绘的情况。1.当系统自带的树形控件已不满足我们的要求时,我们需要自绘。就像上图一样我们需要在后面显示我们额外的图标。2.当你 阅读全文

posted @ 2012-05-07 00:10 Hibernate4 阅读(2894) 评论(2) 推荐(0) 编辑

VC防止窗口和控件闪烁的方法总结
摘要:1、 将 Invalidate()替换为 InvalidateRect() Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而 InvalidateRect()仅仅重画 Rect 区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用 Invalidate(),不愿意自己去计算需要重画的 Rect,但是事实是,如果你确实需要改善闪烁的情况,计算一个 Rect 所用的时间比起重画那些不需要重画的内容所需要的时间要少得多。2、 禁止系统擦除你的窗口 系统在需要重画窗口的时候会帮你用指定的背景色来擦除窗口。可是,也许需要重画的区域也许非常小。或者,在... 阅读全文

posted @ 2012-02-22 14:40 Hibernate4 阅读(221) 评论(0) 推荐(0) 编辑

控制台窗口界面的编程控制
摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动、光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控. 阅读全文

posted @ 2012-02-21 18:02 Hibernate4 阅读(285) 评论(0) 推荐(0) 编辑

浅谈HOOK
摘要:摘要: 本文针对HOOK技术在VC编程中的应用进行讨论,并着重对应用比较广泛的全局HOOK做了阐述。 一、引言 Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需要对在进程外传递的消息进行拦截处理就必须采取一种被称为HOOK(钩子)的技术。钩子是Windows操作系统中非常重要的一种系统接口,用它可以轻松截获并处理在其他应用程序之间传递的消息,并由此可以完成一些普通应用程序难以实现的特殊功能。基于钩子在消息拦截处理中的强大功能,本文即以VC++ 6.0为.. 阅读全文

posted @ 2012-02-21 18:01 Hibernate4 阅读(1549) 评论(0) 推荐(0) 编辑

基于visual c++之windows核心编程代码分析(22)Mapping File编程
摘要:文件映射(mapping)是一种将文件内容映射到进程的虚拟地址空间的技术。视图(View)是一段虚拟地址空间,进程可以通过View来存取文件的内容,视图是一段内存,可以使用指针来操作视图。使用文件映射之后,读写文件就如同对读写内存一样简单。在使用文件映射时需要创建映射对象,映射对象分为命名的和未命名的。映射对象还存取权限。 使用文件映射至少有3个好处,一是因为文件存储与硬盘上的,而文件视图是一段内存,使用文件映射操作时更方便;二是效率更高;三是可以在不同的进程间共享数据。 文件映射依赖于系统虚拟内存管理的分页机制。关键APIGetSystemInfo获取系统信息,在后面的实例中用于获取系统内存 阅读全文

posted @ 2012-01-04 16:07 Hibernate4 阅读(334) 评论(0) 推荐(0) 编辑

VC中建立程序的关联文件
摘要:当我们双击一个txt文件的图标时,系统就会用记事本打开该文件,这就是程序的关联。那我们自己编写的程序如何建立关联文件呢?第一步:设置自己程序关联的文件类型打开资源下的String Table,找到其中的IDR_MAINFRAME,双击该项,修改它的值,设它原来的值是:TextEditor\n\nTextEd\n\n\nTextEditor.Document\nTextEd Document若你关联的文件类型为.txt,则把它改为:TextEditor\n\nTextEd\n\n.txt\nTextEditor.Document\nTextEd Document第二步:在操作系统中注册自己的程序 阅读全文

posted @ 2011-12-27 21:23 Hibernate4 阅读(289) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示