STM32-V5 开发板 STemWin 教程 第 1 页 共 15 页 第40章 BUTTON-按钮控件 从本期教程开始讲解 STemWin支持的控件。现在 STemWin支持的控件类似已经非常完善了。利用好这些控件,会让设计的人机界面更加人性化。本期教程先从按钮的设计开始跟大家讲解。 40. 1 按钮控件介绍 40. 2 官方 WIDGET_SimpleButton实例 40. 3 官方 WIDGET_PhoneButton实例 40. 4 对话框上使用按钮控件 40. 5 总结 40.1 按钮控件介绍 按钮控件默认的显示效果如下: 开启皮肤后显示效果如下: STM32-V5 开发板 STemWin 教程 第 2 页 共 15 页 40.1.1 按钮支持的通知代码 以下事件是按钮控件作为 WM_NOTIFY_PARENT消息的一部分发送给其父窗口的: 消息 描述 WM_NOTIFICATION_CLICKED 按钮已被点击。 WM_NOTIFICATION_RELEASED 按钮已被释放。 WM_NOTIFICATION_MOVED_OUT 按钮已被点击,且指针已移出按钮并且没有释放。 40.1.2 按钮支持键盘反应 如果控件具有输入焦点,则它将对下列各键做出反应: 按键 反应 GUI_KEY_ENTER 此类键按下后,按钮认为它被按下并立即释放,然后作出相应反应。 GUI_KEY_SPACE 此类键按下后,按钮状态改变为已按下。键释放后,按钮状态改变为未按下。 40.2 官方 WIDGET_SimpleButton 实例 这个例子就是实现一个简单的按键显示功能。这个例子的位置在: STM32-V5 开发板 STemWin 教程 第 3 页 共 15 页 源代码如下: #include "GUI.h" #include "BUTTON.h" /******************************************************************* * * static code * ******************************************************************** */ /******************************************************************* * * _DemoButton */ static void _DemoButton(void) { BUTTON_Handle hButton;( 1) GUI_SetFont(&GUI_Font8x16); GUI_DispStringHCenterAt("Click on button...", 160, 90); // // Create the button and set text // hButton = BUTTON_Create(110, 110, 100, 40, GUI_ID_OK, WM_CF_SHOW);( 2) BUTTON_SetText(hButton, "Click me...");( 3) // // Let window manager handle the button // while (GUI_WaitKey() != GUI_ID_OK); ( 4) // // Delete the button // STM32-V5...