关于窗口样式

新建窗口脚本步骤中,窗口样式允许您指定新窗口在定制化 App 中的行为方式。应该为每个布局和任务都设计一个特定窗口样式。

文档窗口

文档窗口允许用户启动新进程或查看附加信息。

针对典型用户输入任务或可以按任意顺序发生的任务使用文档窗口。例如,查看客户的购买历史记录时,打开文档窗口可查看发货单。

浮动文档窗口

即使浮动文档窗口为非活动状态时,也会保留在其他窗口之上。

使用浮动文档窗口可显示应该始终可见的信息或任务。例如,打开一个浮动文档窗口可显示交互目录。

对话框窗口

对话框窗口显示在前台。用户必须关闭所有已打开的对话框窗口才能激活打开的文档窗口或浮动文档窗口。

使用对话框窗口可收集必需的信息或警告用户有阻止访问其他窗口的情况。例如,当用户尝试修改敏感数据时,打开一个对话框窗口可显示警报。

  • 对话框窗口打开时,新建窗口脚本步骤将创建对话框窗口或卡片,但是不能创建文档或浮动窗口。
  • 用户可以使用非文档窗口(如数据查看器和脚本调试器),只要这些窗口在对话框窗口打开时处于打开状态。用户无法使用“管理布局”对话框、“脚本工作区”或我的 App、个人收藏和最近窗口。
  • 当一个对话框窗口打开时,任何尝试打开文档或浮动文档窗口的操作都将失败(例如,使用脚本触发器从另一个文件运行脚本)。当一个对话框窗口打开时,OnTimer 脚本将不执行,除非该脚本从对话框窗口本身启动。
  • 以下脚本步骤在与对话框窗口配合使用时会有一些限制。
  • 脚本步骤

    是否支持

    针对对话框窗口的限制

    调整窗口

    仅可在当前窗口中执行

    排列所有窗口

     

    转换文件

     

    转到相关记录

    只能打开新对话框窗口

    移动窗口/调整窗口大小

    仅可在当前窗口中执行

    新建文件

     

    新建窗口

    只能打开新对话框窗口或卡片

    打开文件

     

    打开主机

     

    执行脚本

    如果从另一个打开的文件中执行,将会失败

    退出应用程序

     

    选择窗口

    只能选择当前对话框窗口

  • macOS:FileMaker Pro 对话框窗口不具有和标准 macOS 对话框窗口同样的所有特征或限制。例如,当 FileMaker Pro 对话框窗口打开时,Apple 事件可以与文件通信。

卡片

卡片会显示在活动窗口中当前布局的前景中。用户必须关闭卡片才能使用卡片的父窗口。

使用卡片可收集必需的信息或警告用户有允许访问其他窗口的情况。例如,打开卡片提示用户查找允许访问其他打开窗口的条件。

  • 卡片无法最小化或最大化。

  • FileMaker Pro 未在 Window 菜单中包含卡片。

  • 在 FileMaker Pro 和 FileMaker Go 中,卡片的高度和宽度不能超过屏幕尺寸。

  • 在 FileMaker WebDirect 中,卡片的高度和宽度不能超过 Web 浏览器窗口的大小。但卡片会被裁剪,只显示 Web 浏览器窗口内的区域。如果卡片指定的高度和宽度能够容纳卡片中的内容,则卡片无法滚动,即使卡片按 Web 浏览器窗口裁剪也一样。为避免这种情况,请在“新建窗口”脚本步骤中使用 Get (工作区高度)Get (工作区宽度) 函数,以将卡片的高度和宽度设置为适应 Web 浏览器窗口。

  • 如果活动布局大于卡片的高度或宽度,滚动条将显示在卡片中。

  • 不能从同一父窗口打开多个卡片。

  • 在 FileMaker Pro 中:

    • 卡片不会显示状态工具栏、格式栏、标题栏或窗口框架。要移动卡片或调整卡片大小,请使用移动窗口/调整窗口大小脚本步骤

    • 卡片打开后,父窗口中的状态工具栏和格式栏将处于非活动状态,并且无法显示或隐藏。

  • 在 FileMaker WebDirect 中:

    • 卡片打开后,父窗口中的状态工具栏和菜单栏将处于非活动状态,并且无法显示或隐藏。

    • 卡片的父窗口在关闭之前不会更新。

  • 在 FileMaker Go 中,要隐藏或显示卡片的菜单栏或工具栏,必须在显示卡片前隐藏或显示菜单栏或工具栏。(卡片包含焦点时,将禁用隐藏或显示卡片的手势或脚本步骤。)

  • 如果选择“关闭”选项,用户可以在 FileMaker Pro 和 FileMaker WebDirect 中单击“关闭”按钮或者在 FileMaker Go 中点按卡片外部区域来关闭卡片。但是,如果不选择“关闭”选项,用户则无法关闭卡片,除非脚本(例如指定卡片中的按钮)执行关闭窗口脚本步骤

  • 如果脚本尝试关闭卡片的父窗口,脚本将首先尝试关闭卡片。如果无法关闭卡片(例如,脚本触发器失败),脚本将返回错误代码。