【问题标题】:TouchGFX: How handle instructions on pressed/unpressed buttonTouchGFX:如何处理按下/未按下按钮的指令
【发布时间】:2021-05-07 21:09:33
【问题描述】:

如何处理 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 等是否被按下,但我无法检测到按钮是否被释放...... 有什么建议吗?

【问题讨论】:

    标签: stm32cubeide touchgfx


    【解决方案1】:

    TouchGFX 中的标准Button 类仅在clicked 上触发。您可以查看AbstractButton::handleClickEvent() 的源代码以了解代码是如何工作的。 Button 继承自该类并添加了点击/释放图像等功能。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多