В моем приложении Windows UWP у меня есть компонент, который реагирует на двойное касание. Я реализовал это, отреагировав на событие PointerPressed
файла CoreIndependentInputSource
. В обработчике событий я получил следующий код:
if((e->CurrentPoint->Timestamp - _lastTimestamp) < _doubleClickDuration)
{
Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([this]()
{
// Do whatever needs to be done on double-taps
}));
}
_lastTimestamp = e->CurrentPoint->Timestamp;
_doubleClickDuration
- это переменная, определяющая продолжительность двойного нажатия.
Код работает, как ожидалось, но проблема в том, что Я столкнулся с тем, что мне нужно установить _doubleClickDuration
на «разумное» значение. То, что разумно для одного человека, может не подходить для другого, поэтому Windows позволяет вам настроить продолжительность двойного касания в Панели управления.
Имеется функция Windows API named GetDoubleClickTime
, который, кажется, возвращает значение, настроенное в Windows. Однако эта функция помечена как «[только настольные приложения]», что означает, что я не могу вызвать эту функцию из приложения Windows UWP.
Что такое Windows UWP, эквивалентное этой функции, или как бы я выяснить, какова настроенная продолжительность двойного нажатия?