窗体相互传值
# 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),测试运行结果。点击主页面的[传送]
按钮,页面文本框中的内容会被传递至新打开的页面(副页面)的文本框中,在副页面中点击[传送]
按钮,副页面中的内容会被传递给主页面,同时副页面会关闭。
