透明GIF图片显示控件
来源:互联网 发布:怎么当淘宝店铺客服 编辑:程序博客网 时间:2024/05/16 10:30
透明窗体参见:
https://msdn.microsoft.com/en-us/library/ms997507.aspx
CreateWindowEx是需要设置属性
WS_EX_LAYERED | WS_EX_TRANSPARENT
这两个属性很重要.
绘制操作可以参照此函数做:
OnPaint函数中响应:
void GIFStatic::DrawPNG(HWND hWnd, HDC hdc, int width, int height){TCHAR *pngFile = L"C:\\Users\\dyh\\Desktop\\文档\\ico.ooopic.com.png";/********************************************* step 1.* Using Gdiplus to load the image********************************************/RECT wndRect;::GetWindowRect(hWnd, &wndRect);SIZE wndSize = { wndRect.right - wndRect.left, wndRect.bottom - wndRect.top };if (hdc == NULL) hdc = ::GetWindowDC(hWnd);HDC memDC = ::CreateCompatibleDC(hdc);HBITMAP memBitmap = ::CreateCompatibleBitmap(hdc, wndSize.cx, wndSize.cy);::SelectObject(memDC, memBitmap);Gdiplus::Image image(pngFile);Gdiplus::Graphics graphics(memDC);graphics.DrawImage(&image, 0, 0, wndSize.cx, wndSize.cy);// get screen dc HDC screenDC = hdc;POINT ptSrc = { 0, 0 };/********************************************** step 3.* Use UpdateLayeredWindow to Draw the Window**********************************************/BLENDFUNCTION blendFunction;blendFunction.AlphaFormat = AC_SRC_ALPHA;blendFunction.BlendFlags = 0;blendFunction.BlendOp = AC_SRC_OVER;blendFunction.SourceConstantAlpha = 255;UpdateLayeredWindow(hWnd, screenDC, &ptSrc, &wndSize, memDC, &ptSrc, 0, &blendFunction, 2);::DeleteDC(screenDC);::DeleteDC(memDC);::DeleteObject(memBitmap);}完成此函数后需要使用MoveWindow函数将窗体移动回去.
否则窗体会移动至左上角落.
代码目录请见下面:
http://download.csdn.net/detail/ab7936573/9496109
0 0
- 透明GIF图片显示控件
- PictureBox控件中显示GIF动画(图片)
- vb 让PictureBox控件透明 可加载gif 图片
- C# 生成透明Gif图片
- IE6+支持gif图片透明
- winfrom PictureBox控件显示GIF图片异常解决方案
- VC显示GIF图片
- symbian-GIF图片显示
- Winform 显示Gif图片
- gif动态图片显示
- VC显示GIF图片
- 动态显示图片gif
- android 显示gif图片
- UIWebView显示gif图片
- 显示GIF图片
- 显示GIF图片
- android显示gif图片
- Android显示GIF图片
- js中json 的增删改操作
- 技术总结
- Java基础--反射、内省
- mysql-proxy安装
- 模仿支付宝GridView 分割线实现
- 透明GIF图片显示控件
- 内部类的使用以及抽象类的实现
- Java 将18位身份证号转化为15位返回,非18位身份证号原值返回 单例
- ChemDraw到底是个什么
- Chromium 源码
- HDU 1258 Sum It Up (还是DFS)
- 基本机器学习算法学习
- iOS 9 App 瘦身功能
- float元素浮动后高度不一致导致错位的解决办方法