利用TTreeView组件的自绘功能,通过OnCustomDraw事件实现组件绘制,把TTreeView组件所覆盖的窗体背景图画到TTreeView组件上,达到透明效果
StretchBlt(tv1.Canvas.Handle,0,0,tv1.Width.arect.Bottom,image1.canvas.handle,0,0,arect.right,image1.picture.bitmap.height,srccopy);
请问该API函数里的参数代表什么,还有就是实现这种功能还有其他方法吗?谢谢!
StretchBlt(tv1.Canvas.Handle,0,0,tv1.Width.arect.Bottom,image1.canvas.handle,0,0,arect.right,image1.picture.bitmap.height,srccopy);
请问该API函数里的参数代表什么,还有就是实现这种功能还有其他方法吗?谢谢!
解决方案 »
- 我明明阻止了WM_NCPAINT事件,但鼠标移到标题栏,还是会绘制系统按钮
- 大家讨论一下,如何实现网络远程对时
- NMSMTP1发邮件要验证密码的问题
- 怎样直接从*.xls文件中直接读取数据,不要用ODBC和OLE等(急!!!解决就给分)分不够还可以再加!!!!
- 修改FastReport中Memo中英文混排时折行不正确的问题,欢迎大家探讨,来者有分
- DBGrid如何控制单独的单元格>>>???
- COM高手进来!
- 我的信箱是[email protected]
- 救命啊,300分大奉送阿!!!!!!!声道的问题,请各位帮忙!谢谢谢谢,解决请客吃烤鸭
- 请问一个函数(菜鸟问题)!!!
- delphi中TCollection是如何实现用下标存取TCollectionItem的
- 在Delphi中利用线程--解决程序没有计算完之前不能做其它任何事情
StretchBlt()win32 API函数说明
函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩。 函数原型:BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop); 参数: hdcDest:指向目标设备环境的句柄。 nXOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。 nYOriginDest:指定目标矩形左上角的X轴坐标,按逻辑单位表示坐标。 nWidthDest:指定目标矩形的宽度,按逻辑单位表示宽度。 nHeightDest:指定目标矩形的高度,按逻辑单位表示高茺。 hdcSrc:指向源设备环境的句柄。 nXOriginSrc:指向源矩形区域左上角的X轴坐标,按逻辑单位表示坐标。 nYOriginSrc:指向源矩形区域左上角的Y轴坐标,按逻辑单位表示坐标。 nWidthSrc:指定源矩形的宽度,按逻辑单位表示宽度。 nHeightSrc:指定源矩形的高度,按逻辑单位表示高度。 dwRop:指定要进行的光栅操作。光栅操作码定义了系统如何在输出操作中组合颜色,这些操作包括刷子、源位图和目标位图等对象。参考BitBlt可了解常用的光栅操作码列表。 返回值:如果函数执行成功,那么返回值为非零,如果函数执行失败,那么返回值为零。Windows NT:若想获得更多的错误信息,请调用GetLastError函数。 另外BitBlt函数也可以实现
使用BitBlt函数应先在模块中进行如下声明:
Declare Function BitBlt Lib “gdi32” (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long,ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
各参数含义如下:
参数 含义
hDestDC 目标设备环境的handle(hDC)
X,Y 欲复制图形放置在目标设备
环境的位置(左上角坐标)
nWidth 欲复制图形的宽度
nHeight 欲复制图形的高度
hSrcDc 源设备环境的hDC
xSrc,ySrc 从源图形的(xSrc,ySrc)坐
标处开始复制
dwRop 图形从源设备环境复制到目标
设备环境时所做的逻辑运算。
总共有15种运算码,通常使用
SRCCOPY(&HCC0020),表
示直接复制。 BitBlt最常用的是用做位图的拷贝处理,即使用SRCCOPY的模式.
就是将这个区域的内容用另一个区域的内容代替.
这样的解释可能容易理解:BitBlt(dest, dest的x, dest的y, dest的宽度, dest的高度, source, source的x, source的y, SRCCOPY)