日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單說明VB.NET自定義類型在API中使用

隨著時代的發(fā)展,VB.NET技術也隨著發(fā)展,我在前面已經(jīng)提到過VB.NET自定義類型,這次我用一個簡單的API來說明一個VB.NET自定義類型在API中的使用。VB.NET自定義類型規(guī)定了變量傳遞給函數(shù)或子程序時必須按引用來傳遞(關于按引用傳遞與按值傳遞,將在以后的文章中做詳細介紹),因此下面這個API的聲明,你會發(fā)現(xiàn)和前面所介紹的幾個有少許不同。

 
 
  1. Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

相比上一話中的一個API:

 
 
  1. Public Declare Function GetSystemDirectory Lib "kernel32" Alias 
    "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

可發(fā)現(xiàn)參數(shù)前面少了個ByVal。如果不加ByVal,或者把ByVal換成ByRef,就是按引用傳遞。POINTAPI不是VB的標準數(shù)據(jù)類型,它是一個自定義類型。從API瀏覽器中我們得到它的定義原形是這樣的:

 
 
  1. Public Type POINTAPI
  2. x As Long
  3. y As Long
  4. End Type

#T#這里應該引起注意的是,你應該把POINTAPI的定義寫在使用它的函數(shù)聲明之前,否則VB會認為你的類型未定義。你也不可以把 x As Long 和 y As Long 的位置對調(diào),如果對調(diào)了,在這個API中最多只會使原本 x 的值變成 y 的值,y 的值變成 x 的值,但在更復雜的自定義類型中,結(jié)果就不可預知了。這個API的作用是得到鼠標指針在屏幕中的坐標(以像素為單位)。你可以在自己的程序中試驗它,比如:

 
 
  1. Dim tCursor As POINTAPI
  2. GetCursorPos tCursor
  3. Debug.Print tCursor.x, tCursor.y

將從調(diào)試窗口打印鼠標指針的當前坐標

VB 中的坐標系統(tǒng)比較豐富,有Twip、Point、Pixel、 Character、Inch、Millimeter、Centimeter和User。很復雜吧?在這里我要說的是Twip和Pixel,至于剩下的,由于和本文所說的應用無多大關系,請參考MSDN或相關書籍。


網(wǎng)頁題目:簡單說明VB.NET自定義類型在API中使用
文章URL:http://www.5511xx.com/article/djeeppj.html