2013-08-31 3 views
0

Я работаю над настольным проектом с использованием визуального C++/MFC. Есть много кнопок. Но проблема в том, что он должен работать на сенсорном мониторе, где нет мыши/клавиатуры.Событие Touch и событие click совпадают?

Итак, будет ли ON_BN_CLICKED работать как сенсорное событие в сенсорном экране? Или я должен справиться с этим по-другому?

+2

Событие Touch в настольных ОС, таких как Windows, преобразуется в события мыши. Таким образом, в MFC вы можете обрабатывать как обработчик ON_BN_CLICKED. –

ответ

0

Событием «Touch», если вы имеете в виду коснитесь экрана, тогда да, они МОГУТ рассматриваться как одно и то же.

Windows 7 обеспечивает встроенную поддержку приложений, которые не обеспечивают явной поддержки поддержки сенсорных и чернил для приема ввода через экранную клавиатуру и пусковую площадку.

Windows будет в основном использовать прикосновение в том же режиме, что и мышь, с кранами экрана, равными щелчкам мыши. Итак, «ON_BN_CLICKED» будет работать для разметки экрана.

Это, как говорится, вы можете обеспечить четкую поддержку для поддержки сенсорных одним из двух способов:

Жестов: Windows предоставляемого отображение отличительных сенсорных последовательностей на жесты как масштабирование и панорамирование. MFC также переводит эти жесты в упрощенный набор виртуальных методов CWnd, которые могут быть переопределены по мере необходимости.

OnGestureZoom(CPoint ptCenter, long lDelta) 
OnGesturePan(CPoint ptFrom, CPoint ptTo) 
OnGestureRotate(CPoint ptCenter, double dblAngle) 
OnGestureTwoFingerTap(CPoint ptCenter) 
OnGesturePressAndTap(CPoint ptPress, long lDelta) 

сенсорных сообщения: регистрация для получения сенсорных сообщений низкого уровня, который может исходить из нескольких точек касания одновременно, и реагирует на эти события касания в обработчике сообщений.

virtual BOOL OnTouchInput(CPoint pt, int nInputNumber, int nInputsCount, PTOUCHINPUT pInput); 

Источник: Отметьте this артикул для деталей.

Смежные вопросы