窗體相互傳值
# Smart之窗體相互傳值
# 1. 說明
範例通過Smart智慧控制平臺,構建窗體之間可相互進行值互傳以及控制元件控制的功能。點選窗體中的按鈕,打開另外一個窗體並將源窗體中的數據傳遞給另外一個窗體。
通過實體的製作和學習,您可以掌握Smart智慧控制平臺構建多窗體實體時,窗體之間進行值互傳,控制元件相互控制的實現方式。
# 2. 設計明細
開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]
-[打開專案]
選擇範例專案檔案來打開該範例。該範例中包含兩個窗體,下面會分別介紹。
①:TImage元件,控制元件名稱為Image1
。
②:TLabel元件,控制元件名稱為Label1
。
③:TMemo元件,控制元件名稱為Memo1
。
④:TBitBtn元件,控制元件名稱為BitBtn1
。
Main窗體屬性設定
BorderStyle
:設定邊界樣式=bsDialog
。Caption
:設定窗體顯示的標題=窗體相互傳值 主界面
。ClientHeight
:設定客戶區窗體的高度=438
。ClientWidth
:設定窗體客戶區的寬度=465
。
①Image1屬性設定
Align
:設定控制元件對齊方式=alClient
。Stretch
:設定圖片拉伸適應于控制元件。Picture
:設定圖片。點選Picture
屬性右側的[...]
按鈕,打開檔案上傳界面,點選[Load...]
從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]
載入圖片。
②Label1屬性設定
Caption
:設定標籤內容=窗體相互傳值 主界面
。Font
:設定字型,雙擊該屬性或者點選屬性右側的[...]
以打開字型設定界面。
③Memo1屬性設定
Height
:設定控制元件高度=189
。Width
:設定控制元件寬度=424
。Lines
:設定文字框中顯示的內容。雙擊該屬性或者點選屬性右側的[...]
打開文字編輯界面。
④BitBtn1屬性設定
Height
:設定控制元件高度=61
。Width
:設定控制元件寬度=75
。Layout
:設定佈局=blGlyphTop
。Caption
:設定顯示的文字=傳送
。Glyph
:設定圖片,雙擊該屬性或者點選屬性右側的[...]
打開檔案上傳界面,點選[Load...]
從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]
載入圖片。
⑤:TImage元件,控制元件名稱為Image1
。
⑥:TLabel元件,控制元件名稱為Label1
。
⑦:TMemo元件,控制元件名稱為Memo1
。
⑧:TBitBtn元件,控制元件名稱為BitBtn1
。
SecondPage窗體屬性設定
BorderStyle
:設定邊界樣式=bsDialog
。Caption
:設定窗體顯示的標題=窗體相互傳值 副頁面
。ClientHeight
:設定客戶區窗體的高度=438
。ClientWidth
:設定窗體客戶區的寬度=465
。
⑤Image1屬性設定
Align
:設定控制元件對齊方式=alClient
。Stretch
:設定圖片拉伸適應于控制元件。Picture
:設定圖片。點選Picture
屬性右側的[...]
按鈕,打開檔案上傳界面,點選[Load...]
從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]
載入圖片。
⑥Label1屬性設定
Caption
:設定標籤內容=窗體相互傳值 副頁面
。Font
:設定字型,雙擊該屬性或者點選屬性右側的[...]
以打開字型設定界面。
⑦Memo1屬性設定
Height
:設定控制元件高度=189
。Width
:設定控制元件寬度=424
。Lines
:設定文字框中顯示的內容。雙擊該屬性或者點選屬性右側的[...]
打開文字編輯界面。
⑧BitBtn1屬性設定
Height
:設定控制元件高度=61
。Width
:設定控制元件寬度=75
。Layout
:設定佈局=blGlyphTop
。Caption
:設定顯示的文字=傳送
。Glyph
:設定圖片,雙擊該屬性或者點選屬性右側的[...]
打開檔案上傳界面,點選[Load...]
從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]
載入圖片。
# 3. 程式設計
# 3.1. 程式初始化設定
該程式無初始化設定。
# 3.2. 事件設定
- ④BitBtn1-OnClick事件
點選按鈕,將值傳遞給副頁面窗體並打開該窗體。
procedure TMyHandler.BitBtn1Click;
//點選以傳送主頁面資訊至副頁面
var
Form: TBaseForm;
begin
Form := paxfunc.OpenForm('SecondPage');
Form.TagString := FThis.Memo1.Lines.Text;
Form.TagObject := FThis;
TMemo(Form.FindComponent('Memo1')).Lines.Add(TBaseForm(Form).TagString);
end;
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- ⑧BitBtn1-OnClick事件
點選該按鈕,將值傳遞給主頁面窗體並關閉該窗體。
procedure TMyHandler.BitBtn1Click;
//點選以傳送副頁面資訊至主頁面
begin
TMemo(TBaseForm(FThis.TagObject).FindComponent('Memo1')).Lines.Add(FThis.Memo1.Lines.Text);
FThis.Close;
end;
1
2
3
4
5
6
2
3
4
5
6
# 4. 運行模板
使用滑鼠點選工具欄運行(Run),測試運行結果。點選主頁面的[傳送]
按鈕,頁面文字框中的內容會被傳遞至新打開的頁面(副頁面)的文字框中,在副頁面中點選[傳送]
按鈕,副頁面中的內容會被傳遞給主頁面,同時副頁面會關閉。