4.50 FAQ-689 什么是用户界面模块(UIM)以及如何编辑 UIM 对象和为其编写程序?

Last Update: 11/27/2024

重要提示!!!

UIM 是一个非常古老的工具。现在,Origin 已经有了更好用更强大的工具可以用来创建用户自定义界面,运行脚本完成某项操作。因此,UIM 已经不再推荐使用。从 Origin2018b 开始,UIM 工具栏在 Edit Mode 的状态下默认也是不显示出来的。在新版本的 Origin 中,

  • 你可以创建自定义按钮和工具栏来运行 LabTalk 脚本。要了解更多信息,请参阅 User-Defined and Custom Toolbars and Toolbar Buttons 这个文档。
  • 要创建自定义用户界面,使用 X-Function Builder 是一个简便有效的方法。要了解更多信息,请参阅 X-Function Builder document 这个文档。
  • 如果您还想要做更复杂的编程来完成更复杂的任务,运用 OriginC 使之成为可能。OriginC 中的多种工具,诸如 GetN 宏命令, GetNBox 对话框等都可以使用,甚至连外部 DLL 和 Python 都可以被调用。要了解更多信息,请参阅 OriginC document 这个文档。
  • 最后,从 Origin2017 开始,我们支持了 HTML 和 JavaScript,使得用户自定义界面的交互性大大增加。要了解更多信息,请参阅 Origin C HTML Dialog with JavaScript Support 这个文档。



如果您还是想使用 UIM,您可以将系统变量 @UIM 设为1,这可以在 Edit Mode 模式下打开 UIM 工具栏。然后请继续阅读以下文档来学习如何使用 UIM。

要设置 @UIM = 1:

  1. 选择菜单 Tools: System Variables
  2. 在打开的 Set System Variables 对话框中,在 Variable 列输入 @UIM 然后在 Value 列输入 1

概况

User Interface Module(UIM)由一组可用于开发自定义工具的对象组成。这14个对象通常被添加到模板中,并且可以为其编写程序使其能运行 LabTalk 脚本。UIM 对象有各种类型,其中包括位图按钮,复选框控件,单选按钮等。您可以编辑这些控件甚至为其编写程序,并通过它们来组建您的自定义界面。

UIM 在过去很长一段时间内都是 OriginPro 的功能。直到 Origin 2015 SR1 开始才被纳入到 Origin 中。如有兴趣,您可以到 Origin 官网(www.originlab.com) 下载 UIM 文档的 PDF 文件

UIM toolbar.png
  1. 打开一个您将用于作为分析模板的 Origin 子窗口(如工作簿,矩阵簿,图形和布局等)。
  2. 在菜单中打开 Edit: Button Edit Mode 并点击 Button Edit Mode (此时在 Button Edit Mode 的旁边将出现一个勾,表示您已进入 Button Edit Mode)。
  3. UIM 工具栏上点击您想添加的控件。
  4. 在要添加对象的位置,使用鼠标拖出一个矩形。那么即可成功地添加一个 UIM 对象。
  5. Button Edit Mode 下,您可以选择对象并根据需求移动或者为其重新设置大小。
  1. Button Edit Mode, 右键点击 UIM 对象并选择 Programming Control
  2. 编辑 Object Name 并点击 OK 按钮关闭对话框。
  1. 可利用 UIM Object 对话框自定义控件, 布局和背景。您可点击 Titles..., Values...Special... 按钮获取更多的选项。 这些按钮将会为不同类型的 UIM 对象打开不同的对话框。
  2. 如果需要打开 UIM Object 对话框, 可在 Button Edit Mode 下双击 UIM 对象. 如果不在 Button Edit Mode 下,则需要按住 Ctrl 键并双击该对象.
  1. 利用 Programming Control 对话框可为 UIM 对象添加可执行的 LabTalk 脚本。
  2. 若要打开 Programming Control 对话框:在 Button Edit Mode,右键点击并选择 Programming Control。若不在 Button Edit Mode, 按住 Alt 键并双击该对象。
  3. 若需要利用脚本访问该 UIM 对象,使用 ObjectName.ControlName 表示符。如果控件的名称具有空格符,那么在利用代码调用这些控件时,您需要删减名称中的空格符。


注: 当访问当前 UIM 对象中的控件时,您可以使用 this.ControlName

示例

在这个例子中,我们将创建一个简单的 UIM 对象,并且该对象可获取用户输入的 From, ToStep Length 的值,当用户点击 Generate Col(A) 按钮时将会利用 LabTalk 脚本在 A 列填充数据。

UIM sample preview.png
  1. 选择 Edit: Button Edit Mode,即可看见 UIM 工具栏。
  2. 点击 Status 按钮 UIM STATUS.png
  3. 在工作簿空白区域利用鼠标拖动出一个矩形框,那么一个标注为 STATUS 的对象即会被添加到工作簿中。
  4. 双击该对象打开 UIM Object 对话框。
  5. 如下图所示编辑该对象:
    UIM OBJECT STATUS CONTROLS1.png
  6. 点击 Special 按钮打开 Status Object 对话框。
  7. 按照下图编辑设置。为 From 输入 0.00;为 To 输入 100.00;为 Step Length 输入 5.00
    UIM Status Object.png
  8. 点击 OK 按钮两次关闭 Status Object 对话框和 UIM Object 对话框。
  9. 右键点击 STATUS 对象并选择 Programming Control
  10. Script Box 内, 输入以下脚本:
    col(A) = data(this.From, this.To, this.StepLength);
  11. Script, Run After 下拉列表选择 Button Up
  12. 点击 OK 按钮关闭对话框。
  13. 从菜单中点击 Edit: Button Edit Mode 退出 Button Edit Mode.
  14. 点击 Generate Col(A) 按钮在 A 列填充数据。

Keywords:UIM, User Interface Module, custom routine, custom tool, custom application, GUI, LabTalk, 用户界面模块,自定义操作,自定义工具,自定义应用