level 4
z东方
楼主
# 例程8:Fine界面函数组应用——text控件应用示例
gui = GUI()
#gui.HideConsoleWindow()
title = "我的数据录入窗口"
winSize = [20,10,60,30]
menu1 = ["文件","menu","新建","打开","保存","退出"] # 参数1是主菜单名,参数2是menu类控件,后面是子菜单功能键
menu2 = ["编辑","menu","撤销","复制","粘贴","删除"] # 参数1是主菜单名,参数2是菜单类控件,后面是子菜单功能键
text1 = ["文件菜单","text",20,3,20,1] # 参数1是text控件标题(可以为空""),参数2是text类控件,后面text控件的位置和大小
text2 = ["编辑菜单","text",20,6,20,1]
list = [title,winSize,menu1,menu2,text1,text2] # 将窗口设计元素打包成列表
num = gui.Fine(list) # 创建Fine窗口,并返回窗口资源ID号num
while gui.FineClosed(num) != -1 # 循环检测窗口关闭消息(返回-1表明窗口已关闭,退出循环)
{
PowerDown(3) # 低功耗设置
if gui.FineReady(num) == -1 {continue} # 检测是否准备好数据(-1表明没有数据输出,0表明有数据输出)
x = gui.FineRead(num) # 读取数据(列表),列表的第一项是指令,后面各项分别对应edit\combobox\editbox控件录入的数据
# 该例程只展示了菜单控件,虽然增加了text控件,但是text控件并不录入数据,因此,输出x列表只有一项,即菜单及编号
str1 = x[0].beforechr("-") # 提取字符串x[0]中第一个“-”之前的部分(menu)
str2 = x[0].afterchr("-") # 提取字符串x[0]中第一个“-”之后的部分(0-n、或1-n,n是子菜单功能件编号)
str3 = str2.beforechr("-") # 提取字符串str2中第一个“-”之前的部分(0或1)
str = str1 + "-" + str3 # str应该是menu-0或menu-1
if str == "menu-0" # 如果点击的是“文件”类菜单
{
str1 = x[0] # 将返回值显示在“文件菜单”控件中
str2 = "" # 清空“编辑菜单”控件
gui.SendText(num,[str1,str2]) # str1,str2的顺序对应text1和text2的顺序
}
elif str == "menu-1" # 如果点击的是“编辑”类菜单
{
str1 = "" # 清空“文件菜单”控件
str2 = x[0] # 将返回值显示在“编辑菜单”控件中
gui.SendText(num,[str1,str2]) # str1,str2的顺序对应text1和text2的顺序
}
}
2025年01月31日 12点01分
1
gui = GUI()
#gui.HideConsoleWindow()
title = "我的数据录入窗口"
winSize = [20,10,60,30]
menu1 = ["文件","menu","新建","打开","保存","退出"] # 参数1是主菜单名,参数2是menu类控件,后面是子菜单功能键
menu2 = ["编辑","menu","撤销","复制","粘贴","删除"] # 参数1是主菜单名,参数2是菜单类控件,后面是子菜单功能键
text1 = ["文件菜单","text",20,3,20,1] # 参数1是text控件标题(可以为空""),参数2是text类控件,后面text控件的位置和大小
text2 = ["编辑菜单","text",20,6,20,1]
list = [title,winSize,menu1,menu2,text1,text2] # 将窗口设计元素打包成列表
num = gui.Fine(list) # 创建Fine窗口,并返回窗口资源ID号num
while gui.FineClosed(num) != -1 # 循环检测窗口关闭消息(返回-1表明窗口已关闭,退出循环)
{
PowerDown(3) # 低功耗设置
if gui.FineReady(num) == -1 {continue} # 检测是否准备好数据(-1表明没有数据输出,0表明有数据输出)
x = gui.FineRead(num) # 读取数据(列表),列表的第一项是指令,后面各项分别对应edit\combobox\editbox控件录入的数据
# 该例程只展示了菜单控件,虽然增加了text控件,但是text控件并不录入数据,因此,输出x列表只有一项,即菜单及编号
str1 = x[0].beforechr("-") # 提取字符串x[0]中第一个“-”之前的部分(menu)
str2 = x[0].afterchr("-") # 提取字符串x[0]中第一个“-”之后的部分(0-n、或1-n,n是子菜单功能件编号)
str3 = str2.beforechr("-") # 提取字符串str2中第一个“-”之前的部分(0或1)
str = str1 + "-" + str3 # str应该是menu-0或menu-1
if str == "menu-0" # 如果点击的是“文件”类菜单
{
str1 = x[0] # 将返回值显示在“文件菜单”控件中
str2 = "" # 清空“编辑菜单”控件
gui.SendText(num,[str1,str2]) # str1,str2的顺序对应text1和text2的顺序
}
elif str == "menu-1" # 如果点击的是“编辑”类菜单
{
str1 = "" # 清空“文件菜单”控件
str2 = x[0] # 将返回值显示在“编辑菜单”控件中
gui.SendText(num,[str1,str2]) # str1,str2的顺序对应text1和text2的顺序
}
}