SetTableNotificationCallback

Страницы: 1
RSS
SetTableNotificationCallback, множественное срабатывание
 
Код
f_cb = function(t_id, msg, par1, par2)
  if msg == QTABLE_LBUTTONDBLCLK then
    message("QTABLE_LBUTTONDBLCLK")
  elseif msg == QTABLE_LBUTTONUP then
    message("QTABLE_LBUTTONUP")
  elseif msg == QTABLE_LBUTTONDOWN then
    message("QTABLE_LBUTTONDOWN")
  end
end
SetTableNotificationCallback(t_id, f_cb)

Есть простой способ отличить двойной клик от одинарного? А то срабатывают сразу все события:
Код
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP
Надо делать так, как надо. А как не надо - делать не надо.
 
Конечно же такого способа нет.
Ведь когда вы первый раз нажимаете для на кнопку мыши - еще никто не знает будете ли вы делать двойной клик. Никто даже не знает отпустите ли вы её.
 
swerg,
Такой способ должен быть, т.к. WinAPI поддерживает 3 типа сообщений для каждой кнопки мыши:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
Первое - это нажатие кнопки, второе - отпускание и третье - двойной клик.
В общем, технически это возможно (только важно не забыть установить стиль окна CS_DBLCLKS).
 
Цитата
Вячеслав написал:
swerg  ,
Такой способ должен быть, т.к. WinAPI поддерживает 3 типа сообщений для каждой кнопки мыши:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
Первое - это нажатие кнопки, второе - отпускание и третье - двойной клик.
В общем, технически это возможно (только важно не забыть установить стиль окна CS_DBLCLKS).
Вы правы. Такие сообщения есть.
Но вот сюрприз: при клике двойном мышью в ваше приложение последовательно приходит 4 сообщения:
  WM_LBUTTONDOWN
  WM_LBUTTONUP
  WM_LBUTTONDBLCLK
  WM_LBUTTONUP
Ну кто бы мог подумать, правда?
Страницы: 1
Читают тему
Наверх