2011年5月12日
摘要: MFC中CBrush创建透明画刷的方法好久不用MFC了,发现自己都要忘光了-_-!使用SDK比较容易,只要GetStockObject(NULL_BRUSH);然后选进设备描述表就可以了。关于MFC中的CBrush类,MS没有提供直接获得透明画刷的方法,查了下资料,可以使用如下的方法:CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));//==================================================================////创建透明画刷CClien. 阅读全文
posted @ 2011-05-12 21:00 朱超 阅读(2531) 评论(0) 推荐(0) 编辑
摘要: 透明位图的显示作者:王骏下载本文示例代码包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。一、TransparentBlt 函数的使用TransparentBlt 函数在Windows98/Windows2000以上版本运行,系统中需要包含 Msimg32.dll,使用时可以链接 Msimg32.lib。Windows98下的TransparentBlt会产生资 阅读全文
posted @ 2011-05-12 20:51 朱超 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 多线程编程之二——MFC中的多线程开发 作者:韩耀旭五、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务。 在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程 阅读全文
posted @ 2011-05-12 18:47 朱超 阅读(334) 评论(0) 推荐(0) 编辑