# @ohos.multimodalInput.pointer (鼠标指针)
鼠标指针管理模块,用于查询和设置鼠标指针相关属性。
> **说明**:
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import pointer from '@ohos.multimodalInput.pointer';
```
## pointer.setPointerVisible9+
setPointerVisible(visible: boolean, callback: AsyncCallback<void>): void
设置鼠标指针显示或者隐藏,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------------------------------------- |
| visible | boolean | 是 | 鼠标指针是否显示。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
try {
pointer.setPointerVisible(true, (error) => {
if (error) {
console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Set pointer visible success`);
});
} catch (error) {
console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setPointerVisible9+
setPointerVisible(visible: boolean): Promise<void>
设置鼠标指针显示或者隐藏,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ---------------------------------------- |
| visible | boolean | 是 | 鼠标指针是否显示。 |
**返回值**:
| 参数 | 说明 |
| ------------------- | ------------------- |
| Promise<void> | Promise对象。 |
**示例**:
```js
try {
pointer.setPointerVisible(false).then(() => {
console.log(`Set pointer visible success`);
});
} catch (error) {
console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.isPointerVisible9+
isPointerVisible(callback: AsyncCallback<boolean>): void
获取鼠标指针显示或隐藏状态,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数,异步返回鼠标指针显示或隐藏状态。 |
**示例**:
```js
try {
pointer.isPointerVisible((error, visible) => {
if (error) {
console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Get pointer visible success, visible: ${JSON.stringify(visible)}`);
});
} catch (error) {
console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.isPointerVisible9+
isPointerVisible(): Promise<boolean>
获取鼠标指针显示或隐藏状态,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**返回值**:
| 参数 | 说明 |
| ---------------------- | ------------------- |
| Promise<boolean> | Promise对象,异步返回鼠标指针显示或隐藏状态。 |
**示例**:
```js
try {
pointer.isPointerVisible().then((visible) => {
console.log(`Get pointer visible success, visible: ${JSON.stringify(visible)}`);
});
} catch (error) {
console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setPointerSpeed9+
setPointerSpeed(speed: number, callback: AsyncCallback<void>): void
设置鼠标移动速度,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------- |
| speed | number | 是 | 鼠标移动速度,范围1-11,默认为5。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
try {
pointer.setPointerSpeed(5, (error) => {
if (error) {
console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Set pointer speed success`);
});
} catch (error) {
console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setPointerSpeed9+
setPointerSpeed(speed: number): Promise<void>
设置鼠标移动速度,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------------------- |
| speed | number | 是 | 鼠标移动速度,范围1-11,默认为5。 |
**返回值**:
| 参数 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | Promise对象。 |
**示例**:
```js
try {
pointer.setPointerSpeed(5).then(() => {
console.log(`Set pointer speed success`);
});
} catch (error) {
console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getPointerSpeed9+
getPointerSpeed(callback: AsyncCallback<number>): void
获取鼠标移动速度,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------- |
| callback | AsyncCallback<number> | 是 | 回调函数,异步返回鼠标移动速度。 |
**示例**:
```js
try {
pointer.getPointerSpeed((error, speed) => {
if (error) {
console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Get pointer speed success, speed: ${JSON.stringify(speed)}`);
});
} catch (error) {
console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getPointerSpeed9+
getPointerSpeed(): Promise<number>
获取当前鼠标移动速度,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**返回值**:
| 参数 | 说明 |
| --------------------- | ------------------- |
| Promise<number> | Promise实例,异步返回鼠标移动速度。 |
**示例**:
```js
try {
pointer.getPointerSpeed().then(speed => {
console.log(`Get pointer speed success, speed: ${JSON.stringify(speed)}`);
});
} catch (error) {
console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setHoverScrollState10+
setHoverScrollState(state: boolean, callback: AsyncCallback<void>): void
设置鼠标悬停滚动开关状态,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------- |
| state | boolean | 是 | 鼠标悬停滚动开关状态。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
try {
pointer.setHoverScrollState(true, (error) => {
if (error) {
console.log(`Set the mouse hover scroll failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Set the mouse hover scroll success`);
});
} catch (error) {
console.log(`Set the mouse hover scroll failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setHoverScrollState10+
setHoverScrollState(state: boolean): Promise<void>
设置鼠标悬停滚动开关状态,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------------------- |
| state | boolean | 是 | 鼠标悬停滚动开关状态。 |
**返回值**:
| 参数 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | Promise对象。 |
**示例**:
```js
try {
pointer.setHoverScrollState(true).then(() => {
console.log(`Set the mouse hover scroll success`);
});
} catch (error) {
console.log(`Set the mouse hover scroll failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getHoverScrollState10+
getHoverScrollState(callback: AsyncCallback<boolean>): void
获取鼠标悬停滚动开关状态,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数,异步返回鼠标悬停滚动开关状态。 |
**示例**:
```js
try {
pointer.getHoverScrollState((error, state) => {
console.log(`Get the mouse hover scroll success, state: ${JSON.stringify(state)}`);
});
} catch (error) {
console.log(`Get the mouse hover scroll failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getHoverScrollState10+
getHoverScrollState(): Promise<boolean>
获取当前鼠标悬停滚动开关状态,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**返回值**:
| 参数 | 说明 |
| --------------------- | ------------------- |
| Promise<boolean> | Promise实例,异步返回鼠标悬停滚动开关状态。 |
**示例**:
```js
try {
pointer.getHoverScrollState().then((state) => {
console.log(`Get the mouse hover scroll success, state: ${JSON.stringify(state)}`);
});
} catch (error) {
console.log(`Get the mouse hover scroll failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setMousePrimaryButton10+
setMousePrimaryButton(primary: PrimaryButton, callback: AsyncCallback<void>): void
设置鼠标主键,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------- |
| primary | [PrimaryButton](#primarybutton10) | 是 | 鼠标主键id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
try {
pointer.setMousePrimaryButton(pointer.PrimaryButton.RIGHT, (error) => {
if (error) {
console.log(`Set mouse primary button failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Set mouse primary button success`);
});
} catch (error) {
console.log(`Set mouse primary button failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setMousePrimaryButton10+
setMousePrimaryButton(primary: PrimaryButton): Promise<void>
设置鼠标主键,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------------------- |
| primary | [PrimaryButton](#primarybutton10) | 是 | 鼠标主键id。 |
**返回值**:
| 参数 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | Promise对象。 |
**示例**:
```js
try {
pointer.setMousePrimaryButton(pointer.PrimaryButton.RIGHT).then(() => {
console.log(`Set mouse primary button success`);
});
} catch (error) {
console.log(`Set mouse primary button failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getMousePrimaryButton10+
getMousePrimaryButton(callback: AsyncCallback<PrimaryButton>): void
获取鼠标主键,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------- |
| callback | AsyncCallback<[PrimaryButton](#primarybutton10)> | 是 | 回调函数,异步返回鼠标主键。 |
**示例**:
```js
try {
pointer.getMousePrimaryButton((error, primary) => {
console.log(`Get mouse primary button success, primary: ${JSON.stringify(primary)}`);
});
} catch (error) {
console.log(`Get mouse primary button failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getMousePrimaryButton10+
getMousePrimaryButton(): Promise<PrimaryButton>
获取当前鼠标主键,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**返回值**:
| 参数 | 说明 |
| --------------------- | ------------------- |
| Promise<[PrimaryButton](#primarybutton10)> | Promise实例,异步返回鼠标主键。 |
**示例**:
```js
try {
pointer.getMousePrimaryButton().then((primary) => {
console.log(`Get mouse primary button success, primary: ${JSON.stringify(primary)}`);
});
} catch (error) {
console.log(`Get mouse primary button failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## PrimaryButton10+
鼠标主键类型。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
| 名称 | 值 | 说明 |
| -------------------------------- | ---- | ------ |
| LEFT | 0 | 鼠标左键 |
| RIGHT | 1 | 鼠标右键 |
## pointer.setMouseScrollRows10+
setMouseScrollRows(rows: number, callback: AsyncCallback<void>): void
设置鼠标滚动行数,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------- |
| rows | number | 是 | 鼠标滚动行数,范围1-100,默认为3。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
try {
pointer.setMouseScrollRows(1, (error) => {
if (error) {
console.log(`setMouseScrollRows failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`setMouseScrollRows success`);
});
} catch (error) {
console.log(`setMouseScrollRows failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.setMouseScrollRows10+
setMouseScrollRows(rows: number): Promise<void>
设置鼠标滚动行数,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------------------- |
| rows | number | 是 | 鼠标滚动行数,范围1-100,默认为3。 |
**返回值**:
| 参数 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | Promise对象。 |
**示例**:
```js
try {
pointer.setMouseScrollRows(20).then(() => {
console.log(`setMouseScrollRows success`);
});
} catch (error) {
console.log(`setMouseScrollRows failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getMouseScrollRows10+
getMouseScrollRows(callback: AsyncCallback<number>): void
获取鼠标滚动行数,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------- |
| callback | AsyncCallback<number> | 是 | 回调函数,异步返回鼠标滚动行数。 |
**示例**:
```js
try {
pointer.getMouseScrollRows((error, rows) => {
console.log(`getMouseScrollRows success, rows: ${JSON.stringify(rows)}`);
});
} catch (error) {
console.log(`getMouseScrollRows failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getMouseScrollRows10+
getMouseScrollRows(): Promise<number>
获取当前鼠标滚动行数,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**系统API**: 此接口为系统接口。
**返回值**:
| 参数 | 说明 |
| --------------------- | ------------------- |
| Promise<number> | Promise实例,异步返回鼠标滚动行数。 |
**示例**:
```js
try {
pointer.getMouseScrollRows().then((rows) => {
console.log(`getMouseScrollRows success, rows: ${JSON.stringify(rows)}`);
});
} catch (error) {
console.log(`getMouseScrollRows failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
```
## pointer.getPointerStyle9+
getPointerStyle(windowId: number, callback: AsyncCallback<PointerStyle>): void
获取鼠标样式类型,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------- |
| windowId | number | 是 | 窗口id。 |
| callback | AsyncCallback<[PointerStyle](#pointerstyle9)> | 是 | 回调函数,异步返回鼠标样式类型。 |
**示例**:
```js
import window from '@ohos.window';
window.getLastWindow(this.context, (error, win) => {
if (error.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error));
return;
}
let windowId = win.getWindowProperties().id;
if (windowId < 0) {
console.log(`Invalid windowId`);
return;
}
try {
pointer.getPointerStyle(windowId, (error, style) => {
console.log(`Get pointer style success, style: ${JSON.stringify(style)}`);
});
} catch (error) {
console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
});
```
## pointer.getPointerStyle9+
getPointerStyle(windowId: number): Promise<PointerStyle>
获取鼠标样式类型,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | -------- |
| windowId | number | 是 | 窗口id。 |
**返回值**:
| 参数 | 说明 |
| ---------------------------------------- | ------------------- |
| Promise<[PointerStyle](#pointerstyle9)> | Promise实例,异步返回鼠标样式类型。 |
**示例**:
```js
import window from '@ohos.window';
window.getLastWindow(this.context, (error, win) => {
if (error.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error));
return;
}
let windowId = win.getWindowProperties().id;
if (windowId < 0) {
console.log(`Invalid windowId`);
return;
}
try {
pointer.getPointerStyle(windowId).then((style) => {
console.log(`Get pointer style success, style: ${JSON.stringify(style)}`);
});
} catch (error) {
console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
});
```
## pointer.setPointerStyle9+
setPointerStyle(windowId: number, pointerStyle: PointerStyle, callback: AsyncCallback<void>): void
设置鼠标样式类型,使用AsyncCallback异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------------ | ---- | ----------------------------------- |
| windowId | number | 是 | 窗口id。 |
| pointerStyle | [PointerStyle](#pointerstyle9) | 是 | 鼠标样式id。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
**示例**:
```js
import window from '@ohos.window';
window.getLastWindow(this.context, (error, win) => {
if (error.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error));
return;
}
let windowId = win.getWindowProperties().id;
if (windowId < 0) {
console.log(`Invalid windowId`);
return;
}
try {
pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS, error => {
console.log(`Set pointer style success`);
});
} catch (error) {
console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
});
```
## pointer.setPointerStyle9+
setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise<void>
设置鼠标样式类型,使用Promise异步方式返回结果。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
**参数**:
| 参数名 | 类型 | 必填 | 说明 |
| ------------------- | ------------------------------ | ---- | ---------------- |
| windowId | number | 是 | 窗口id。 |
| pointerStyle | [PointerStyle](#pointerstyle9) | 是 | 鼠标样式id。 |
| Promise<void> | void | 是 | Promise对象。 |
**示例**:
```js
import window from '@ohos.window';
window.getLastWindow(this.context, (error, win) => {
if (error.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error));
return;
}
let windowId = win.getWindowProperties().id;
if (windowId < 0) {
console.log(`Invalid windowId`);
return;
}
try {
pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS).then(() => {
console.log(`Set pointer style success`);
});
} catch (error) {
console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
});
```
## PointerStyle9+
鼠标样式类型。
**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
| 名称 | 值 | 说明 |图示 |
| -------------------------------- | ---- | ------ |------ |
| DEFAULT | 0 | 默认 |![Default.png](./figures/Default.png)|
| EAST | 1 | 向东箭头 |![East.png](./figures/East.png)|
| WEST | 2 | 向西箭头 |![West.png](./figures/West.png)|
| SOUTH | 3 | 向南箭头 |![South.png](./figures/South.png)|
| NORTH | 4 | 向北箭头 |![North.png](./figures/North.png)|
| WEST_EAST | 5 | 向西东箭头 |![West_East.png](./figures/West_East.png)|
| NORTH_SOUTH | 6 | 向北南箭头 |![North_South.png](./figures/North_South.png)|
| NORTH_EAST | 7 | 向东北箭头 |![North_East.png](./figures/North_East.png)|
| NORTH_WEST | 8 | 向西北箭头 |![North_West.png](./figures/North_West.png)|
| SOUTH_EAST | 9 | 向东南箭头 |![South_East.png](./figures/South_East.png)|
| SOUTH_WEST | 10 | 向西南箭头 |![South_West.png](./figures/South_West.png)|
| NORTH_EAST_SOUTH_WEST | 11 | 东北西南调整 |![North_East_South_West.png](./figures/North_East_South_West.png)|
| NORTH_WEST_SOUTH_EAST | 12 | 西北东南调整 |![North_West_South_East.png](./figures/North_West_South_East.png)|
| CROSS | 13 | 准确选择 |![Cross.png](./figures/Cross.png)|
| CURSOR_COPY | 14 | 拷贝 |![Copy.png](./figures/Copy.png)|
| CURSOR_FORBID | 15 | 不可用 |![Forbid.png](./figures/Forbid.png)|
| COLOR_SUCKER | 16 | 滴管 |![Colorsucker.png](./figures/Colorsucker.png)|
| HAND_GRABBING | 17 | 并拢的手 |![Hand_Grabbing.png](./figures/Hand_Grabbing.png)|
| HAND_OPEN | 18 | 张开的手 |![Hand_Open.png](./figures/Hand_Open.png)|
| HAND_POINTING | 19 | 手形指针 |![Hand_Poniting.png](./figures/Hand_Pointing.png)|
| HELP | 20 | 帮助选择 |![Help.png](./figures/Help.png)|
| MOVE | 21 | 移动 |![Move.png](./figures/Move.png)|
| RESIZE_LEFT_RIGHT | 22 | 内部左右调整 |![Resize_Left_Right.png](./figures/Resize_Left_Right.png)|
| RESIZE_UP_DOWN | 23 | 内部上下调整 |![Resize_Up_Down.png](./figures/Resize_Up_Down.png)|
| SCREENSHOT_CHOOSE | 24 | 截图十字准星 |![Screenshot_Cross.png](./figures/Screenshot_Cross.png)|
| SCREENSHOT_CURSOR | 25 | 截图 |![Screenshot_Cursor.png](./figures/Screenshot_Cursor.png)|
| TEXT_CURSOR | 26 | 文本选择 |![Text_Cursor.png](./figures/Text_Cursor.png)|
| ZOOM_IN | 27 | 放大 |![Zoom_In.png](./figures/Zoom_In.png)|
| ZOOM_OUT | 28 | 缩小 |![Zoom_Out.png](./figures/Zoom_Out.png)|
| MIDDLE_BTN_EAST | 29 | 向东滚动 |![MID_Btn_East.png](./figures/MID_Btn_East.png)|
| MIDDLE_BTN_WEST | 30 | 向西滚动 |![MID_Btn_West.png](./figures/MID_Btn_West.png)|
| MIDDLE_BTN_SOUTH | 31 | 向南滚动 | ![MID_Btn_South.png](./figures/MID_Btn_South.png) |
| MIDDLE_BTN_NORTH | 32 | 向北滚动 |![MID_Btn_North.png](./figures/MID_Btn_North.png)|
| MIDDLE_BTN_NORTH_SOUTH | 33 | 向北南滚动 |![MID_Btn_North_South.png](./figures/MID_Btn_North_South.png)|
| MIDDLE_BTN_NORTH_EAST | 34 | 向东北滚动 |![MID_Btn_North_East.png](./figures/MID_Btn_North_East.png)|
| MIDDLE_BTN_NORTH_WEST | 35 | 向西北滚动 |![MID_Btn_North_West.png](./figures/MID_Btn_North_West.png)|
| MIDDLE_BTN_SOUTH_EAST | 36 | 向东南滚动 |![MID_Btn_South_East.png](./figures/MID_Btn_South_East.png)|
| MIDDLE_BTN_SOUTH_WEST | 37 | 向西南滚动 |![MID_Btn_South_West.png](./figures/MID_Btn_South_West.png)|
| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38 | 四向锥形移动 |![MID_Btn_North_South_West_East.png](./figures/MID_Btn_North_South_West_East.png)|
| HORIZONTAL_TEXT_CURSOR | 39 | 垂直文本选择 |![Horizontal_Text_Cursor.png](./figures/Horizontal_Text_Cursor.png)|
| CURSOR_CROSS | 40 | 十字光标 |![Cursor_Cross.png](./figures/Cursor_Cross.png)|
| CURSOR_CIRCLE | 41 | 圆形光标 |![Cursor_Circle.png](./figures/Cursor_Circle.png)|