一些关于StretchBlt的问题!

efsnake 2003-08-19 09:29:39
各位高手:我是刚刚涉足API的,有些问题麻烦指教一下。
我在使用StretchBlt函数的时候有如下的代码:

Dim stdp As StdPicture
Dim stdpTemp As StdPicture

Set stdp = LoadPicture("一个BMP图片的全路径")

StretchBlt stdpTemp.Handle, 0, 0, 100, 100, stdp.Handle, 0, 0, UserControl.ScaleX(stdp.Width, 8, 1), UserControl.ScaleY(stdp.Height, 8, 1), &HCC0020

在执行以后stdpTemp始终为Nothing,StretchBlt返回的是0,我用GetLastError查看错误代码始终返回的是0,不知道是为什么?。还有如下问题希望各位高手指导一下:
1.在很多的API函数的说明中都有HDc这个东西,我的理解是一个窗体或者控件或者对象的指示,有很多的地方提到句柄这个词,我不知道是什么意义,望请指点一下!
2.在以上的函数说明的中文文档里提到了逻辑坐标,不知是什么DD,和Tiws有什么区别?
3.在函数的定义中有 ByVal hDestDC As Long,解释为目标设备的场景。有那些控件或对象可以可以放在这里?
以上问题以回复为盼!!!
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
efsnake 2003-08-21
  • 打赏
  • 举报
回复
To pigpag:
我昨天晚上苦读了一通宵,模糊的明白了HDC,但是我做的是一个用LISTVIEW和IMAGELIST来生成的图片文件的缩略图,现在已经可以把缩略图写进一个DC里,但是把这个DC作为IMAGELIST。ADD的参数又不行,用GETCURRENTOBJECT得到的只是BITMAP的HANDLE,麻烦指教一下如何才能够把DC里的图片信息写进IMAGELIST。LISTITENS集合里,谢谢了。因为是新手,所以问的问题有点模糊,不过请多包含!:)
pigpag 2003-08-21
  • 打赏
  • 举报
回复
首先,StdPicture.Handle返回的不是hDC,而是hBitmap之类的图像句柄。其次,Dim stdpTemp As StdPicture没有将stdpTemp实例化就开始使用了,没有New。
1. hDC 是 Handle of Device Context,设备上下文的句柄,设备上下文允许你在其上作图,而让它为您进一步完成将图像映射到硬件或者内存图像中的中间代理。
2. Tiws?是什么?主要是各种单位的不同。
3. PictureBox.hDC, Form.hDC,或者使用API::GetWindowDC函数可以通过hWnd得到hDC

1,485

社区成员

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

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