XScript 手册 · Chapter 32

中文翻译准备中,请参阅英文版。

GUI.SetControlBoolProperty("ViewRun", "btnStart", "IsDown", ON);
GUI.SetControlVisible("ViewSetup", "tbTimeout", true);
GUI.SetControlStringProperty("ViewManual", "imgHeater", "NormalImage", "Heater.png");
GUI.ShowPage("BasePanel", "ViewOrder");
 
if (ShowMessage(EB_YesNo, 210) == ER_No)
{
    return false;
}

GUI 全函数一览(XUtilGui)

依据 C# 源码 — 脚本可直接调用的所有函数。

消息框

函数含义
GUI.ShowMessage(buttonType, code, args...)基于代码的消息框,返回 XEventResult
GUI.ShowMessage(code, args...) / (format, args...) / (buttonType, format, args...)代码或格式字符串
GUI.ShowTimerMessage(buttonType, code, args...) / (buttonType, msg) / (buttonType, format, args)自动关闭计时
GUI.ShowMessageStudio(...) / GUI.ShowTimerMessageStudio(...)Studio 上的变体
GUI.IsShowMessage() / GUI.HideMessage()当前是否显示 / 强制关闭
GUI.SetMessageBoxLayout(width, height, msgFontSize, titleFontSize=0)框尺寸 / 字体
GUI.SetErrorDlgLayout(width, height, msgFontSize, titleFontSize=0)错误对话框变体
GUI.GetMsg(code) / GUI.GetMsgStudio(code)消息代码 → 文本
GUI.GetErrorMessage(code)错误代码 → 文本

对话框 / 窗口

函数含义
GUI.ShowDialog(viewModuleName)模态对话框,OK = true / Cancel = false
GUI.CloseDialog(viewModuleName, dlgResult)强制关闭 + 设置结果
GUI.ShowWindow(viewModuleName)非模态窗口
GUI.SetWindowPos(viewModuleName, left, top, cx, cy)窗口位置 / 大小
GUI.CloseWindow(viewModule) / (childControl)关闭窗口
GUI.AdjustWindowVisibleOnScreen(window)多显示器内自适应
GUI.GetTopWindow(childControl)子控件所属顶层窗口
GUI.ShowInitDialog()初始化对话框
GUI.ShowManualDialog(messageCode)手动动作对话框

JobFile · 监控页

函数含义
GUI.ShowJobFileNewDialog() / ShowJobFileOpenDialog() / ShowJobFileSaveAsDialog()JobFile 标准对话框
GUI.ShowMotorMonitor() / GUI.ShowIoMonitor()电机 / IO 监控显示
GUI.ShowPage(viewBaseName, pageName, hideConfirm=true)切换页面
GUI.ShowRunPage()切到主 Run 页

用户 / 权限

函数含义
GUI.Login(userLevel) / (id, pw) / (id, pw, requiredLevel)登录(3 种)
GUI.Logout()登出
GUI.ShowUserModify(userLevel)用户编辑对话框
GUI.SetPageLevel(viewName, userLevelInt) / (viewName, userLevelStr)页面访问权限

控件属性 — 脚本修改 GUI

函数含义
GUI.SetControlVisible(module, control, visibleMode)Visible 切换
GUI.SetControlVisiblity(module, control, visibility)0 ~ 2(Visible / Hidden / Collapsed)
GUI.SetControlBoolProperty(module, control, property, onoff) / GetControlBoolProperty(...)bool 属性
GUI.SetControlIntProperty(...) / GetControlIntProperty(...)int 属性
GUI.SetControlStringProperty(...)string
GUI.SetControlDoubleProperty(...)double
GUI.SetControlBrushProperty(module, control, property, color)颜色(#RRGGBB / 资源键)
GUI.SetControlDateTimeProperty(...)long Ticks
GUI.InvokeControlMethod(module, control, methodName)调用控件方法

显示器 / 屏幕

函数含义
GUI.GetScreenCount()显示器数
GUI.GetMainScreenIndex()主显示器索引
GUI.GetScreenWorkArea(idx, ref left, ref top, ref width, ref height)工作区

虚拟键盘

函数含义
GUI.ShowVirtualKeyboard(control)显示
GUI.InvokeVirtualKeyboard(control)强制调用

文件对话框

函数含义
GUI.ShowOpenFileDialog(initDir, ref defaultFile, fileFilter)打开文件
GUI.ShowSaveFileDialog(initDir, ref defaultFile, fileFilter)保存文件
GUI.ShowFolderSelectDialog(initPath)选择文件夹

多语言 / Excel 导入导出

函数含义
GUI.ChangeProjectLanguage(lang) / GUI.ChangeProjectLanguageByIndex(idx)切换语言
GUI.GetCurrentProjectLanguage() / GUI.GetCurrentProjectLanguageIndex()当前语言
GUI.ExportControlLangTextToExcel(path) / GUI.ImportControlLangTextFromExcel(path)控件多语言 ↔ Excel
GUI.ExportControlLangTextToExcelByDialog(openFolder) / GUI.ImportLangTextExcelFileByDialog()对话框变体
GUI.ExportMessageDataByDialog(openFolder) / GUI.ImportMessageDataByDialog()消息数据 ↔ Excel
GUI.ExportErrorDataByDialog(openFolder) / GUI.ImportErrorDataByDialog()错误数据 ↔ Excel