# 鼠标右击

在指定对象上单击鼠标右键以运行指定脚本操作。

注： 在SP5000系列Open Box(Windows 10 IoT Enterprise Model型)、IPC系列和PC/AT上支持此触发条件。

有关支持此触发条件的型号，请参见以下内容。

支持的型号/功能列表

##### 块

##### 文本

onRightClick($GraphicObject, ()=>{
1 2
})

1: 操作

2: 目标对象

注：有关目标对象中可用对象的信息，请参阅以下内容。

支持的对象

## 操作

[Right Click]

[Right Press]

[Right Release]

[Right Hold]

[Right Double Click]

### [Right Click]

右键单击目标对象一次将触发该操作。

##### 块

##### 文本

onRightClick($GraphicObject.Switch1, () => {

});

注：

- 如果在对象上按右键单击按钮并将鼠标滑出对象区域而不释放右键单击按钮，则取消右键单击。
- 以下情况下不激活[Right Click]触发条件。

- 由于画面或内容更改，对象不再显示。
- 在对象上启用互锁功能。
- 用户登出。
- 工程文件已传输。
- 运行时已关闭。
- 重新启动运行时。
- Windows活动窗口从运行时应用程序更改为其他应用程序。

### [Right Press]

在目标对象上按下右键单击按钮时，触发该操作。

##### 块

##### 文本

onRightPress($GraphicObject.Switch1, () => {
});

1: EnableDelay

右键单击按钮按下指定的时间后，运行该操作。

##### 块

选择复选框，设置一个延迟时间。

##### 文本

要在文本模式下设置一个延迟时间 (例如，10*100 毫秒)，请使用

onRightPressWithDelay($GraphicObject.Switch1, 10, () => {
});

#### 时序图

示例 1 | ：触发操作
示例 2 | ：触发操作 ：延迟时间
示例 3 | ：触发操作 ：不触发操作 ：延迟时间

### [Right Release]

从对象中释放右键单击按钮时，触发该操作。

##### 块

##### 文本

onRightRelease($GraphicObject.Switch1, () => {
});

1: EnableDelay

在对象上释放右键单击按钮并经过指定的时间后，运行该操作。

##### 块

选择复选框，设置一个延迟时间。

##### 文本

要在文本模式下设置一个延迟时间 (例如，10*100 毫秒)，请使用

onRightReleaseWithDelay($GraphicObject.Switch1, 10, () => {
});

警告
触发条件行为 在设计[Right Release]触发条件时，要考虑到当目标对象不再可触摸时，[Right Release]触发条件也会被激活。 如果未能遵守本说明，可能会导致人员死亡、重伤或设备损坏。

注：以下情况下也激活[Right Release]触发条件。

- 由于画面/内容显示器更改，目标对象不再可触摸。
- 目标对象的互锁已启用
- 用户已登出
- 工程文件传输
- 运行程序操作关闭运行时 (Shutdown)
- 运行程序操作重启运行时 (Reboot)
- 应用程序窗口不再聚焦

#### 时序图

示例 1 | ：触发操作
示例 2 | ：触发操作 ：延迟时间
示例 3 | ：触发操作 ：延迟时间

注：如果在同一个对象上同时指定[Right Press]和[Right Release]触发条件，并且在[Right Press]触发条件的延迟时间经过之前释放右键单击按钮，则[Right Release]触发条件而非[Right Press]触发条件会执行。

：操作由[Right Release]触发条件触发

：操作不是由[Right Press]触发条件触发

：[Right Press] 延迟时间

### [Right Hold]

在对象上继续按住右键单击按钮时，将在指定的持续时间内重复触发该操作。您可以为[Duration]设置的最大值为 30 秒。

##### 块

##### 文本

onRightHold($GraphicObject.Switch1, 1000, ()=>{
});

1: EnableDelay

在对象上按右键单击按钮指定的时间后，运行该操作。

##### 块

选择复选框，设置一个延迟时间。

##### 文本

要在文本模式下设置一个延迟时间 (例如，10*100 毫秒)，请使用

onRightHoldWithDelay($GraphicObject.Switch1, 1000, 10, ()=>{
});

#### 时序图

示例 1 | ：触发操作 ：保持时间
示例 2 | ：触发操作 ：延迟时间: 保持时间

### [Right Double Click]

连续两次右键单击对象时，触发该操作。

##### 块

##### 文本

onRightDoubleClick($GraphicObject.Switch1, ()=>{
});

## 支持的对象

形状 | 支持
部件 | 除以下部件外，所有部件均受支持。 报警摘要 成份查看器 图片显示 Web 浏览器 硬件配置 文件管理器
预定义图像 | 支持
布局对象 | 不支持
分组对象 | 不支持
画面/内容 | 不支持

## 触摸区域

触摸区域是选择对象时显示的宽度和高度的区域。

在下图中，红色区域是触摸区域。