首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么修改外部程序第N个对象的picture(如picture控件)

2012-01-09 
如何修改外部程序第N个对象的picture(如picture控件)如题,比如,我现在打开一个外部程序,里面有几个图片,现

如何修改外部程序第N个对象的picture(如picture控件)
 

  如题,比如,我现在打开一个外部程序,里面有几个图片,现在我需要修改这图片,但我不知道这个控件在这个程序中的前后位置,这个图片容器也有可能是外程序Form自已

  所以请朋友帮我写个代码 如 function EditPic (ahwnd,aindex,apichdc) as boolean 这样的函数 谢谢

[解决办法]
使用BitBlt可以把一幅图片覆盖到目标设备场景中去。

你这个问题的关键在于如何确定坐标点和宽度

Private 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

【操作系统】
Win9X:Yes
WinNT:Yes

【说明】
将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容 

【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError 

【其它】
在NT环境下,如在一次世界传输中要求在源设备场景中进行剪切或旋转处理,这个函数的执行会失败
如目标和源DC的映射关系要求矩形中像素的大小必须在传输过程中改变,那么这个函数会根据需要自动伸缩、旋转、折叠、或切断,以便完成最终的传输过程

【参数表】
hDestDC -------- Long,目标设备场景
x,y ------------ Long,对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示
nWidth,nHeight - Long,欲传输图象的宽度和高度
hSrcDC --------- Long,源设备场景。如光栅运算未指定源,则应设为0
xSrc,ySrc ------ Long,对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示
dwRop ---------- Long,传输过程要执行的光栅运算
[解决办法]
办法也是有的,假如窗口格式是定的话,到时你录制一下句柄路径就好了,以后用同样的方式操作

就像是EXCEL里的宏一样,如果你想改几个单元格,到时你录一下,手工改一下,再看一下代码就知道哪些改过了。

热点排行