js-apis-pointer.md 14.9 KB
Newer Older
L
liuwei 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# 鼠标指针

鼠标指针管理模块,用于提供鼠标指针相关属性接口。

> **说明**:
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

```js
import pointer from '@ohos.multimodalInput.pointer';
```

M
mayunteng_1 已提交
15
## pointer.setPointerVisibele<sup>9+</sup>
L
liuwei 已提交
16

L
liuwei 已提交
17
setPointerVisible(visible: boolean, callback: AsyncCallback&lt;void&gt;): void
L
liuwei 已提交
18

M
mayunteng_1 已提交
19
设置鼠标指针显示或者隐藏,使用callback异步回调。
L
liuwei 已提交
20 21 22 23 24

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
25 26 27 28
| 参数       | 类型                        | 必填   | 说明                                       |
| -------- | ------------------------- | ---- | ---------------------------------------- |
| visible  | boolean                   | 是    | 鼠标指针显示或者隐藏状态,true: 鼠标指针显示; false: 鼠标指针隐藏。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置鼠标显示或隐藏成功,err为undefined,否则为错误对象。 |
L
liuwei 已提交
29 30 31 32

**示例**

```js
M
mayunteng_1 已提交
33 34 35 36 37 38 39
try {
  pointer.setPointerVisible(true, (err, data) => {
    console.log(`Set pointer visible success`);
  });
} catch (err) {
  console.log(`Set pointer visible failed. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
