关于在VB中的使用的BitBlt函数的hSrcDC参数是怎样得到的???答对着高分赠送.(280分) 看你需要从什么地方获得图像,如果是PIctureBox,就是PictureBox的hDC属性,如果是窗口,可以通过API函数GetDC获得hDC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还可以 自己创建, 用 CreateDC 在vb中凡是由handle的控件都后hDC属性,他就是你需要的hsrcdc也可以用GetDc(hwnd)获得hdc 是从PICTUREBOX里来的,但PICTURE属性没有图片加入。 ret = BitBlt(Form1.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SRCCOPY) 你不懂自己添加图象到 Picture 控件里面吗?使用 CreateCom???DC 创建兼容 DC然后使用 Selectobject hDC,picture.Handle就可以获取你的 HDC 了。 GetDC VB声明 Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long 说明 获取指定窗口的设备场景 返回值 Long,指定窗口的设备场景句柄,出错则为0 参数表 参数 类型及说明 hwnd Long,将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC 注解 若窗口所属类具有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式,则获取的设备场景属窗口或类专有。vb的窗体和图片框控件也是这种情况,它用该函数取得的结果和控件的hdc属性相同(在autoredraw为FALSE时)。您无须考虑取回的窗体或图片框控件设备场景的默认状态,特别是绘图对象。另外,默认状态随着窗体和控件autoredraw属性的设置而不同。在设备场景释放前您必须回复其状态为初始值。对于没有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式的窗口的设备场景,可从通用windows缓存中获取,其状态为默认值。缓存中可用设备场景数量是有限的,因此只要可能就释放设备场景用本函数获取的设备场景一定要用ReleaseDC函数释放,不能用DeleteDC ====================================================================GetWindowDC VB声明 Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As Long) As Long 说明 获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景 返回值 Long,执行成功为窗口设备场景,失败则为0 参数表 参数 类型及说明 hwnd Long,将获取其设备场景的窗口 注解 不推荐在vb里使用这个函数。用完后一定要用ReleaseDC函数释放场景 ====================================================================ReleaseDC VB声明 Declare Function ReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As Long, ByVal hdc As Long) As Long 说明 释放由调用GetDC或GetWindowDC函数获取的指定设备场景。它对类或私有设备场景无效(但这样的调用不会造成损害) 返回值 Long,执行成功为1,否则为0 参数表 参数 类型及说明 hwnd Long,要释放的设备场景相关的窗口句柄 hdc Long,要释放的设备场景句柄 注解 对那些用CreateDC一类的DC创建函数生成的设备场景,不要用本函数 VBA 获取字符串 dtpicker 控件问题 VB能做出这样的OCX控件么? 帮帮忙可以吗?急急急! 在VB中,combo怎么样从sql数据库中读取数据呢! 大家见过这样的写法没有 frmEmpInfo.txtGeneral(Index).FieldType = [String] 如何用 VB模拟Post提交表单? 在vb声明一个不存在的API函数,只要不调用是不是也没事? 有谁知道CRC16和CRC32如何计算? VB借助阿里云服务器实现UDP穿透 怎样使picturebox控件有凸起的3D效果 关于 New Collection 类型数组和列表框的问题(急!)
也可以用GetDc(hwnd)获得hdc
使用 CreateCom???DC 创建兼容 DC
然后使用 Selectobject hDC,picture.Handle
就可以获取你的 HDC 了。
Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long
说明
获取指定窗口的设备场景
返回值
Long,指定窗口的设备场景句柄,出错则为0
参数表
参数 类型及说明
hwnd Long,将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC
注解
若窗口所属类具有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式,则获取的设备场景属窗口或类专有。vb的窗体和图片框控件也是这种情况,它用该函数取得的结果和控件的hdc属性相同(在autoredraw为FALSE时)。您无须考虑取回的窗体或图片框控件设备场景的默认状态,特别是绘图对象。另外,默认状态随着窗体和控件autoredraw属性的设置而不同。在设备场景释放前您必须回复其状态为初始值。对于没有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式的窗口的设备场景,可从通用windows缓存中获取,其状态为默认值。缓存中可用设备场景数量是有限的,因此只要可能就释放设备场景
用本函数获取的设备场景一定要用ReleaseDC函数释放,不能用DeleteDC
====================================================================
GetWindowDC VB声明
Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As Long) As Long
说明
获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景
返回值
Long,执行成功为窗口设备场景,失败则为0
参数表
参数 类型及说明
hwnd Long,将获取其设备场景的窗口
注解
不推荐在vb里使用这个函数。用完后一定要用ReleaseDC函数释放场景
====================================================================
ReleaseDC VB声明
Declare Function ReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As Long, ByVal hdc As Long) As Long
说明
释放由调用GetDC或GetWindowDC函数获取的指定设备场景。它对类或私有设备场景无效(但这样的调用不会造成损害)
返回值
Long,执行成功为1,否则为0
参数表
参数 类型及说明
hwnd Long,要释放的设备场景相关的窗口句柄
hdc Long,要释放的设备场景句柄
注解
对那些用CreateDC一类的DC创建函数生成的设备场景,不要用本函数