摘要: 转自:http://blog.csdn.net/long458/article/details/6386562基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status flags */char fd; /* File descriptor */unsigned ch 阅读全文
posted @ 2012-12-16 19:43 fff8965 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 在消息循环中加下面代码case WM_ERASEBKGND: break; 阅读全文
posted @ 2012-12-16 04:17 fff8965 阅读(180) 评论(0) 推荐(0) 编辑
摘要: #pragma comment(lib,"d2d1.lib")加上面的代码。或者项目上右键->properties->linker->Input->Additional Dependencies 阅读全文
posted @ 2012-12-16 04:03 fff8965 阅读(240) 评论(1) 推荐(0) 编辑
摘要: 转自:http://hi.baidu.com/aidfan/item/93e062758f50602ad7a89c38今天尝试跟踪桌面窗口(SysListView32)控件,需要在该控件每次刷新时修改一下其刷新区域。开始以为它一定会调用InvalidateRect函数,于是就Hook了对InvalidateRect函数的调用,结果我惊讶的发现,该控件只有在全刷新(在桌面上按F5)或者某个图标项进行编辑状态(按F2键)时,才会有一次InvlidateRect函数的调用,在平时选中或反选图标项的情况下,InvalidateRect函数并未调用! 这是何故?难道在选中反选某个图标项时,这个控件不是. 阅读全文
posted @ 2012-12-16 03:28 fff8965 阅读(1656) 评论(0) 推荐(0) 编辑
摘要: 转自:http://cnbeta2004.blog.163.com/blog/static/602313402010119104451537/早前曾为此问题在CSDN发帖求助(GDI+ 如何使用双缓冲绘制图像),得到了一个GDI+下较可行的方法,虽然绘制效果比直接绘制要好一些,不过还不能跟GDI的双缓冲方式比肩。现在,我终于找到了一个理想的实现方式,效果与GDI的实现不相上下,代码如下:/*C++ code*/RECT rc;GetClientRect(g_hwnd,&rc);Bitmap bmp(int(rc.right),int(rc.bottom));Graphics bmpGr 阅读全文
posted @ 2012-12-16 03:10 fff8965 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/yann2/article/details/5948826一般的windows复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个刷新周期内完成,那么给人的视觉感受就是,先看到只有 阅读全文
posted @ 2012-12-16 02:35 fff8965 阅读(297) 评论(0) 推荐(0) 编辑