关于PictureBox的一个疑问

Carlven2012 2014-08-23 02:10:01
已知PictureBox的HDC (名为imgHDC),及内存memDC(这里面保存有一幅图像)
现在在模块中想实现Picture1.Cls的功能,请教Cls这个方法的原理是什么?(即调用的什么API实现的)
我模块中的代码是这样的:
-----------------------------------------------------------------------------------------------
'Picture1.Cls ‘就这儿,请教如何像Cls一样清除imgHDC的图像,然后用下面的StretchBlt重绘。
StretchBlt imgHDC,0,0, rW, rH, memDC, 0, 0, w, h, vbSrcCopy
-----------------------------------------------------------------------------------------------

因为代码是在模块中,所以不能获取Picture1,只Public了一个imgHDC供操作。
...全文
188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carlven2012 2014-08-25
  • 打赏
  • 举报
回复
引用 6 楼 WallesCai 的回复:
第一次没有清除旧的图片, 所以有残影. 第二次清楚旧图片, 就没有残影. 这不是已经解决问题了么?
你没懂我意思? 那是两个不同地方的代码 啊。 一个是UserControl里面的代码,这个是没问题, 但我要求的是解决模块里的代码问题呀。不过现在我已经用FillRect解决了残影问题,但又出现一个新问题:在模块里StretchBlt绘制的图像不能持续输出(就是最小化窗口然后恢复,图像就会还原成绘制前的大小和尺寸),请问如何保持StretchBlt绘制的图像(用代码控制)?
熊孩子开学喽 2014-08-25
  • 打赏
  • 举报
回复
第一次没有清除旧的图片, 所以有残影. 第二次清楚旧图片, 就没有残影. 这不是已经解决问题了么?
Tiger_Zhao 2014-08-25
  • 打赏
  • 举报
回复
PatBlt 或 FillRect,用背景色刷一遍。
熊孩子开学喽 2014-08-25
  • 打赏
  • 举报
回复
引用 7 楼 Carlven2012 的回复:
[quote=引用 6 楼 WallesCai 的回复:] 第一次没有清除旧的图片, 所以有残影. 第二次清楚旧图片, 就没有残影. 这不是已经解决问题了么?
你没懂我意思? 那是两个不同地方的代码 啊。 一个是UserControl里面的代码,这个是没问题, 但我要求的是解决模块里的代码问题呀。不过现在我已经用FillRect解决了残影问题,但又出现一个新问题:在模块里StretchBlt绘制的图像不能持续输出(就是最小化窗口然后恢复,图像就会还原成绘制前的大小和尺寸),请问如何保持StretchBlt绘制的图像(用代码控制)?[/quote] 我确实不懂你的意思呀, 这代码写在哪里有什么区别么? 你是想保持模块的封装, 不直接在模块代码里写控件名称? 如果是这样的话你也可以直接把picturebox当作参数传给模块函数啊.
Tiger_Zhao 2014-08-25
  • 打赏
  • 举报
回复
查看 nZoom,最小化/恢复的过程中有什么变化?
应该有地方将 nZoom 重设为 1 了。
  • 打赏
  • 举报
回复
StretchBlt imgHDC,0,0, rW, rH, 0, 0, 0, w, h, vbSrcCopy 这样试试有用不
Carlven2012 2014-08-24
  • 打赏
  • 举报
回复
引用 1 楼 xiaoyao961 的回复:
StretchBlt imgHDC,0,0, rW, rH, 0, 0, 0, w, h, vbSrcCopy 这样试试有用不
谢谢回复,试过了,没用。一样的有残影。
Carlven2012 2014-08-24
  • 打赏
  • 举报
回复

上图就是我在UserControl中的代码,放大缩小图像都没有问题(实际代码中最后那句Pic.Refresh是去掉的,都是可以的)。
(imgHDC=Pic.HDC)下面这图是我在模块中的代码,所以无法用Pic.Cls,就想找API来替代它,一直无法实现。因为如果在StretchBlt前不用Pic.Cls清除图像的话,缩小图像就会有下图那样的残影。

Carlven2012 2014-08-24
  • 打赏
  • 举报
回复

1,451

社区成员

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

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