久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3444|回復(fù): 0
收起左側(cè)

VB程序使用自定義鼠標

[復(fù)制鏈接]
ID:108531 發(fā)表于 2016-3-12 16:07 | 顯示全部樓層 |閱讀模式
     大家都知道VB程序的圖標不支持顏色超過24位的位圖,所以無法在設(shè)計時導(dǎo)入真彩色的鼠標圖標,那只可能在運行時動態(tài)加載了,動態(tài)改變鼠標指針要用到Win32的API “SetCursor”,但是在vb里這個函數(shù)不能很好的工作,因為vb習慣在不同的時間將指針變回原來的樣子,所以需要不停的去調(diào)用這個API,也就是說再每給控件的MouseMove事件里都得去調(diào)用"SetCursor",所以很麻煩。如是乎在偶一番埋頭苦想,經(jīng)過N此實驗之后終于找到了一種方法。我們都知道VB上的每一個控件都是一個窗口(子窗口),那么每個窗口都有一些屬性,這些屬性中就包括了鼠標在該窗口上的圖標,哈哈想到了吧,我們只要改變每個窗口的默認的鼠標圖標句柄就行了。這樣就肯定要用到一些API,那么讓我們來看看需要哪些API吧:
EnumChildWindows(遍歷所有的子窗口)
LoadCursor(加載鼠標)
SetClassLong (設(shè)置窗口類)
EnumChildWindows這個API一開弄了很久,因為需要自定義的過程,而且參數(shù)前要加BYVAL 修飾符,不然就會出錯
Public Sub Set_Cursors(hwnd As Long)
'hwnd為主窗口句柄
    EnumChildWindows hwnd, AddressOf MyFunc, 0
End Sub
自定過程如下:
Public Function MyFunc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
'這里我們需要的只是hwnd參數(shù),它是每個子窗口的句柄,這個過程會被調(diào)用多次
    Set_Cursor hwnd
    MyFunc = True
End Function
Public Sub Load_Cursor(ByVal hInstance As Long, ByVal lpIconName As Long)
'加載鼠標圖標,改函數(shù)返回一個鼠標句柄,hinstance為程序的實例句柄,lpIconName為鼠標資源的ID號
我是把資源放進了程序中,當然是編譯之后用資源編輯工具導(dǎo)入的,你也可以從文件中加載
    CursorHandle = LoadCursor(hInstance, 2)
End Sub
Public Sub Set_Cursor(hwnd As Long)
'更改窗口默認的鼠標樣式
    SetClassLong hwnd, GCL_HCURSOR, CursorHandle
End Sub
接下來我們只要在一個過程中依次調(diào)用:
Load_Cursor
Set_Cursors

就可以完成自定義鼠標指針的設(shè)定了。

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久238 | 成人无遮挡毛片免费看 | 精品一区二区视频 | 国产免费一区二区 | 精品免费国产视频 | 一级黄色片免费在线观看 | 色888www视频在线观看 | 久久亚洲视频 | 国产欧美一区二区三区日本久久久 | 日本理论片好看理论片 | 亚洲成av人影片在线观看 | 国产精品美女一区二区 | 涩涩操| 激情三区| 久久综合一区 | 亚洲一区二区三区在线免费 | 久久国产精品久久久久 | 成人精品一区二区户外勾搭野战 | 国产偷自视频区视频 | 国产一区二区三区高清 | 天天操夜夜操免费视频 | 国产精品国产三级国产aⅴ原创 | av网站在线看 | 欧美日韩大陆 | 午夜不卡一区二区 | 成人三级影院 | 国产免费观看久久黄av片涩av | 久久88| 午夜日韩| 午夜国产一级片 | 成人二区三区 | 成人午夜精品 | 成人免费观看男女羞羞视频 | 国产成人精品一区二区三 | 综合在线视频 | 伊久在线| 精品国产免费一区二区三区五区 | 一本综合久久 | 成人精品一区二区 | 91精品国产91久久久久福利 | 天堂一区 |