Space C 控件发布 - 菜单控件 SPMENU.pxe
菜单控件 事件方式:函数指针
注意调整属性:
Color1, Color2, Color3 以实现更改菜单的外观效果
相关函数:
void SP_ScareteMenu(SPMENU *Menu); /* 隐藏菜单 */
void SP_RevealMenu(SPMENU *Menu); /* 重显菜单 */
数据结构如下:
typedef void (*SPBUTTON_ClickAndMove)(UINT16, UINT16);
typedef (*SPMENU_Click)(UINT16, UINT16, UINT16);
typedef struct
{
UINT8 *Name; /* 菜单名称 */
UINT8 Enable; /* 菜单是否可操作 */
UINT8 Visible; /* 菜单是否可见 */
INT16 Left; /* 菜单在屏幕的坐标 */
INT16 Top;
UINT16 Width; /* 菜单的宽高 */
UINT16 Height;
INT16 Index; /* 标记当前选中条目 */
SPCOLOR Color1; /* 菜单边框和中间的颜色 */
SPCOLOR Color2;
SPCOLOR Color3;
UINT8 *Caption; /* 菜单名称以'&'符来划分项 如: 1234&456& */
SPMENU_Click Click; /* 点击事件函数指针 */
} SPMENU;
在Space C中,选中加控件,并 Ctrl+H 将给出控件帮助信息。
演示实例代码:
#include "Hello.h"
/*----------------------------------------------------------------------------*/
void MainBack_Click(UINT8 Button, INT16 X, INT16 Y)
{
/* 右键鼠标,弹出菜单 */
if (Button == 2 && !SP_Menu1.Visible)
{
SP_Menu1.Left = X;
SP_Menu1.Top = Y;
SP_RevealMenu(&SP_Menu1);
}
}
/*----------------------------------------------------------------------------*/
void SP_Menu1_Click(UINT16 Index, UINT16 X, UINT16 Y)
{
/* 退出演示程序 */
if (Index == 4)
{
SP_GraClose();
exit(0);
}
}
/*----------------------------------------------------------------------------*/
效果图:
控件下载:
SPMENU.rar
(3.46 KB)
实例工程下载(SpaceC工程):
NewProject.rar
(130.15 KB)