2011年1月13日

WTL-Vista/Win7中内建的缓冲动画(buffered animation)

摘要: Windows Vista/Windows 7操作系统除了提供GDI双缓冲绘图内建支持外,也添加了几个API用于创建缓冲动画(buffered animation),用于在GDI程序中实现一些平滑渐变过渡的动画效果。这里有一篇文章介绍如何在Win32程序中使用这些API创建GDI动画效果:Using the Windows Vista/Windows 7 Built-In Buffered Animation API幸运的是,我们的WTL库也对这些新的API进行了封装,使得在WTL中应用这些API非常方便。WTL中的封装类是CBufferedAnimationImpl和CBufferedAni 阅读全文

posted @ 2011-01-13 18:43 wudong 阅读(1063) 评论(0) 推荐(0) 编辑

2011年1月12日

WTL-双缓冲(double buffer)绘图

摘要: WTL中有两个Mix-in类: CDoubleBufferImpl和CDoubleBufferWindowImpl,用于创建双缓冲绘图窗口,用法非常简单。 下面创建了一个普通的WTL窗口类,在窗口的客户区中有大量的绘图工作,使用CDoubleBufferImpl类来消除绘图时的闪烁现象:  值得一提的是,Windows Vista操作系统增加了对Double buffered paint的内建支持,这里有一篇文章介绍如何在Win32程序中使用这些API:Using Windows Vista Built-In Double Buffering在WTL中使用Vista提供的这一功能非常容易, 阅读全文

posted @ 2011-01-12 21:40 wudong 阅读(2705) 评论(0) 推荐(1) 编辑

2010年11月30日

[转]Why does program work in debug mode, but fail in release mode?

摘要: 原文链接:http://www.codeguru.com/forum/archive/index.php/t-269905.htmlQ: Why does program work in debug mode, but fail in release mode?A: First of all, there is no such thing as 'debug mode' or 'release m... 阅读全文

posted @ 2010-11-30 21:43 wudong 阅读(578) 评论(0) 推荐(0) 编辑

2010年11月6日

调整C#代码编辑器的格式化策略

摘要: VS中的C#代码编辑器能够自动对C#代码进行格式化调整,使得代码格式更加整齐一致。 但有时候默认的格式化方式并非我们想要的,比如,在编写一些涉及大量数学运算的程序时,一行表达式中会有许多数学操作符(多数为二元操作符)和数学函数调用。在使用C#编辑器的自动格式化功能时,默认情况下,会对代码中的每一个二元操作符前后各添加一个空格,导致即使是一个简单的数学表达式的代码也会显得很长,例如: 此时,我们... 阅读全文

posted @ 2010-11-06 11:20 wudong 阅读(5216) 评论(0) 推荐(0) 编辑

2010年11月5日

标准正态分布函数和标准正态分布分位数函数

摘要: 标准正态分布函数和分位数函数的数值算法可参考高惠璇编著的《统计计算》 以下是C#版本的实现代码: 阅读全文

posted @ 2010-11-05 22:19 wudong 阅读(12096) 评论(0) 推荐(0) 编辑

2010年10月21日

将HwndRenderTarget中的内容保存到位图文件中

摘要: D2D1_PIXEL_FORMAT pixelFormat = PixelFormat( DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_PREMULTIPLIED);IFR(m_spD2dFactory->CreateHwndRenderTarget( //RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_... 阅读全文

posted @ 2010-10-21 14:11 wudong 阅读(1933) 评论(0) 推荐(0) 编辑

2010年10月16日

使用WIC将Direct2D绘制的图形保存为文件

摘要: 从Windows Vista开始引入的WIC(Windows Imaging Component)组件以面向对象的方式处理位图,并且很适合与Direct2D配合使用。 可以将Direct2D绘制的图像使用WIC保存为位图文件。 以下代码演示如何将Direct2D绘制的带有透明背景色的图像保存到png位图文件: 阅读全文

posted @ 2010-10-16 08:53 wudong 阅读(2645) 评论(1) 推荐(0) 编辑

2010年10月14日

使用C++0x新特性为模板参数指定约束条件

摘要: 在编写C++类模板时,有时希望模板参数满足某种要求,即约束条件,比如要求某个模板类型参数T必须派生于基类TBase。 在C#泛型中可以通过where关键字来指定约束条件,而C++模板则缺乏类似的约束机制。 C++0x中引入了一些新的特性,C++标准库也得到了改进和扩展,有两篇不错的参考文章: Explicating the new C++ standard (C++0x), and its ... 阅读全文

posted @ 2010-10-14 13:58 wudong 阅读(2697) 评论(1) 推荐(0) 编辑

2010年10月8日

WTL-DWM,Direct2D

摘要: DWM和Direct2D都是基于Direct3D的技术,因此二者很容易配合在一起使用。在上一篇文章中所编写的小程序,要想启用DWM的半透明效果只需要对程序做些简单修改即可: 1.将背景画刷改为黑色; 2.在窗口类继承列表添加CDwmImpl<>,在OnCreate()函数中调用DwmExtendFrameIntoEntireClientArea(); 3.修改创建RenderTa... 阅读全文

posted @ 2010-10-08 23:06 wudong 阅读(1529) 评论(3) 推荐(1) 编辑

WTL-Direct2D,DirectWrite,Windows Animation

摘要: Windows 7引入了不少有趣的新技术:Direct2D,DirectWrite,Windows Animation,还有Windows Media Foundation等等,在加上之前Windows Vista引入的Windows Image Component等技术,基本上把整个UI,多媒体框架都进行了翻新。 这几天放假无事,在看ATL/WTL,也顺带关注下Windows 7引入的这些新A... 阅读全文

posted @ 2010-10-08 20:44 wudong 阅读(2466) 评论(0) 推荐(0) 编辑

导航