Creat0R,
Цитата:
Пока оставил пост в разделе по GUI
|
Спасибо!
Вот ещё пример с колёсиком мыши и слайдером - наверное здесь тоже происходит "поглощение":
При изменении позиции слайдера колесом мыши,
GUIGetMsg() не срабатывает, а загружать основной цикл постоянными запросами тоже не хочется. Вот как раз здесь-то и пригодилась бы
$WM_MOUSEWHEEL - для того чтобы получать значение слайдера при повороте колеса мыши (если он в фокусе). Но увы... именно когда он в фокусе, событие
$WM_MOUSEWHEEL перестаёт обрабатываться.
Код:
#include <GUIConstants.au3>
$HWnd = GUICreate("MOUSEWHEEL_TEST",400,300)
$BUTTON = GUICtrlCreateButton("Get Value",10,10,70,20)
$SLIDER = GUICtrlCreateSlider(10,70,300,20)
$INPUT = GUICtrlCreateInput("0",10,100,30,18,BitOR($ES_READONLY,$ES_CENTER))
Global Const $WM_MOUSEWHEEL = 0x020A
GUIRegisterMsg($WM_MOUSEWHEEL,"Get_MouseWheel")
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $SLIDER
GUICtrlSetData($INPUT,GUICtrlRead($SLIDER))
Case $BUTTON
MsgBox(0,"Текущее значение слайдера:",GUICtrlRead($SLIDER))
EndSwitch
WEnd
Func Get_MouseWheel($HWnd,$Command,$wParam,$lParam)
Switch $wParam
Case 0x00780000 ; UP
Beep(100,40)
Case 0xFF880000 ; DOWN
Beep(80,40)
EndSwitch
EndFunc