控件背景透明代码
2015-07-18 16:14
375 查看
procedure DrawParentBackground(Control: TControl; DC: HDC; R: PRect = nil; bDrawErasebkgnd: Boolean = False); var SaveIndex: Integer; MemDC: HDC; MemBmp: HBITMAP; begin if R <> nil then begin MemDC := CreateCompatibleDC(DC); MemBmp := CreateCompatibleBitmap(DC, Control.Width, Control.Height); SelectObject(MemDC, MemBmp); try with Control.BoundsRect.TopLeft do SetWindowOrgEx(MemDC, X, Y, nil); if bDrawErasebkgnd then Control.Parent.Perform(WM_ERASEBKGND, Integer(MemDC), Integer(MemDC)); Control.Parent.Perform(WM_PAINT, Integer(MemDC), Integer(MemDC)); with Control.BoundsRect.TopLeft do BitBlt(DC, R^.Left, R^.Top, R^.Right - R^.Left, R^.Bottom - R^.Top, MemDC, X + R^.Left, Y + R^.Top, SRCCOPY); finally DeleteObject(MemBmp); DeleteDC(MemDC); end; Exit; end; SaveIndex := SaveDC(DC); try with Control.BoundsRect.TopLeft do SetWindowOrgEx(DC, X, Y, nil); if bDrawErasebkgnd then Control.Parent.Perform(WM_ERASEBKGND, Integer(DC), Integer(DC)); Control.Parent.Perform(WM_PAINT, Integer(DC), Integer(DC)); finally RestoreDC(DC, SaveIndex); end; end;
相关文章推荐
- 控件背景透明代码
- 算法导论 第二十一章:不相交集合森林
- C++实现简单的对象池
- java 泛型简单使用代码
- C语言程序设计9
- delphi 程序嵌入桌面效果的实现
- delphi 程序嵌入桌面效果的实现
- delphi 半透明窗体类
- delphi 半透明窗体类
- delphi 一个关于xml文件导入数据库的问题
- delphi 一个关于xml文件导入数据库的问题
- 关于java String的“==”和equals()比较、引用的小问题
- Delphi 自带了 Base64 编解码的单元
- Delphi 自带了 Base64 编解码的单元
- DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi XE 7)
- 作死向之C++告别演出——课程设计(银行储蓄系统(大BUG+功能不完整版))
- 【LeetCode with Python】 Rotate Image
- delphi 异形窗体可半透明
- delphi 异形窗体可半透明
- Python基础你并不一定master