Д.Д.
Пишу довольно сложную программу по диагностике растворенных газов в масле, GUI работает в режиме Opt("GUIOnEventMode", 0)
Привожу часть кода
Вопрос: как можно организовать получения события при нажатии на кнопку?
в скрипте кнопки управления меняют цвет при активации и поворот прекращается
после нажатия правой кнопкой мыши на кнопку управления.
В существующем варианте кнопка получает событие лишь после отпускания.
Задача: организовать работу функции при нажатии на кнопку и её удержании,прекратить сразу после отпускания
Жду Ваших советов...
Пишу довольно сложную программу по диагностике растворенных газов в масле, GUI работает в режиме Opt("GUIOnEventMode", 0)
Привожу часть кода
Код:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE,$Exit
GUISwitch($hParent)
WinSetState($hParent, "", @SW_ENABLE)
GUIDelete($hwnd)
Case $hXAspectUp ;кнопка поворот фигуры вверх
$arrPoz[0]=700
$arrPoz[1]=525 - _GUICtrlSlider_GetPos($hSlideInterval)
Do
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap,10, 10, $Width*0.7, $Height*0.7)
$draw_coordinates=Rotating1_($arrPoz,$draw_coordinates,$arrTek)
If _IsPressed(02) Then
GUICtrlSetImage($hXAspectUp, @ScriptDir & "\ArrowGreyUp.ico",0,1)
ExitLoop
EndIf
GUICtrlSetImage($hXAspectUp, @ScriptDir & "\ArrowBlueUp.ico",0,1)
Until $nMsg <> $hXAspectUp
Case $hXAspectDown ;кнопка поворот фигуры вниз
$arrPoz[0]=700
$arrPoz[1]=525 + _GUICtrlSlider_GetPos($hSlideInterval)
Do
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 10, 10, $Width*0.7, $Height*0.7)
$draw_coordinates=Rotating1_($arrPoz,$draw_coordinates,$arrTek)
If _IsPressed(02) Then
GUICtrlSetImage($hXAspectDown, @ScriptDir & "\ArrowGreyDown.ico",0,1)
ExitLoop
EndIf
GUICtrlSetImage($hXAspectDown, @ScriptDir & "\ArrowBlueDown.ico",0,1)
Until $nMsg <> $hXAspectDown
Case $hXAspectLeft ;кнопка поворот фигуры влево
$arrPoz[0]=700 - _GUICtrlSlider_GetPos($hSlideInterval)
$arrPoz[1]=525
Do
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 10, 10, $Width*0.7, $Height*0.7)
$draw_coordinates=Rotating1_($arrPoz,$draw_coordinates,$arrTek)
If _IsPressed(02) Then
GUICtrlSetImage($hXAspectLeft, @ScriptDir & "\ArrowGreyLeft.ico",0,1)
ExitLoop
EndIf
GUICtrlSetImage($hXAspectLeft, @ScriptDir & "\ArrowBlueLeft.ico",0,1)
Until $nMsg <> $hXAspectLeft
Case $hXAspectRight ;кнопка поворот фигуры вправо
$arrPoz[0]=700 + _GUICtrlSlider_GetPos($hSlideInterval)
$arrPoz[1]=525
Do
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 10, 10, $Width*0.7, $Height*0.7)
$draw_coordinates=Rotating1_($arrPoz,$draw_coordinates,$arrTek)
If _IsPressed(02) Then
GUICtrlSetImage($hXAspectRight, @ScriptDir & "\ArrowGreyRight.ico",0,1)
ExitLoop
EndIf
GUICtrlSetImage($hXAspectRight, @ScriptDir & "\ArrowBlueRight.ico",0,1)
Until $nMsg <> $hXAspectRight
EndSwitch
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 10, 10, $Width*0.7, $Height*0.7)
WEnd
в скрипте кнопки управления меняют цвет при активации и поворот прекращается
после нажатия правой кнопкой мыши на кнопку управления.
В существующем варианте кнопка получает событие лишь после отпускания.
Задача: организовать работу функции при нажатии на кнопку и её удержании,прекратить сразу после отпускания
Жду Ваших советов...