picture对象怎么好象是只读的!?

fzn0621 2005-04-14 12:57:24
只能用这样给picture对象赋值:set x=xx.picture
新建一个picture对像后为什么是不能用的呢.Handle值都为0,
BitBlt x.Handle, 0, 0, xxx,xxx,xxx.hdc, 0, 0, vbSrcCopy
也不能成功...
奇怪这是什么原因呢?
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
MmMVP 2005-04-18
  • 打赏
  • 举报
回复
x.Handle?参数应该是hdc啊

下面的调试通过:
Dim aaa As PictureBox
Set aaa = FrmMain.picture1


Call BitBlt(aaa.HDC, 0, 0,x, y, Picsrc.HDC, 0, 0, &HCC0020)


附:

BitBlt

VB声明
Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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
说明
将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hDestDC Long,目标设备场景
x,y Long,对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示
nWidth,nHeight Long,欲传输图象的宽度和高度
hSrcDC Long,源设备场景。如光栅运算未指定源,则应设为0
xSrc,ySrc Long,对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示
dwRop Long,传输过程要执行的光栅运算
注解
在NT环境下,如在一次世界传输中要求在源设备场景中进行剪切或旋转处理,这个函数的执行会失败
如目标和源DC的映射关系要求矩形中像素的大小必须在传输过程中改变,那么这个函数会根据需要自动伸缩、旋转、折叠、或切断,以便完成最终的传输过程


caiCC 2005-04-18
  • 打赏
  • 举报
回复
自己建立的picture对象,好象是只能当作其它图片框的副本,不能自己当一个图象框来使用的.

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