(решено)Forward, back, up, down - как убрать?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

(решено)Forward, back, up, down - как убрать?

Сообщение vitaly_l » 07.01.2017 13:45:42

Всем хорошего настроения!

Есть PaintBox, если по нему очень быстро чиркнуть ( в основном видно на планшете ), то на 3 секунды появляется, надпись и картинка со стрелочкой указывающей сторону движения: Forward, back, up, down. Это как-то, связано с drop и drag. <== Они очень мешают, т.к. довольно часто выскакивают.

Пробовал заменить TPaintBox на TPanel - не помогает, т.к. там "при коротких штрихах" тоже выскакивают, чёртовы: Forward, back, up, down...
В интернете об этом нет ни слова.

:?: Как убрать / отключить - эти чёртовы: forward, back, up, down?

.

Добавлено спустя 6 часов 24 минуты 38 секунд:
Скорее всего - эти ("Forward", "Back", "Drag Up", "Drag Down") какие-то, программные Help-ы или заготовки, для программирования под планшеты, типа "перелистывание программ пальцем". Но срабатывает, оно, почему-то только от стилуса или от графического планшета (на палец не реагирует).

В общем засада и в коде исходников Лазаруса, тоже - не могу их найти, даже поиском.
Может, они в какой-то Dll подгружаются ?
Выглядят как на приложенной картинке:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось vitaly_l 19.01.2017 10:44:49, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Forward, back, up, down - как убрать?

Сообщение vitaly_l » 19.01.2017 09:23:43

Ужасно!!!
Неужели никто не знает?
Тема, точнее поиск решения - по прежнему, актуальны. Если кто нить знает как запретить появление: "Forward", "Back", "Drag Up", "Drag Down" при резком движении планшетного стилуса или графическо-планшетной ручки - пожалуйста не проходите мимо!!! Напишите прямо здесь эту волшебную строчку кода, позволяющую отключить выскакивающие: "Forward", "Back", "Drag Up", "Drag Down" <=== прлиииииз. :? :oops: :cry:
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Forward, back, up, down - как убрать?

Сообщение olegy123 » 19.01.2017 09:37:29

DWORD_PTR dwHwndTabletProperty =
TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture
TABLET_DISABLE_PENTAPFEEDBACK | // disables UI feedback on pen up (waves)
TABLET_DISABLE_PENBARRELFEEDBACK | // disables UI feedback on pen button down (circle)
TABLET_DISABLE_FLICKS; // disables pen flicks (back, forward, drag down, drag up)

ATOM atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);
SetProp(g_hWnd, MICROSOFT_TABLETPENSERVICE_PROPERTY, reinterpret_cast<HANDLE>(dwHwndTabletProperty));
GlobalDeleteAtom(atom);

http://blackstrip.ru/phpBB2/viewtopic.php?t=612
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: Forward, back, up, down - как убрать?

Сообщение vitaly_l » 19.01.2017 10:44:32

olegy123 писал(а):DWORD_PTR dwHwndTabletProperty =
TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture
TABLET_DISABLE_PENTAPFEEDBACK | // disables UI feedback on pen up (waves)
TABLET_DISABLE_PENBARRELFEEDBACK | // disables UI feedback on pen button down (circle)
TABLET_DISABLE_FLICKS; // disables pen flicks (back, forward, drag down, drag up)

ATOM atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY);
SetProp(g_hWnd, MICROSOFT_TABLETPENSERVICE_PROPERTY, reinterpret_cast<HANDLE>(dwHwndTabletProperty));
GlobalDeleteAtom(atom);

http://blackstrip.ru/phpBB2/viewtopic.php?t=612


Спасибо БОЛЬШОЕ-ПРИГРОМАДНОЕ!!!
это оно - искомое. Хорошего дня и настроения всем!




Вот, если кому понадобится, то вот так они(Flicks) чудненько - отключаются:
Код: Выделить всё
procedure TFormPainter.DisableFlicks(handa:HWND);
var
  Atom :TAtom;
const
  tabletAtom = 'MicrosoftTabletPenServiceProperty';
  TABLET_DISABLE_PRESSANDHOLD        =$00000001;
  TABLET_DISABLE_PENTAPFEEDBACK      =$00000008;
  TABLET_DISABLE_PENBARRELFEEDBACK   =$00000010;
  TABLET_DISABLE_FLICKS              =$00010000;
  TABLET_DISABLE_TOUCHUIFORCEON      =$00000100;
  TABLET_DISABLE_TOUCHUIFORCEOFF     =$00000200;
  TABLET_DISABLE_TOUCHSWITCH         =$00008000;
  TABLET_ENABLE_FLICKSONCONTEXT      =$00020000;
  TABLET_ENABLE_FLICKLEARNINGMODE    =$00040000;
  TABLET_DISABLE_SMOOTHSCROLLING     =$00080000;
  TABLET_DISABLE_FLICKFALLBACKKEYS   =$00100000;
  TABLET_ENABLE_MULTITOUCHDATA       =$01000000;
  TABLET_ALL = TABLET_DISABLE_PRESSANDHOLD or TABLET_DISABLE_PENTAPFEEDBACK or TABLET_DISABLE_PENBARRELFEEDBACK or TABLET_DISABLE_FLICKS or TABLET_DISABLE_TOUCHSWITCH or TABLET_DISABLE_SMOOTHSCROLLING or TABLET_DISABLE_FLICKFALLBACKKEYS or TABLET_DISABLE_TOUCHUIFORCEON or TABLET_DISABLE_TOUCHUIFORCEOFF;

  dwHwndTabletProperty =
    TABLET_DISABLE_PRESSANDHOLD or // disables press and hold (right-click) gesture
    TABLET_DISABLE_PENTAPFEEDBACK or // disables UI feedback on pen up (waves)
    TABLET_DISABLE_PENBARRELFEEDBACK or // disables UI feedback on pen button down (circle)
    TABLET_DISABLE_FLICKS;

begin
  Atom := GlobalAddAtom(tabletAtom);
  if Atom <> 0 then
  begin
    SetProp(handa, tabletAtom, dwHwndTabletProperty{TABLET_ALL});
  GlobalDeleteAtom(Atom);
  end;
end;

// а эту строчку, нужно вставлять после инициализации планшета
DisableFlicks( SomeForm.Handle ); // это работает и для элементов которые на форме.

Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

Рейтинг@Mail.ru