Создать свой курсор с прозрачным фоном - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Мне надо сделать курсор с прозрачным фоном. Я знаю, что мене скажут, что VB не работает с альфа-каналом, но я находил в инете иконки с прозрачным фоном и VB их прекрасно ел, но при попытке сделать свою иконку мне пишет Invalid Picture. Что делать? P.S. Я знаю, что VB воспринимает только 24 битные картинки для иконок и курсоров.

Решение задачи: «Создать свой курсор с прозрачным фоном»

textual
Листинг программы
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileW" (ByVal lpsz As Long) As Long
Private Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
 
Private Const WM_SETCURSOR As Long = &H20
 
Dim hCursor As Long
Dim WithEvents subPic As clsTrickSubclass
 
Private Sub Form_Load()
    Set subPic = New clsTrickSubclass
    subPic.Hook picTest.hwnd
    hCursor = LoadCursorFromFile(StrPtr(App.Path & "\Select.cur"))
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    DestroyCursor hCursor
End Sub
 
Private Sub subPic_WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long, Ret As Long, DefCall As Boolean)
    Select Case Msg
    Case WM_SETCURSOR: SetCursor hCursor
    Case Else: DefCall = True
    End Select
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы