Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
MOV
-
- Постоялец

-
-
- Сообщения: 414
- Зарегистрирован: 13.03.2004 (Сб) 15:13
- Откуда: Санкт-Петербург
MOV » 20.05.2004 (Чт) 18:04
Есть обычная форма проекта.
Как без API можно изменить вид курсора мыши когда он находится над ней (над формой)?
Не тип курсора (MousePointer в свойствах формы), а именно его вид, то есть прикрепить к нему иконку. Свойство MouseIcon что ли? Но MouseIcon почему-то ничего не меняет.
-
Ennor
-
- Конструктивный критик

-
-
- Сообщения: 2504
- Зарегистрирован: 18.12.2001 (Вт) 3:58
- Откуда: Калуга -> Москва
-
Ennor » 20.05.2004 (Чт) 20:08
Чтобы MouseIcon подхватился, нужно выставить MousePointer = vbCustom (99). Так и не иначе.
-
Ariman
-
- Постоялец

-

-
- Сообщения: 817
- Зарегистрирован: 02.09.2003 (Вт) 16:23
- Откуда: Великая наша держава, г.Москва
-
Ariman » 03.06.2004 (Чт) 20:54
Есть другой путь - скрыть курсор, а на его координаты bitblit'ить необходимое изображение.
В этом случае можно использовать любой рисунок в качестве курсора.
-
Nina
-
- Начинающий

-
-
- Сообщения: 21
- Зарегистрирован: 27.11.2003 (Чт) 22:09
- Откуда: Смоленск
Nina » 09.06.2004 (Ср) 21:40
MousePointer=99
MouseIcon=Имя_файла
При этом почему-то, если брать файл *.cur, как советуют в разных "умных" книжках, то курсор получается черно-белый. Поэтому лучше всего брать файл *.ico или *.bmp.
-
ASD
-
- Модератор

-

-
- Сообщения: 1758
- Зарегистрирован: 07.12.2001 (Пт) 21:08
- Откуда: Russia
-
ASD » 11.06.2004 (Пт) 10:30
Nina писал(а):MousePointer=99
MouseIcon=Имя_файла
При этом почему-то, если брать файл *.cur, как советуют в разных "умных" книжках, то курсор получается черно-белый. Поэтому лучше всего брать файл *.ico или *.bmp.
Поддерживаю но анимированый не получится. Только с помощью API
но тут есть жопа. Если прога падает то курсор остается последним.. причем на всю винду...
Moderator VBStreets
---------------------------
-
A.A.Z.
-
- Член-корреспондент академии VBStreets

-
-
- Сообщения: 3035
- Зарегистрирован: 30.06.2003 (Пн) 13:38
-
A.A.Z. » 11.06.2004 (Пт) 18:30
Две кнопки: первая - поменять, вторая - восстановить
- Код: Выделить всё
'Code by Jerry Grant (Jerry@jg-design.net)
'Visit his website at http://www.jg-design.net
'This example requires two command buttons
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function CopyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, ByVal id As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Const OCR_NORMAL As Long = 32512
Private currenthcurs As Long
Private tempcurs As Long
Private newhcurs As Long
Private Sub Command1_Click()
Dim myDir As String
Dim lDir As Long
myDir = Space(255)
currenthcurs = GetCursor()
tempcurs = CopyIcon(currenthcurs)
lDir = GetWindowsDirectory(myDir, 255)
myDir = Left$(myDir, lDir) & "\cursors\banana.ani"
newhcurs = LoadCursorFromFile(myDir)
Call SetSystemCursor(newhcurs, OCR_NORMAL)
End Sub
Private Sub Command2_Click()
Call SetSystemCursor(tempcurs, OCR_NORMAL)
End Sub
Нет меня больше
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, PetalBot и гости: 20