我們先來了解一下什么是界面內容修改,看下圖:
可以看到當點擊按鈕之后,下拉框的選項會有變化,按鈕本身的文字也會變化,這些變化都屬于界面的修改。
關于修改界面用到了UIP.SetAttribute命令,它也是我們這篇文章的重點。
在說這個命令之前說一下啟動這個命令的方法,響應事件的控制方法:
以按鈕為例,點擊響應這個屬性的值和右側代碼區的函數名寫成一樣,當點擊按鈕的時候,就會執行函數里面的代碼。
下拉框:需要注意是“選擇響應”,不是點擊響應,并且可以自啟動。
下面我們以下拉框為例,拆解一下uip.SetAttribute命令的參數填寫方法:
通過線條的連接,我把命令參數和界面元素(控件)對應關系標注上。
UIP.SetAttribute 這個命令有2個參數:
控件名:字符串型,欲設值其屬性的靜態控件名稱
屬性列表:table類型,控件的各屬性及其值以key-value的形式表示
控件名很好填寫,就是“名稱:”這個屬性后面的值
屬性列表對于新手來說就有些難度了。
優先要明確一點,這個參數是“表”的形式。
所謂表的形式就是:
{"屬性名1":"屬性值1","屬性名2":"屬性值2"}
多個屬性寫法:
{"屬性名1":"屬性值1","屬性名2":"屬性值2"}
屬性值是也是表的寫法:
{"屬性名":{"屬性值1","屬性值2","屬性值3"}}
寫的時候有幾點注意的:
①所有符號都是英文狀態的(這一點非常重要)
②屬性名和屬性值之間是冒號
③同一級別的內容用逗號分隔,比如兩個鍵值對(屬性名和屬性值)之間,同一屬性名的兩個屬性值之間
④每一個參數的具體值如果不是變量就要加上引號
接下來說一下每個元素都有哪些屬性可以修改:
這5個界面元素我們逐一來說:
文字框: 顯示內容
輸入框:初始文本
按鈕:顯示內容
多選框:選中,提示內容
下拉框:選項,初始選項
以上這些元素的屬性值是修改的,大家可以記一下。
把上面這些內容看懂以后,就可以隨意修改界面元素了,但是如果想要界面元素之間有一些關聯性,就還要學習另外一個命令uip.GetAttribute
GetAttribute命令是獲取界面元素的屬性列表。
能獲取的列表和能修改的元素屬性是一樣
文字框: 顯示內容
輸入框:初始文本
按鈕:顯示內容
多選框:選中,提示內容
下拉框:選項,初始選項
比如想要獲取輸入框的初始文本。
dimm=uip.GetAttribute("輸入框1")
ShowMessage m["初始文本"]
這段代碼中變量m是用來存儲讀取內容的表。當想要讀取具體的屬性值,加上["屬性名"]就可以了。
知道了修改和讀取界面元素兩個命令以后,就可以寫復雜的操作了。
比如:按下按鈕,當界面上輸入框里面的內容是1的時候,文字框顯示“xxx內容”
Function函數名1()
dim m=uip.GetAttribute("輸入框1")
If m["初始文本"] ="1"Then
uip.SetAttribute("文字框1",{"顯示內容":"xxx內容"})
End If
EndFunction
通過判斷將輸入框和文字框關聯起來。
關于界面代碼中函數命令
右側這個代碼區,函數能用的命令要腳本命令少很多,也不支持插件。你想要用什么命令可以自己去嘗試。
當你想確定某個命令是否有返回值,可以用showmessage命令,在手機或者模擬器就可以看到輸出內容了。
最后說一下,界面代碼中由于部分命令不可用,導致功能有限,但是我們仍然可以不斷的去嘗試各種界面設計思路。