none
可以推薦一個學api vb的網站或書籍? 還有幾個API的問題 RRS feed

  • 問題

  • 我目前知道VB研究小站可以學
    還有其他VB2005資源很多的網站或書籍嗎

    我比較想學API
    我還有幾個問題想問
    http://tlcheng.twbbs.org/TLCheng/Net/vbnet/MyStdInclude/Module/Window.txt
    	<Runtime.InteropServices.DllImport("user32.dll")> _
    Private Function ReleaseDC( _
    ByVal hWnd As IntPtr, _
    ByVal hDC As IntPtr) As Integer
    End Function

    <Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> _
    Public Structure RECT
    Public left As Int32
    Public top As Int32
    Public right As Int32
    Public bottom As Int32
    End Structure
    他們 < >內是什麼??  
    我記的API宣告是  

    Declare Function XX Lib "XXX" Alias "XXXX" (ByVal XX As XXX) As XXXX
    這樣子

    還有


    Public Enum enuRasterOperationCode As Integer
    BLACKNESS = &H42
    DSINVERT = &H550009
    MERGECOPY = &HC000CA
    MERGEPAINT = &HBB0226
    NOTSRCCOPY = &H330008
    NOTSRCERASE = &H1100A6
    PATCOPY = &HF00021
    PATINVERT = &H5A0049
    PATPAINT = &HFB0A09
    SRCAND = &H8800C6
    SRCCOPY = &HCC0020
    SRCERASE = &H4400328
    SRCINVERT = &H660046
    SRCPAINT = &HEE0086
    WHITENESS = &HFF0062
    End Enum

    我知道 &H後面是十六進未

    那他們有一推數字代表什麼阿

    哪裡可以查

    麻煩各位了   VB初學者問題蠻多的@@

    2007年7月11日 上午 08:29

解答

  • 是指示函數的 DLL 的路徑和檔名,

    若是用系統 DLL 或 DLL 和程式在同一資料夾,則不必加路徑。

     

    "< >" 中也有其他的參數,像是 Charset="Auto",EntryPoint="xxxx" 等等,可查 SDK 文件得知。

     

    列舉或常數的宣告,則要參考 C++ 的原始標頭檔,例如:

     

    Code Snippet
    #define ICC_LISTVIEW_CLASSES   0x00000001 // listview, header
    #define ICC_TREEVIEW_CLASSES   0x00000002 // treeview, tooltips
    #define ICC_BAR_CLASSES        0x00000004 // toolbar, statusbar, trackbar, tooltips
    #define ICC_TAB_CLASSES        0x00000008 // tab, tooltips
    #define ICC_UPDOWN_CLASS       0x00000010 // updown
    #define ICC_PROGRESS_CLASS     0x00000020 // progress
    #define ICC_HOTKEY_CLASS       0x00000040 // hotkey
    #define ICC_ANIMATE_CLASS      0x00000080 // animate
    #define ICC_WIN95_CLASSES      0x000000FF

     

    在 VB 可以宣告為: 

    Code Snippet

    Private ICC_LISTVIEW_CLASSES  As Integer = &H001

    Private ICC_TREEVIEW_CLASSES  As Integer = &H002

    Private ICC_BAR_CLASSES       As Integer = &H004

    Private ICC_TAB_CLASSES       As Integer = &H008

    Private ICC_UPDOWN_CLASS      As Integer = &H010

    Private ICC_PROGRESS_CLASS    As Integer = &H020

    Private ICC_HOTKEY_CLASS      As Integer = &H040

    Private ICC_ANIMATE_CLASS     As Integer = &H080

    Private ICC_WIN95_CLASSES     As Integer = &H0FF 

     

    2007年7月11日 上午 09:09
    版主
  • 這是 VBNET 的新宣告方式,舊的 VB6 語法也可以用。不過若需做更多屬性設定時,就必須依賴新語法才能設定。

     

    請參見:

    http://msdn2.microsoft.com/zh-tw/library/e4takf5s(VS.80).aspx

     

    至於列舉函數的值,先看 MSDN 對應的函數 BitBlt :

    http://msdn2.microsoft.com/en-us/library/ms532278.aspx

     

    再看最下方的:

    Header: Declared in Wingdi.h; include Windows.h.

    然後到這兩個引入檔找,再把它轉寫為 VB 的宣告。

     

     

    2007年7月11日 下午 12:34
    版主
  • 2007年7月11日 下午 02:34
    版主

所有回覆

  • 是指示函數的 DLL 的路徑和檔名,

    若是用系統 DLL 或 DLL 和程式在同一資料夾,則不必加路徑。

     

    "< >" 中也有其他的參數,像是 Charset="Auto",EntryPoint="xxxx" 等等,可查 SDK 文件得知。

     

    列舉或常數的宣告,則要參考 C++ 的原始標頭檔,例如:

     

    Code Snippet
    #define ICC_LISTVIEW_CLASSES   0x00000001 // listview, header
    #define ICC_TREEVIEW_CLASSES   0x00000002 // treeview, tooltips
    #define ICC_BAR_CLASSES        0x00000004 // toolbar, statusbar, trackbar, tooltips
    #define ICC_TAB_CLASSES        0x00000008 // tab, tooltips
    #define ICC_UPDOWN_CLASS       0x00000010 // updown
    #define ICC_PROGRESS_CLASS     0x00000020 // progress
    #define ICC_HOTKEY_CLASS       0x00000040 // hotkey
    #define ICC_ANIMATE_CLASS      0x00000080 // animate
    #define ICC_WIN95_CLASSES      0x000000FF

     

    在 VB 可以宣告為: 

    Code Snippet

    Private ICC_LISTVIEW_CLASSES  As Integer = &H001

    Private ICC_TREEVIEW_CLASSES  As Integer = &H002

    Private ICC_BAR_CLASSES       As Integer = &H004

    Private ICC_TAB_CLASSES       As Integer = &H008

    Private ICC_UPDOWN_CLASS      As Integer = &H010

    Private ICC_PROGRESS_CLASS    As Integer = &H020

    Private ICC_HOTKEY_CLASS      As Integer = &H040

    Private ICC_ANIMATE_CLASS     As Integer = &H080

    Private ICC_WIN95_CLASSES     As Integer = &H0FF 

     

    2007年7月11日 上午 09:09
    版主
  • 這是 VBNET 的新宣告方式,舊的 VB6 語法也可以用。不過若需做更多屬性設定時,就必須依賴新語法才能設定。

     

    請參見:

    http://msdn2.microsoft.com/zh-tw/library/e4takf5s(VS.80).aspx

     

    至於列舉函數的值,先看 MSDN 對應的函數 BitBlt :

    http://msdn2.microsoft.com/en-us/library/ms532278.aspx

     

    再看最下方的:

    Header: Declared in Wingdi.h; include Windows.h.

    然後到這兩個引入檔找,再把它轉寫為 VB 的宣告。

     

     

    2007年7月11日 下午 12:34
    版主
  • 我看不懂英文壓= =

    有專們交API的書嗎
    2007年7月11日 下午 02:29
  • 2007年7月11日 下午 02:34
    版主