Bitblt导致无法用API绘图
时间:2011-12-18
来源:互联网
去掉Bitblt那句代码,就能画出圆,加上却画不出。我已经用GetDC获得了窗体的场景,为什么复制场景后画不出图了,请问这是什么原因?
VB code
VB code
Option Explicit Private Declare Function GetDC& Lib "user32" (ByVal hwnd As Long) Private Declare Function Ellipse& Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) Private Declare Function ReleaseDC& Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) 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 Private Sub Command1_Click() Dim PicDC As Long Form1.AutoRedraw = True 'BitBlt hdc, 0, 0, 1000, 1000, Picture1.hdc, 0, 0, vbSrcCopy PicDC = GetDC(hwnd) '获取设备场景句柄 Ellipse PicDC, 0, 0, 100, 100 '画空心圆 ReleaseDC hwnd, PicDC '释放设备场景 End Sub
作者: knightgy 发布时间: 2011-12-18
没人知道?
作者: knightgy 发布时间: 2011-12-19
应该是你的两个DC不是兼容的DC,你可以使用CreateCompatibleDC,创建一个和Me.hdc相兼容的DC再使用BitBlt
作者: Veron_04 发布时间: 2011-12-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28