如何处理TouchGFX中的一个按钮,该按钮允许我在按下时打开发光二极管,在松开按钮时关闭它?下面的代码可以工作,但它会在你每次触摸/取消触摸屏幕时打开/关闭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等是否被按下,但我无法检测按钮是否被释放……有什么建议吗?
发布于 2021-03-27 08:35:33
TouchGFX中的标准Button类只在clicked上触发。您可以查看AbstractButton::handleClickEvent()的源代码,了解代码是如何工作的。Button继承自这个类,并添加了点击/释放图像等功能。
为了做你想做的事情,你必须创建一个新的类来实现你想要的行为。检查AbstractButton的源代码,这应该是直接为clicked和released事件发出回调。
https://stackoverflow.com/questions/66030856
复制相似问题