Страница: 1 |
Вопрос: Проблемы с vbHourglass | Добавлено: 07.08.05 01:29 |
Автор вопроса: ![]() |
Возникла проблема: у меня в некоторых случаях, например при чтении большого файла, не работает код Screen.MousePointer = vbHourglass
Использую DoEvents - не помогает :( В чем проблема? Очень нужно изменить указатель!!! Спасите! |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #1 | Добавлено: 08.08.05 18:25 |
да не может быть, сначала меняй курсор, потом читай файл, как закончил читать ставь курсор обратно. А вообще лучше кидай код, мы посмотрим... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 321186096 Вопросов: 30 Ответов: 347 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 12.08.05 20:28 |
О! Как раз по теме ![]() Как изменить указатель на руку (которая установлена в системе, например, при наводке на линки в Internet Explorer)? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #3 | Добавлено: 13.08.05 17:01 |
MousePointer = Custom
В MouseIcon выбери *.ico с рукой |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 321186096 Вопросов: 30 Ответов: 347 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 14.08.05 18:23 |
2 HACKER: ага, щщщас! Я уже побежал выбирать ico с рукой! Я же писал: которая установлена в системе, например, при наводке на линки в Internet Explorer !
|
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #5 | Добавлено: 14.08.05 18:42 |
Option Explicit
Private Declare Function LoadImage Lib "user32.dll" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As Long, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long Private Declare Function OleCreatePictureIndirect Lib "oleaut32" (ByRef lpPictDesc As PicBmp, riid As GUID, ByVal fOwn As Long, ByRef lplpvObj As Any) As Long Private Type GUID ![]() ![]() ![]() ![]() End Type Private Type PicBmp Size As Long Type As PictureTypeConstants hBmp As Long hPal As Long Reserved As Long End Type Private Const IMAGE_CURSOR As Long = 2 Private Const OCR_HAND As Long = 32649 Private Const LR_DEFAULTSIZE As Long = &H40 Private Const LR_SHARED As Long = &H8000 Private Sub Form_Load() Me.MousePointer = vbCustom Set Me.MouseIcon = GetPictureFromHandle(LoadImage(0, OCR_HAND, IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE Or LR_SHARED), vbPicTypeIcon) End Sub Public Function GetPictureFromHandle(ByVal Handle As Long, ByVal PictureType As PictureTypeConstants) As IPictureDisp Dim p As PicBmp, g As GUID With p .hBmp = Handle .Size = Len(p) .Type = PictureType End With 'IDispatch With g .Data1 = &H20400 .Data4(0) = &HC0 .Data4(7) = &H46 End With OleCreatePictureIndirect p, g, 0, GetPictureFromHandle End Function Примечание. fOwn = 0 только потому, что используется LR_SHARED. Вообще там 1 обычно. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 321186096 Вопросов: 30 Ответов: 347 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 15.08.05 20:00 |
2 GSerg: почти то! Жаль, тень от курсора не отбрасывается, ведь в данном случае курсор - не курсор, а картинка ![]() Большое спасибо! |
Страница: 1 |
|