注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

周超强 廊坊师范学院信息技术提高班第十期

人生没有彩排,每天都是现场直播!

 
 
 

日志

 
 

VB中的Api函数  

2013-04-21 19:40:51|  分类: VB学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  一直以来,很恐惧api,看到那么长的代码,一种视觉上的冲击迎面而来,就没有耐心的读过,当真正理解后,触类旁通,发现他也就这么几招.下面是我对Api的认识!
   API的生命范围,一种是私有的,一种是公有的.一般私有的在类模块和窗体里面,公有的在窗体里面.
牛刀小试:
                

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
    Sleep 2000
End Sub
其实,函数的声明要不就是有返回值(function),要不就没有返回值!(sub)
        private:声明的范围。
        declare:宣称的意思!就好比你要做件大事,首先得大张旗鼓的炫耀一番!
        sub:就是刚才要说的没有返回值,可以是function
        sleep:这是这个函数的小名!
        kernel32:这是这个函数的另一个名字!
       dwmilliseconds:要传的参数值,相比我们学习过程函数时,就不会感到陌生了吧!前面的byval就是代表我们要传的方式,是按值传入的!
  通过以上我们的发现,这个函数的小名是睡觉,休眠的意思,就是让计算机休眠!
 这个函数的意思就是计算机经过2秒后,就开始进行休眠了!
  
   好了,是不是开始感兴趣了,那么咱们再分析一个!
   Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const GW_OWNER = 4
Private Const SW_HIDE = 0
Private Sub Form_Load()
    Dim lphWnd As Long
    lphWnd = GetWindow(Me.hwnd, GW_OWNER)
    ShowWindow lphWnd, SW_HIDE
End Sub
  getwindow:获取窗口!
  hwnd:句柄,就好像我们每个人的身份证号一样,有属于自己的标识,防止我们弄混了,找不到他们!
  wcmd:要传入的整形变量:
  showindow:显示窗口    后面就是要传入的值。想必大家都已经清楚了吧!
   咱们趁热打铁,在来分析一个!

      Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
                     Private Type POINTAPI
        x As Long
        y As Long
End Type
        Private Sub Timer1_Timer()
    Dim lpPoint As POINTAPI
    
    GetCursorPos lpPoint
    
    Me.Caption = "X = " & lpPoint.x & " Y = " & lpPoint.y
End Sub
    大家先来分析一下他的小名,看看他到底是用来干什么的?
    getcursorpos:Get(获取)Cursor(指针)Pos(位置),就是获取指针的位置嘛!
    Dim lpPoint As POINTAPI,申明一个POINTAPI类型变量,我们学过自定义类型的朋友都知道,一般使用自定义类型时都需要先申明一个相关的类型变量方可使用。
    GetCursorPos lpPoint,这一步我不说你都知道,调用API呗。通过这个API获取鼠标指针的相关信息。这里我们使用了自己声明的lpPoint变量,那为啥要使用这个变量呢?这里我们回过头来就前两节我们所分析的那样进行分析,可以看到GetCursorPos所需要传递的值,如果是Long,我们就传入整形数字,如果是String,我们就传入字符串,这里是POINTAPI,所以理所当然是要传入POINTAPI类型,但是!VB中的自定义类型不可以直接使用,所以我们需要先声明一个相同类型的变量。不知道说了这么多你懂了没?
  Me.Caption = "X = " & lpPoint.x & " Y = " & lpPoint.y,最后一句,也就是用来显示当前鼠标的坐标值的,我们通过声明的lpPoint变量来获取相应的鼠标坐标值,如果你不懂,那就请你先把VB自定义类型这章学完再说。
  希望以上的分析对大家的学习有收获!
  评论这张
 
阅读(54)| 评论(8)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017