0

如何处理 TouchGFX 中的一个按钮,该按钮允许我在按下 LED 时打开它,并在我释放按钮时将其关闭?以下代码有效,但每次触摸/取消触摸屏幕时都会打开/关闭 LED...

void Screen1View::handleClickEvent(const ClickEvent& event)
{
  if((event.getType() == ClickEvent::PRESSED))
  {

    HAL_GPIO_WritePin(LD1_GPIO_Port, LD1_Pin, GPIO_PIN_SET);
    HAL_Delay(50);
  }
 if((event.getType() == ClickEvent::RELEASED))
  {
     HAL_GPIO_WritePin(LD1_GPIO_Port, LD1_Pin, GPIO_PIN_RESET);
  }
}

如果我使用“flexButtonCallbackHandler(const touchgfx::AbstractButtonContainer& event)”函数,我可以检测到 button1、button2 等是否被按下,但我无法检测到按钮是否被释放......有什么建议吗?

4

1 回答 1

0

ButtonTouchGFX 中的标准类仅在clicked. 您可以查看源代码AbstractButton::handleClickEvent()以了解代码是如何工作的。Button从此类继承并添加诸如单击/释放图像之类的功能。

为了做你想做的事,你必须创建一个实现你想要的行为的新类。检查源代码AbstractButton应该直接为单击和释放事件发出回调。

于 2021-03-27T00:35:32.913 回答