已有23人关注
能帮我详细解释下这段代码红色部分吗?
发表在VB答疑区 2010-08-27
是否精华
版块置顶:
Option Explicit
Private Type POINTAPI
x As Long
y As Long
End Type
Const Srccopy = &HCC0020
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Dim pos As POINTAPI
Private Sub Form_Load()
Dim usew As Double
Dim useh As Double
usew = Form1.Width / [font color=#FF0000]Screen.TwipsPerPixelX[/font]
useh = Form1.Height / [font color=#FF0000]Screen.TwipsPerPixelY[/font]
End Sub
[font color=#FF0000]Private Sub start()[/font]
Dim sx As Integer
Dim sy As Integer
[font color=#FF0000]GetCursorPos pos
sx = IIf(pos.x < 100 Or pos.x > 1000, IIf(pos.x < 100, 0, 1000), pos.x - 100)
sy = IIf(pos.y < 100 Or pos.y > 800, IIf(pos.y < 100, 0, 800), pos.y - 100)
Caption = "坐标" & sx & "," & sy & "放大镜"
StretchBlt hdc, 0, 0, 200, 200, GetDC(0), sx, sy, 100, 100, Srccopy[/font]
End Sub
Private Sub Timer1_Timer()
start
End Sub
Private Sub Form_DblClick()
Unload Me
End Sub
分享到:
精彩评论 1
学分: LV1
2010-08-27
沙发
Screen.TwipsPerPixelX 返回一个像素的缇数,整句代码是进行缇和像素单位的转换,将窗体单位转换为像素,此句为水平方向的像素,竖直方向与此相同

GetCursorPos pos 获取当前光标坐标位置

sx = IIf(pos.x < 100 Or pos.x > 1000, IIf(pos.x < 100, 0, 1000), pos.x - 100)
sy = IIf(pos.y < 100 Or pos.y > 800, IIf(pos.y < 100, 0, 800), pos.y - 100)
根据光标所在位置获取X,y坐标值

StretchBlt hdc, 0, 0, 200, 200, GetDC(0), sx, sy, 100, 100, Srccopy
画一幅放大了的图像  sx, sy, 100, 100 为要放大的图像的开始坐标和宽度高度

查一下这两个API函数的作用 这几句代码就很容易分析出功能了






首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照