又到一年圣诞。为了烘托气氛。在两天前。写了个圣诞的小程序。
首先这个程序用到比较多的知识点
众所周知。一般情况下在MFC类库里进行png的贴图都有点麻烦
因为MFC一般用bmp格式的贴图。
于是我采用GDI的贴图形式贴png图
采用分层窗口,透明处理,以及鼠标穿透来使窗口透明,界面变到桌面
本来可以采用定时器来进行雪花的时间设定。但是为了更好的控制。我采用了一条线程来处理
自设一个Image类来存储所有图像 并采用msdn上的一段代码使png图片封装到资源。以IDX_的形式调用
采用静态链接库。封装GDI的图像库。
CDC *pDCDst=this->GetDC();
CDC dcSrc;
dcSrc.CreateCompatibleDC(pDCDst);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDCDst,cx,cy);
dcSrc.SelectObject(&bmp);
//用GDI+显示PNG图片
Graphics _Graphics(dcSrc.m_hDC);
if(limit<100)
{
_Graphics.DrawImage(myimage._pPic01,600,300,myimage._pPic01->GetWidth(),myimage._pPic01->GetHeight());
}
else if(limit>=100&&limit<200)
{
_Graphics.DrawImage(myimage._pPic02,600,300,myimage._pPic02->GetWidth(),myimage._pPic02->GetHeight());
}
for(int i=0;i
ReleaseDC(pDCDst);
if(limit<300)
{
limit++;
}
这段代码是贴图的主要代码。
最后的效果如下
首先产生的奇迹冬瓜logo透明
接着logo消失 变成祝福语 雪花小范围飘落
下载地址
点击打开链接