Вызов OnDeltapos () из OnPointerdown () в MFC

у меня есть CSpinButtonCtrl Класс подкласс называется MySpinButtonCtrl, В этом классе у меня есть OnDeltapos объявлено событие, которое отвечает за увеличение и уменьшение числовых значений на моем счетчике:

 void CMySpinButtonCtrl::OnDeltapos(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;

if (GetKeyState(VK_CONTROL) < 0)    // ctrl key pressed ==> limit value
{
int lower, upper;
GetRange(lower, upper);

if (pNMUpDown->iDelta < 0)
*pResult = MySetSpinPos(lower);     // lower limit
else
*pResult = MySetSpinPos(upper);     // upper limit
}
else
{
int nDelta;
if (GetKeyState(VK_SHIFT) < 0)  // shift key pressed==> speed x 10
nDelta = 10 * pNMUpDown->iDelta;
else
nDelta = pNMUpDown->iDelta;

*pResult = MySetSpinPos(pNMUpDown->iPos + nDelta);
}
}

Когда я продолжаю нажимать мой счетчик с левую кнопку мыши он работает совершенно нормально, однако, когда я пытаюсь нажать мой счетчик с сенсорный экран, это нужно два жёсткие жесты.

Я пытался поймать событие касания прессы с OnPointerDown, но я понятия не имею, как это реализовать:

afx_msg LRESULT CMySpinButtonCtrl::OnPointerdown(WPARAM wParam, LPARAM lParam)
{
if (IS_POINTER_PRIMARY_WPARAM(wParam))
{
//TODO
}
return 0;
}

Есть ли способ позвонить OndeltaPos от OnPointerDown?

Я буду признателен за любую помощь.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]