void CDxMonthPicker::OnLButtonDown(UINT nFlags, CPoint point) { SetDxCapture(); SetDxFocus(); if (m_monthPicker != NULL) { m_monthPicker->OnLButtonDown(nFlags, point); } if (m_btnToday->m_rcButton.PtInRect(point)) m_btnCaptured = m_btnToday; ProcessButtons(point); }
void CDxMonthPicker::OnLButtonUp(UINT nFlags, CPoint point) { // kill timer if (m_nTimerID != 0) { KillDxTimer(m_nTimerID); m_nTimerID = 0; } // logic message processing if (m_mouseMode == mouseTrackingHeaderList) { // reset mouse mode m_mouseMode = mouseNothing; //if (m_pListControl) //{ // int nDelta = m_pListControl->GetMonthInterval(); // // destroy list control // m_pListControl->DestroyWindow(); // delete m_pListControl; // m_pListControl = NULL; // // scroll on selected months count // if (nDelta < 0) // ScrollLeft(-nDelta); // else if (nDelta > 0) // ScrollRight(nDelta); //} } else { // forward message to appropriate month if (m_monthPicker != NULL) { m_monthPicker->OnLButtonUp(nFlags, point); } // Update selection BOOL bSelecting = m_mouseMode == mouseSelecting; BOOL bDeselecting = m_mouseMode == mouseDeselecting; if (bSelecting || bDeselecting) { //int nDay = (m_dtLastClicked - m_dtFirstClicked).GetDays(); //for (; abs(nDay) >= 0; nDay += nDay > 0 ? -1 : 1) //{ // COleDateTime dtSelect(m_dtFirstClicked); // dtSelect += nDay; // //if (bDeselecting) // //{ // // m_pSelectedDays->Remove(dtSelect); // //} // //else if (bSelecting && IsSelected(dtSelect)) // //{ // // m_pSelectedDays->Add(dtSelect); // //} // if (nDay == 0) // break; //} // reset mouse mode m_mouseMode = mouseNothing; } } //release resources ReleaseDxCapture(); // process buttons m_btnCaptured = NULL; ProcessButtons(point); // reset mouse mode m_mouseMode = mouseNothing; }
void PE1MEW_RotorSteering::buttonTest(void) { // read button status uint8_t inputVariable = getButtons(); if (inputVariable != 0x00) { _PressMemory = true; } else { _PressMemory = false; } if (_PressMemory) { if (_ButtonSpeedHoldCounter < PRESS_COUNTER_MAX) { _ButtonSpeedHoldCounter++; } switch (_CurrentButtonSpeedState) { case STEP1: if (PRESS_COUNTER_TRESHOLD1 < _ButtonSpeedHoldCounter) { if (_SpeedStateCounter < PRESS_COUNTER_STEP1_TRESHOLD) { _SpeedStateCounter++; } else { _SpeedStateCounter = 0; _NextButtonSpeedState = STEP2; //_ProcessVariableIncrement = 1; } ProcessButtons(inputVariable); _ButtonSpeedHoldCounter = 0; } break; case STEP2: if (PRESS_COUNTER_TRESHOLD2 < _ButtonSpeedHoldCounter) { if (_SpeedStateCounter < PRESS_COUNTER_STEP2_TRESHOLD) { _SpeedStateCounter++; } else { _SpeedStateCounter = 0; _NextButtonSpeedState = STEP3; //_ProcessVariableIncrement = 1; } ProcessButtons(inputVariable); _ButtonSpeedHoldCounter = 0; } break; case STEP3: if (PRESS_COUNTER_TRESHOLD3 < _ButtonSpeedHoldCounter) { if (_SpeedStateCounter < PRESS_COUNTER_STEP3_TRESHOLD) { _SpeedStateCounter++; } else { _SpeedStateCounter = 0; _NextButtonSpeedState = STEP4; //_ProcessVariableIncrement = 1; } ProcessButtons(inputVariable); _ButtonSpeedHoldCounter = 0; } break; case STEP4: if (PRESS_COUNTER_TRESHOLD4 < _ButtonSpeedHoldCounter) { if (_SpeedStateCounter < PRESS_COUNTER_STEP4_TRESHOLD) { _SpeedStateCounter++; } else { _SpeedStateCounter = 0; } ProcessButtons(inputVariable); _ButtonSpeedHoldCounter = 0; } break; } } else { _ButtonSpeedHoldCounter = 0; _NextButtonSpeedState = STEP1; _ProcessVariableIncrement = INCREMENT_DEFAULT; } _CurrentButtonSpeedState = _NextButtonSpeedState; }