如何实现mouse_event()在MFC中连续工作

How to implement mouse_event() to work continuously in MFC?

本文关键字:MFC 连续 工作 event mouse 何实现 实现      更新时间:2023-10-16

我正在尝试使用Myo制作一个MFC程序。

我为每个手势做了几个组合框控件。

这是我的计划。


当我选择组合框的一个选项时,它应该像一个真正的鼠标一样工作。

(如。:如果我选择选项(左键),它应该允许我在摆姿势的时候左键点击"拳头"&&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);
      }
   }
}

但是,这段代码只在我更改选项时影响鼠标(只有一次!)。

我知道我不应该把这个代码放在控制事件代码中。问题是我不知道该把它放在哪里。

我想让这个函数连续工作,直到我完成这个程序。

(像一个线程…我有五个组合框,每个组合框都有不同的鼠标事件。这五个功能应该一起工作

请给我一些建议。谢谢你。

创建一个操作队列。让组合框处理程序将单击操作放入队列。使用单独的计时器或线程来处理队列中的操作。如果某个操作需要重复,则在完成后将其放回队列中。