Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] _GUICtrlSlider_Create - свой курсор для сайдера.

Ответить
Настройки темы
[решено] _GUICtrlSlider_Create - свой курсор для сайдера.

Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Можно ли поставить свой курсор на элемент слайдер созданный через - _GUICtrlSlider_Create ?

Отправлено: 08:08, 07-09-2009

 

Пользователь


Сообщения: 58
Благодарности: 1

Профиль | Отправить PM | Цитировать


Привет старый

Код: Выделить весь код
GUICtrlSetCursor ( controlID, cursorID )
Не знаю, поможет- ли. В справке надыбал
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:20, 08-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


FlatX007, Можно через WM_SETCURSOR
читать дальше »
Код: Выделить весь код
#include <GuiConstants.au3>
#include <GuiSlider.au3>
#include <WinApi.au3>
#include <WindowsConstants.au3>

$hGui = GUICreate("Test_Cursor", 400, 200)
$hCursor1 = LoadCursor(0, 32649)
$hCursor2 = LoadCursor(0, 32644)

$hSlider = _GUICtrlSlider_Create($hGui, 20, 20, 320, 20, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))

GUIRegisterMsg($WM_SETCURSOR, "WM_SETCURSOR")
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
        DestroyCursor($hCursor1)
        DestroyCursor($hCursor2)
        Exit
    EndSwitch
WEnd

Func WM_SETCURSOR($HWnd, $MsgID, $wParam, $lParam)
    Local $iHitTest = BitAND($lParam, 0xFFFF) ;LoWord
    Local $iMouseEvent = BitShift($lParam, 16) ;HiWord
    If $wParam = $hSlider Then
        If $iMouseEvent = 513 Then
            _WinAPI_SetCursor($hCursor2)
        Else
            _WinAPI_SetCursor($hCursor1)
        EndIf
        Return 1
    EndIf
EndFunc

;~ Загружает курсор из файла ("*.cur;*.ani;*.ico")
;~ Вслучае успеха возвращает идентификатоp нового куpсоpа. False - в случае ошибки.
;~ $sFile - путь к иконному файлу.
Func LoadCursorFromFile($sFile)
    Local $hCursor
    $hCursor = DllCall("user32.dll","hwnd", "LoadCursorFromFileA", "str", $sFile)
    If @error Then Return SetError(@error, 0 , False)
    Return SetError(0, 0, $hCursor[0])
EndFunc

;~ $hInstance: Экземпляp модуля, исполнимый файл котоpого содеpжит куpсоp или 0 для пpедопpеделенного куpсоpа.
;~ $CursorName: Идентификатоp куpсоpа или пpедопpеделенный куpсоp.
Func LoadCursor($hInstance, $CursorName)
    Local $hCursor = DllCall("user32.dll", "hwnd", "LoadCursorA", "hwnd", $hInstance, "int", $CursorName)
    If @error Then Return SetError(@error, 0 , False)
    Return $hCursor[0]
EndFunc

;~ Уничтожает курсор и освобождает связанную с ним память.
;~ $hCursor - Идентификатоp куpсоpа.
;~ В случае успешного завеpшения возвращает True
Func DestroyCursor($hCursor)
    Local $ret = DllCall("user32.dll", "int", "DestroyCursor", "hwnd", $hCursor)
    If @error Then Return SetError(@error, 0 , False)
    Return SetError(0, 0, $ret[0] <> 0)
EndFunc

-------
Создатель знает, что достиг совершенства не когда нечего добавить, а когда нечего убрать. - Антуан де Сент-Экзюпери

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:56, 08-09-2009 | #3


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Diamond, крутотень!! как раз - то ,что нужно.

Отправлено: 04:22, 08-09-2009 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] _GUICtrlSlider_Create - свой курсор для сайдера.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Свой Shell для каждого пользователя Serjo1977 Microsoft Windows 2000/XP 1 11-02-2009 16:35
Расшарить свой ftp для инета Master of Magic Хочу все знать 1 23-12-2008 14:50
подскажите sp3 идет для профисиональной версии свой для другой другой krazy Автоматическая установка Windows 2000/XP/2003 2 07-12-2008 00:32
Приобретение - [решено] Можно ли использовать свой диск для downgrade с winvista на winxp? elec105 Лицензирование продуктов Microsoft 8 28-02-2008 22:54
Ищу свой Линукс для Web-сервера DenisLagoda Общий по Linux 6 22-04-2003 13:10




 
Переход