This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129XNCZAD:触摸屏事件

Guru**** 2390995 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1018057/tm4c129xnczad-touch-screen-event

器件型号:TM4C129XNCZAD

尊敬的先生:  

我使用的是 TM4C129X 开发板。

我参考了 TI 库并使用触摸设计了4-5个画布屏幕。

每个画布都有"下一页"和"上一页"按钮、如 grlib 演示代码。

单击"下一步"、我将向下一个画布移动、然后单击"上一个移回"、

现在问题是我启用用户输入字段的屏幕之一,因此单击键盘显示的用户输入字段。

用于输入数据、但当 我单击 ENT 按钮背景时、会触发下一个按钮事件。

如何禁用该事件。

如果下一个按钮与键盘的 ENT 不重叠、则工作正常。 如何禁用后台事件。

RectangularButton (g_sNext、0、0、0、&g_sKentec320x240x16_SSD2119、
(320-50-X_OFFSET)、205、50、35、
PB_Style_IMG | PB_Style_Text、ClrBlack、ClrBlack、0、
ClrYellow、g_psFontCm20、"+"、g_pui8Blue50x50、
G_pui8Blue50x50Press、0、0、OnNext);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 userid="477645" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1018057/tm4c129xnczad-touch-screen-event "]

    用于输入数据、但当 我单击 ENT 按钮背景时、会触发下一个按钮事件。

    如何禁用该事件。

    如果下一个按钮与键盘的 ENT 不重叠、则工作正常。 如何禁用后台事件。

    [/报价]

    抱歉、虽然我对 LCD 控制器有点了解、但实际上不是一个专业人士来回答问题。 什么是 ENT?  我无法将显示屏上的内容可视化、因为我不知道您是如何组织 ENT 和 NEXT 按钮的。 您能拍摄显示屏幕上的内容的图片。 在任何情况下、正如您所说的、您似乎将 ENT 和 NEXT 按钮重叠。 如果它们没有重叠、则工作正常。 为什么要将 ENT 和 NEXT 按钮重叠? 如果将它们设置为非重叠将解决问题、您为什么不这样做?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的先生:

    使用+和-按钮测量我的 LCD 屏幕错误。(已附加以供参考)

    单击白色字段打开键盘(已连接)

    按下键盘上的键并按下 ENT 键后、背景+误差测量键触发、 并显示在另一个屏幕而非相同的误差测量原始屏幕旁边。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我不是 grlib 专家。  也许您可以引用 与 grlib_demo.c 示例中提供的代码相同的代码。 在此代码中、当按下"+"按钮时、它将执行三项操作:

     1.卸下当前面板

     2.将新面板添加到"控件"树中

     3.如果这是最后一个面板,请卸下"+"按钮

     我认为您可以为下拉按钮模仿此代码来打开键盘。 我想您可以执行如下操作。 我不确定这是否会起作用。 如果您找到解决问题的方法、请与社区分享您的想法。  

     1.卸下当前面板

     2.删除"+"按钮

     3.将新面板(软键盘)添加到 Widget 树中

    void
    OnNext(tWidget *psWidget)
    {
        //
        // There is nothing to be done if the last panel is already being
        // displayed.
        //
        if(g_ui32Panel == (NUM_PANELS - 1))
        {
            return;
        }
    
        //
        // Remove the current panel.
        //
        WidgetRemove((tWidget *)(g_psPanels + g_ui32Panel));
    
        //
        // Increment the panel index.
        //
        g_ui32Panel++;
    
        //
        // Add and draw the new panel.
        //
        WidgetAdd(WIDGET_ROOT, (tWidget *)(g_psPanels + g_ui32Panel));
        WidgetPaint((tWidget *)(g_psPanels + g_ui32Panel));
    
        //
        // Set the title of this panel.
        //
        CanvasTextSet(&g_sTitle, g_pcPanelNames[g_ui32Panel]);
        WidgetPaint((tWidget *)&g_sTitle);
    
        //
        // See if the previous panel was the first panel.
        //
        if(g_ui32Panel == 1)
        {
            //
            // Display the previous button.
            //
            PushButtonImageOn(&g_sPrevious);
            PushButtonTextOn(&g_sPrevious);
            PushButtonFillOff(&g_sPrevious);
            WidgetPaint((tWidget *)&g_sPrevious);
        }
    
        //
        // See if this is the last panel.
        //
        if(g_ui32Panel == (NUM_PANELS - 1))
        {
            //
            // Clear the next button from the display since the last panel is being
            // displayed.
            //
            PushButtonImageOff(&g_sNext);
            PushButtonTextOff(&g_sNext);
            PushButtonFillOn(&g_sNext);
            WidgetPaint((tWidget *)&g_sNext);
        }
    
        //
        // Play the key click sound.
        //
        PlayClick();
    }