L
liuwei 已提交
40 41
```

M
mayunteng_1 已提交
42
## pointer.setPointerVisible<sup>9+</sup>
L
liuwei 已提交
43

L
liuwei 已提交
44
setPointerVisible(visible: boolean): Promise&lt;void&gt;
L
liuwei 已提交
45 46 47 48 49 50 51

设置鼠标指针显示或者隐藏,使用Promise方式作为异步方法。

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
52 53 54
| 参数      | 类型      | 必填   | 说明                                       |
| ------- | ------- | ---- | ---------------------------------------- |
| visible | boolean | 是    | 鼠标指针显示或者隐藏状态,true: 鼠标指针显示; false: 鼠标指针隐藏。 |
L
liuwei 已提交
55 56 57

**返回值**

H
HelloCrease 已提交
58 59
| 参数                  | 说明                  |
| ------------------- | ------------------- |
L
liuwei 已提交
60 61 62 63 64
| Promise&lt;void&gt; | Promise实例,用于异步获取结果。 |

**示例**

```js
M
mayunteng_1 已提交
65 66 67 68 69 70 71
try {
  pointer.setPointerVisible(false).then(data => {
    console.log(`Set mouse pointer visible success`);
  });
} catch {
  console.log(`Set mouse pointer visible failed err=${JSON.stringify(data)}, msg=${JSON.stringify(message)}`);
}
L
liuwei 已提交
72 73
```

M
mayunteng_1 已提交
74
## pointer.isPointerVisible<sup>9+</sup>
L
liuwei 已提交
75

L
liuwei 已提交
76
isPointerVisible(callback: AsyncCallback&lt;boolean&gt;): void
L
liuwei 已提交
77

M
mayunteng_1 已提交
78
获取鼠标指针显示或隐藏状态,使用callback异步回调。
L
liuwei 已提交
79 80 81 82 83

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
84 85 86
| 参数       | 类型                           | 必填   | 说明             |
| -------- | ---------------------------- | ---- | -------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数,异步返回查询结果。 |
L
liuwei 已提交
87 88 89 90

**示例**

```js
M
mayunteng_1 已提交
91 92 93 94 95 96 97
try {
  pointer.isPointerVisible(visible, (err, data) => {
    console.log(`The mouse pointer visible attributes is ` + visible);
  });
} catch (err) {
  console.log(`The mouse pointer visible attributes is failed. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
L
liuwei 已提交
98 99
```

M
mayunteng_1 已提交
100
## pointer.isPointerVisible<sup>9+</sup>
L
liuwei 已提交
101 102 103

isPointerVisible(): Promise&lt;boolean&gt;

L
liuwei 已提交
104
获取鼠标指针显示或隐藏状态,使用Promise方式作为异步方法。
L
liuwei 已提交
105 106 107 108 109

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**返回值**

H
HelloCrease 已提交
110 111
| 参数                     | 说明                  |
| ---------------------- | ------------------- |
L
liuwei 已提交
112 113 114 115 116
| Promise&lt;boolean&gt; | Promise实例,用于异步获取结果。 |

**示例**

```js
M
mayunteng_1 已提交
117 118 119 120 121 122 123
try {
  pointer.isPointerVisible().then((data) => {
    console.log(`The mouse pointer visible attributes is success. data=${JSON.stringify(data)}`);
  });
} catch (err) {
  ponsole.info(`The mouse pointer visible attributes is failed. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
L
liuwei 已提交
124
```
125 126 127

## pointer.setPointerSpeed<sup>9+</sup>

M
mayunteng_1 已提交
128
setPointerSpeed(speed: number, callback: AsyncCallback&lt;void&gt;): void
129

M
mayunteng_1 已提交
130
设置鼠标移动速度,使用callback异步回调。
131 132 133 134 135

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
136 137 138 139
| 参数       | 类型                        | 必填   | 说明                                    |
| -------- | ------------------------- | ---- | ------------------------------------- |
| speed    | number                    | 是    | 鼠标移动速度设置挡位值1-11,最大值:11,最小值:1,标准值:5。   |
| callback | AysncCallback&lt;void&gt; | 是    | 回调函数。当设置鼠标速度成功,err为undefined,否则为错误对象。 |
140 141 142 143

**示例**

```js
M
mayunteng_1 已提交
144 145 146 147 148 149 150
try {
  pointer.setPointerSpeed(5, (err, data) => {
    console.log(`Set pointer speed success`);
  });
} catch (err) {
  console.log(`Set pointer speed failed. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
151 152 153 154 155 156
```

## pointer.setPointerSpeed<sup>9+</sup>

setPointerSpeed(speed: number): Promise&lt;void&gt;

M
mayunteng_1 已提交
157
设置鼠标移动速度,使用Promise异步回调。
158 159 160 161 162

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
163 164 165
| 参数    | 类型     | 必填   | 说明                                  |
| ----- | ------ | ---- | ----------------------------------- |
| speed | number | 是    | 鼠标移动速度设置挡位值1-11,最大值:11,最小值:1,标准值:5。 |
166 167 168

**返回值**

H
HelloCrease 已提交
169 170
| 参数                  | 说明               |
| ------------------- | ---------------- |
M
mayunteng_1 已提交
171
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
172 173 174 175

**示例**

```js
M
mayunteng_1 已提交
176 177 178 179 180 181 182
try {
  pointer.setPointerSpeed(5).then(data => {
    console.log(`Set pointer speed success`);
  });
} catch (err) {
  console.log(`Set pointer speed failed err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
183 184 185 186 187 188
```

## pointer.getPointerSpeed<sup>9+</sup>

getPointerSpeed(callback: AsyncCallback&lt;number&gt;): void

M
mayunteng_1 已提交
189
获取当前鼠标移动速度,使用callback异步回调。
190 191 192 193 194

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
195 196 197
| 参数       | 类型                          | 必填   | 说明             |
| -------- | --------------------------- | ---- | -------------- |
| callback | AsyncCallback&lt;number&gt; | 是    | 回调函数,异步返回查询结果。 |
198 199 200 201

**示例**

```js
M
mayunteng_1 已提交
202 203 204 205 206 207 208
try {
  pointer.getPointerSpeed(speed, (err, data) => {
    console.log(`The pointer speed is ` + speed);
  });
} catch (err) {
  console.log(`Failed to get the pointer speed. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
209 210 211 212 213 214
```

## pointer.getPointerSpeed<sup>9+</sup>

getPointerSpeed(): Promise&lt;number&gt;

M
mayunteng_1 已提交
215
获取当前鼠标移动速度,使用Promise异步回调。
216 217 218 219 220

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**返回值**

H
HelloCrease 已提交
221 222
| 参数                    | 说明                  |
| --------------------- | ------------------- |
223 224 225 226 227
| Promise&lt;number&gt; | Promise实例,用于异步获取结果。 |

**示例**

```js
M
mayunteng_1 已提交
228 229 230 231 232 233 234
try {
  pointer.getPointerSpeed().then(data => {
    console.log(`Get pointer speed success. data=${JSON.stringify(data)}`);
  });
} catch (err) {
  console.log(`Get pointer speed failed err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
}
235 236 237 238
```

## pointer.getPointerStyle<sup>9+</sup>

239
getPointerStyle(windowId: number, callback: AsyncCallback&lt;PointerStyle&gt;): void
240

M
mayunteng_1 已提交
241
获取鼠标样式类型,使用callback异步回调。
242 243 244 245 246

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
247 248 249 250
| 参数       | 类型                                       | 必填   | 说明             |
| -------- | ---------------------------------------- | ---- | -------------- |
| windowId | number                                   | 是    | 输入设备的窗口id。     |
| callback | AsyncCallback&lt;[PointerStyle](#pointerstyle9)&gt; | 是    | 回调函数,异步返回查询结果。 |
251 252 253 254

**示例**

```js
M
mayunteng_1 已提交
255
// 获取设备的鼠标样式。
256
import window from '@ohos.window';
M
mayunteng_1 已提交
257 258 259 260 261
var windowClass = null;
window.getTopWindow((err, data) => {
  windowClass = data;
  windowClass.getProperties((err, data) => {
    var windowId = data.id;
M
mayunteng_1 已提交
262 263 264 265 266 267 268 269 270 271 272
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
      pointer.getPointerStyle(windowId, (err, ret) => {
        console.log(`The mouse pointer style is: ` + ret);
      });
    } catch (err) {
      console.log(`Failed to get the pointer style. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
    }
M
mayunteng_1 已提交
273
  });
274 275 276 277 278
});
```

## pointer.getPointerStyle<sup>9+</sup>

279
getPointerStyle(windowId: number): Promise&lt;PointerStyle&gt;
280 281 282 283 284 285 286

获取鼠标样式类型,使用Promise方式作为异步方法。

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
287 288 289
| 参数                                       | 说明                  |
| ---------------------------------------- | ------------------- |
| Promise&lt;[PointerStyle](#pointerstyle9)&gt; | Promise实例,用于异步获取结果。 |
290 291 292 293

**示例**

```js
M
mayunteng_1 已提交
294
// 获取设备的鼠标样式。
295
import window from '@ohos.window';
M
mayunteng_1 已提交
296 297 298 299 300
var windowClass = null;
window.getTopWindow((err, data) => {
  windowClass = data;
  windowClass.getProperties((err, data) => {
    var windowId = data.id;
M
mayunteng_1 已提交
301 302 303 304 305 306 307 308 309 310 311
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
      pointer.getPointerStyle(windowId).then((ret) => {
        console.log(`The mouse pointer style is: ` + ret);
      });
    } catch (err) {
      console.log(`Get pointer style failed err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
    }
M
mayunteng_1 已提交
312
  });
313 314 315 316 317
});
```

## pointer.setPointerStyle<sup>9+</sup>

318
setPointerStyle(windowId: number, pointerStyle: PointerStyle, callback: AsyncCallback&lt;void&gt;): void
319

M
mayunteng_1 已提交
320
设置鼠标的样式类型,使用callback异步回调。
321 322 323 324 325

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
326 327 328 329 330
| 参数           | 类型                             | 必填   | 说明                                  |
| ------------ | ------------------------------ | ---- | ----------------------------------- |
| windowId     | number                         | 是    | 输入设备的窗口id。                          |
| pointerStyle | [PointerStyle](#pointerstyle9) | 是    | 鼠标样式id。                             |
| callback     | AysncCallback&lt;void&gt;      | 是    | 回调函数。当设置样式成功,err为undefined,否则为错误对象。 |
331 332 333 334

**示例**

```js
M
mayunteng_1 已提交
335
// 设置设备的鼠标样式。
336
import window from '@ohos.window';
M
mayunteng_1 已提交
337 338 339 340 341
var windowClass = null;
window.getTopWindow((err, data) => {
  windowClass = data;
  windowClass.getProperties((err, data) => {
    var windowId = data.id;
M
mayunteng_1 已提交
342 343 344 345 346 347 348 349 350 351 352
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
      pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS, (err) => {
        console.log(`Successfully set mouse pointer style`);
      });
    } catch (err) {
      console.log(`Failed to set the pointer style. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
    }
M
mayunteng_1 已提交
353
  });
354 355 356 357
});
```
## pointer.setPointerStyle<sup>9+</sup>

358
setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise&lt;void&gt;
359 360 361 362 363 364 365

设置鼠标的样式类型,使用Promise方式作为异步方法。

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

**参数**

H
HelloCrease 已提交
366 367 368 369 370
| 参数                  | 类型                             | 必填   | 说明               |
| ------------------- | ------------------------------ | ---- | ---------------- |
| windowId            | number                         | 是    | 输入设备的窗口id。       |
| pointerStyle        | [PointerStyle](#pointerstyle9) | 是    | 鼠标样式id。          |
| Promise&lt;void&gt; | void                           | 是    | 无返回结果的Promise对象。 |
371 372 373 374

**示例**

```js
M
mayunteng_1 已提交
375
// 设置设备的鼠标样式。
376
import window from '@ohos.window';
M
mayunteng_1 已提交
377 378 379 380 381
var windowClass = null;
window.getTopWindow((err, data) => {
  windowClass = data;
  windowClass.getProperties((err, data) => {
    var windowId = data.id;
M
mayunteng_1 已提交
382 383 384 385 386 387 388 389 390 391 392
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
      pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS).then(() => {
        console.log(`Successfully set mouse pointer style`);
      });
    } catch (err) {
      console.log(`Failed to set the pointer style. err=${JSON.stringify(err)}, msg=${JSON.stringify(message)}`);
    }
M
mayunteng_1 已提交
393
  });
394 395 396 397 398 399 400 401
});
```
## PointerStyle<sup>9+</sup>

定义鼠标样式类型。

**系统能力**:SystemCapability.MultimodalInput.Input.Pointer

H
HelloCrease 已提交
402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
| 名称                               | 值    | 说明     |
| -------------------------------- | ---- | ------ |
| DEFAULT                          | 0    | 默认     |
| EAST                             | 1    | 向东箭头   |
| WEST                             | 2    | 向西箭头   |
| SOUTH                            | 3    | 向南箭头   |
| NORTH                            | 4    | 向北箭头   |
| WEST_EAST                        | 5    | 向西东箭头  |
| NORTH_SOUTH                      | 6    | 向北南箭头  |
| NORTH_EAST                       | 7    | 向东北箭头  |
| NORTH_WEST                       | 8    | 向西北箭头  |
| SOUTH_EAST                       | 9    | 向东南箭头  |
| SOUTH_WEST                       | 10   | 向西南箭头  |
| NORTH_EAST_SOUTH_WEST            | 11   | 东北西南调整 |
| NORTH_WEST_SOUTH_EAST            | 12   | 西北东南调整 |
| CROSS                            | 13   | 准确选择   |
| CURSOR_COPY                      | 14   | 拷贝     |
| CURSOR_FORBID                    | 15   | 不可用    |
| COLOR_SUCKER                     | 16   | 滴管     |
| HAND_GRABBING                    | 17   | 并拢的手   |
| HAND_OPEN                        | 18   | 张开的手   |
| HAND_POINTING                    | 19   | 手形指针   |
| HELP                             | 20   | 帮助选择   |
| MOVE                             | 21   | 移动     |
| RESIZE_LEFT_RIGHT                | 22   | 内部左右调整 |
| RESIZE_UP_DOWN                   | 23   | 内部上下调整 |
| SCREENSHOT_CHOOSE                | 24   | 截图十字准星 |
| SCREENSHOT_CURSOR                | 25   | 截图     |
| TEXT_CURSOR                      | 26   | 文本选择   |
| ZOOM_IN                          | 27   | 放大     |
| ZOOM_OUT                         | 28   | 缩小     |
| MIDDLE_BTN_EAST                  | 29   | 向东滚动   |
| MIDDLE_BTN_WEST                  | 30   | 向西滚动   |
| MIDDLE_BTN_SOUTH                 | 31   | 向南滚动   |
| MIDDLE_BTN_NORTH                 | 32   | 向北滚动   |
| MIDDLE_BTN_NORTH_SOUTH           | 33   | 向北南滚动  |
| MIDDLE_BTN_NORTH_EAST            | 34   | 向东北滚动  |
| MIDDLE_BTN_NORTH_WEST            | 35   | 向西北滚动  |
| MIDDLE_BTN_SOUTH_EAST            | 36   | 向东南滚动  |
| MIDDLE_BTN_SOUTH_WEST            | 37   | 向西南滚动  |
| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38   | 四向锥形移动 |
443 444