Как реализовать mouse_event () для непрерывной работы в MFC?

Я пытаюсь создать программу MFC, используя Myo.

Я сделал несколько элементов управления со списком для каждого жеста.

Это мой план.


Когда я выбираю опцию поля со списком, он должен работать как настоящая мышь.

(например: если я выберу вариант (Левый щелчок),
это должно позволить мне сделать Левый щелчок, когда я принимаю позу «Кулак» && Myo находится в состоянии разблокировки.

void CMyoControllerView::OnCbnSelchangeComboFist() {
int nIndex = m_combo_Fist.GetCurSel();

if(nIndex == 0) {// Left Click
if(collector.isUnlocked == true && collector.currentPose == myo::Pose::fist) {
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, NULL);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, NULL);
}
}
}

Однако этот код влияет только на мышь, только когда я меняю опцию (ТОЛЬКО ОДИН РАЗ!).

Я знаю, что не должен помещать этот код в код управляющего события.
Проблема в том, что я понятия не имею, куда мне его положить.

Я хочу, чтобы эта функция работала непрерывно, пока я не закончу эту программу.

(Как поток. У меня есть пять полей со списком, и у каждого есть различное событие мыши. Все пять функций должны работать вместе.)

Пожалуйста, дайте мне несколько советов.
Спасибо.

-1

Решение

Создайте очередь действий. Пусть обработчик выпадающего списка поместит действие щелчка в очередь. Используйте отдельный таймер или поток для обработки действий, находящихся в очереди. Если необходимо повторить действие, поместите его обратно в очередь после его завершения.

0

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


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