Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
[решено] ColorPicker не работает с GUICtrlOnHover

Аватара для Centrinar

Старожил


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

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


Вложения
Тип файла: zip GUICtrlOnHover.zip
(5.4 Kb, 5 просмотров)
Подскажите пожалуйста, в данном скрипте не работает возможность выбора цвета...
Код: Выделить весь код
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include "GUICtrlOnHover.au3"
#include "ColorPicker.au3"

#Region Main form
$hMain_GUI = GUICreate("Главное окно", 300, 200)
$Label = GUICtrlCreateLabel("Настройки", 10, 170, 55, 20)
GUICtrlSetFont($Label, 8.5, 400, 0)
_GUICtrl_OnHoverRegister($Label, "_Hover_Func", "_Hover_Func")
$nExit_Btn = GUICtrlCreateButton("Выход", 90, 170, 70, 20)
$Color = _GUIColorPicker_Create("",50, 50, 70, 25, "0xFFFFFF", $CP_FLAG_DEFAULT + $CP_FLAG_ARROWSTYLE + $CP_FLAG_TIP, -1, -1, -1, -1, "", "Изменить")
GUISetState(@SW_SHOW, $hMain_GUI)
#EndRegion Main form

#Region Settings form
$hStngs_GUI = GUICreate("Настройки", 400, 200)
$nStngs_Ok_Btn = GUICtrlCreateButton("ОК", 10, 170, 80, 25)
$nStngs_Close_Btn = GUICtrlCreateButton("Закрыть", 310, 170, 80, 25)
#EndRegion Settings form


While 1
    $aMsg = GUIGetMsg(1) ;Расширенная обработка событий

    Switch $aMsg[0]
        Case $GUI_EVENT_CLOSE, $nExit_Btn, $nStngs_Close_Btn
            Switch $aMsg[1]
                Case $hMain_GUI  ;Событие поступило от главного окна - завершаем работу скрипта
                    Exit
                Case $hStngs_GUI ;Событие поступило от окна настроек - закрываем его
                    GUISetState(@SW_HIDE, $hStngs_GUI)
            EndSwitch
        Case $Label
            GUISetState(@SW_SHOW, $hStngs_GUI)
    EndSwitch
WEnd

Func _Hover_Func($iCtrlID, $iParam)
    Local $sConsole_Data = "Hovered"
    Local $iLabel_Color = 0x00000FF
    Local $iLabel_FontAttrib = 4
    Local $iLabel_CursorID = 0

    If $iParam = 2 Then ;Indicates On *Leave* Hover process
        $sConsole_Data = "NOT Hovered"

        $iLabel_Color = 0x000000
        $iLabel_FontAttrib = 0
        $iLabel_CursorID = -1
    EndIf

   

    Switch $iCtrlID
        Case $Label
            GUICtrlSetColor($iCtrlID, $iLabel_Color)
            GUICtrlSetFont($iCtrlID, 8.5, 400, $iLabel_FontAttrib)
            GUICtrlSetCursor($iCtrlID, $iLabel_CursorID)
    EndSwitch
EndFunc

Отправлено: 14:21, 28-03-2011

 

Аватара для Creat0R

Must AutoIt


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

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


А документацию кто читать будет?

Цитата:
5) IMPORTANT!
A) Do not call _GUICtrl_OnHoverRegister inside $sHover_Func/$sLeaveHover_Func functions, it's not a good idea.

B) This UDF registering WM_COMMAND and WM_LBUTTONDOWN window messages.
Please ensure that those messages are not used after including this library,
if they do, you will have to call __GUICtrl_SOH_WM_COMMAND and __GUICtrl_SOH_WM_LBUTTONDOWN inside those functions. Example:

Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
__GUICtrl_SOH_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
...
EndFunc
WM_COMMAND также используется в ColorPicker.au3. Их нужно подружить, замени в GUICtrlOnHover.au3:
Код: Выделить весь код
Func __GUICtrl_SOH_WM_COMMAND($hWndGUI, $MsgID, $WParam, $LParam)
	$i__GUICtrl_SOH_LastPrimaryDownCtrlID = $LParam
EndFunc
на
Код: Выделить весь код
Func __GUICtrl_SOH_WM_COMMAND($hWndGUI, $MsgID, $WParam, $LParam)
	$i__GUICtrl_SOH_LastPrimaryDownCtrlID = $LParam
	Return CP_WM_COMMAND($hWndGUI, $MsgID, $WParam, $LParam)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

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

Отправлено: 14:46, 28-03-2011 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
В BIOS клавиатура не работает, а в Windows работает. Что делать? Мама_Таня Поиск драйверов, прошивок и руководств 15 04-12-2024 18:54
[решено] не работает клавиатура (в биосе работает, при загрузке нет) AlhimikRu Непонятные проблемы с Железом 11 24-10-2013 05:10
[решено] bat-файл работает... и он же не работает. В чем дело? truvo Хочу все знать 10 26-03-2009 02:36
Прозрачность фона картинки. Работает в Opera, не работает Internet Explorer 6 Voxell Вебмастеру 10 11-11-2008 13:49
Некоторый софт не работает с 512 Мб, а работает только с 256 ACrimson Непонятные проблемы с Железом 12 02-10-2004 20:30




 
Переход