摘要:
什么都不说,先来看看一个 gif 演示吧:如果没看明白,可以访问此网站,上面还提供了一个在线演示(需要 JavaVM),效果很不错的:http://nickgravgaard.com/elastictabstops/简单来说,就是辅助编辑代码,有效减少了因对齐代码插入/删除 tab 而敲击按键的次数。为了避免这个图片失效,下面就用原文提供的例子来简单说明一下:假设我们有这么一段代码:#include <stdio.h>int someDemoCode( int fred, int wilma){ x(); /* try making*/ printf("hello aga 阅读全文
摘要:
代码膨胀?这在以前其实并不是我会记在心上的问题,最近由于发现某个工程生成的 DLL debug 版本居然达到 25M 之大,我就开始想怎么判断这是不是正常,如果不正常有办法解决吗?或者能否在以后多加注意避免这种问题呢?在 google 大神的帮助之下,我找到一些不错的文章,其中某个博客的 Minimizing Code Bloat 系列文章我就觉得不错:Minimizing Code Bloat for Faster Builds and Smaller Executables – Game Angsthttp://gameangst.com/?p=46Minimizing Code Bloa 阅读全文
摘要:
注:源代码的下载链接已在文末提供。 在写了[思考] Visual Studio 插件 GDIWatch 实现浅析之后我一直都在想自己来实现这个 GDIWatch,上个星期的周末找了点时间来了解了一下VC6.0 的插件开发的大概过程和方法,并且翻译了另外一篇文章:[翻译] Undocumented Visual C++ (6.0),这次小假期决定先动手写一个插件让 VC 显示行号,就当是练习吧,有了这个经验应该就可以知道实现 GDIWatch 的具体思路。很久以前我就想如果 VC6.0 能提供行号显示那就舒服多了,当时找到了一个国人在2007年写的一个插件,地址是:http://sites.g. 阅读全文
摘要:
又是好一阵子没有写点东西了,自从上次思考 GDIWatch 的实现后,一直懒于动手做个实际的成品出来,今天实在是百无聊赖,于是就先了解一下 VC6.0 的插件(好吧,在强调一次,俺公司的开发环境仍然是这个老旧不堪的 VC6.0)怎么做。由于需要用到一些 VC6.0 的插件接口本身没有提到的功能,加上我一直希望为 VC6.0 加个行号显示神马的小功能(实际上已经有这个插件了,可自行搜索,不过是有使用限制需要收费的罢了,P.S. 俺又不耻,把它破解了,不过这次就不放出来了,估计也没多少人需要),我就把下面这篇文章给翻译了,就当作是便于加深认识吧!原文地址:http://www.codeproje. 阅读全文
摘要:
今天在工作中需要在一个把一个class内部的某个数组成员expose(是的,有时候不这样做只是徒增麻烦)给外面使用,于是自然而然就想应该是返回一个指向这个数组的引用会好些。指向数组的引用这种用法虽然不是很多见,但我还是写过不少次了,为了方便我常常会用typedef数组类型来实现,不过今天我突然想到一个问题,typedef 只是为了缩短敲的代码长度和阅读方便(当然有时候反而造成麻烦,但这不是重点),也就是说必然会有不需要 typedef 的写法,那么如果要写一个函数让它返回一个指向数组的引用呢?究竟怎么写呢?这个问题我还真搞不定,还好google帮了我。1. 声明一个指向数组的引用刚开始接触这个 阅读全文
摘要:
怎么获取别的进程的GDI对象信息呢?GDIWatch有可能是怎么实现的呢? 阅读全文
摘要:
本文作者:yonken (http://www.cnblogs.com/yonken/)这篇文章同时被发表在 http://www.codeproject.com/KB/tree/Multi_select_tree_control.aspx其实在CodeGuru 上可以搜到好几个支持多选的tree control,其中Richard Hazlewood的实现比较好些,不过由于他的选择框是简单的点线框,感觉不是非常好看,我希望可以实现资源管理器中的list control的那种蓝色透明选择框。在 CodeProject 上其实有位叫Eugen Podsypalnikov的人写了个 CCoverW 阅读全文
摘要:
本文作者:yonken来源:http://www.cnblogs.com/yonken/archive/2010/11/27/CVComboBox_A_MFC_Virtual_ComboBox_Wrapper_Class.html这篇文章同时也被发表在 CodeProject 上:http://www.codeproject.com/KB/MFC/CVComboBox.aspx在上次写的那个非递归遍历指定文件夹下的所有文件及其子文件夹的文章的演示程序中我使用了虚拟列表控件来展示动态内容,然后我就开始想把这种虚拟列表的功能应用到ComboBox上。本来这是个很常用的功能,就是类似浏览器的地址栏( 阅读全文
摘要:
话说好久没写点东西了,趁现在不是很忙就来感叹一番吧。本来时至今日现在还用VC6开发已经是个悲剧了(毕竟已经是1998年的东西了,如果没搞错的话),面对VC6的各种烦人的bug那更是悲剧。今天刚改了点code,在某个类里面加了个method,如下:本来这是在这个类的dtor里面调用的,后来在某个地方也调用了一下,结果就悲剧的crash了。一开始百思不得其解,跟了一段时间才发现是std::map 有个... 阅读全文
摘要:
遍历文件在Windows下可以用 FindFirstFile/FindNextFile 这组API(另外貌似可以使用SHGetDataFromIDList,也可以使用boost),一般是通过递归实现,比如: 阅读全文