js-apis-pointer.md 14.9 KB
Newer Older
L
liuwei 已提交
1 2
# 鼠标指针

M
mayunteng_1 已提交
3
鼠标指针管理模块,用于查询和设置鼠标指针相关属性。
L
liuwei 已提交
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.setPointerVisible<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
设置鼠标指针显示或者隐藏,使用AsyncCallback异步方式返回结果。
L
liuwei 已提交
20 21 22 23 24

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

**参数**

M
mayunteng_1 已提交
25
| 参数名       | 类型                        | 必填   | 说明                                       |
H
HelloCrease 已提交
26
| -------- | ------------------------- | ---- | ---------------------------------------- |
M
mayunteng_1 已提交
27
| visible  | boolean                   | 是    | 鼠标指针是否显示。 |
M
mayunteng_1 已提交
28
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。 |
L
liuwei 已提交
29 30 31 32

**示例**

```js
M
mayunteng_1 已提交
33
try {
M
mayunteng_1 已提交
34 35 36 37 38
  pointer.setPointerVisible(true, (error) => {
    if (error) {
      console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
      return;
    }
M
mayunteng_1 已提交
39 40
    console.log(`Set pointer visible success`);
  });
M
mayunteng_1 已提交
41 42
} catch (error) {
  console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
43
}
L
liuwei 已提交
44 45
```

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

L
liuwei 已提交
48
setPointerVisible(visible: boolean): Promise&lt;void&gt;
L
liuwei 已提交
49

M
mayunteng_1 已提交
50
设置鼠标指针显示或者隐藏,使用Promise异步方式返回结果。
L
liuwei 已提交
51 52 53 54 55

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

**参数**

M
mayunteng_1 已提交
56
| 参数名      | 类型      | 必填   | 说明                                       |
H
HelloCrease 已提交
57
| ------- | ------- | ---- | ---------------------------------------- |
M
mayunteng_1 已提交
58
| visible | boolean | 是    | 鼠标指针是否显示。 |
L
liuwei 已提交
59 60 61

**返回值**

H
HelloCrease 已提交
62 63
| 参数                  | 说明                  |
| ------------------- | ------------------- |
M
mayunteng_1 已提交
64
| Promise&lt;void&gt; | Promise对象。 |
L
liuwei 已提交
65 66 67 68

**示例**

```js
M
mayunteng_1 已提交
69
try {
M
mayunteng_1 已提交
70 71
  pointer.setPointerVisible(false).then(() => {
    console.log(`Set pointer visible success`);
M
mayunteng_1 已提交
72
  });
M
mayunteng_1 已提交
73 74
} catch (error) {
  console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
75
}
L
liuwei 已提交
76 77
```

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

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

M
mayunteng_1 已提交
82
获取鼠标指针显示或隐藏状态,使用AsyncCallback异步方式返回结果。
L
liuwei 已提交
83 84 85 86 87

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

**参数**

M
mayunteng_1 已提交
88
| 参数名       | 类型                           | 必填   | 说明             |
H
HelloCrease 已提交
89
| -------- | ---------------------------- | ---- | -------------- |
M
mayunteng_1 已提交
90
| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数,异步返回鼠标指针显示或隐藏状态。 |
L
liuwei 已提交
91 92 93 94

**示例**

```js
M
mayunteng_1 已提交
95
try {
M
mayunteng_1 已提交
96 97 98 99 100 101
  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)}`);
M
mayunteng_1 已提交
102
  });
M
mayunteng_1 已提交
103 104
} catch (error) {
  console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
105
}
L
liuwei 已提交
106 107
```

M
mayunteng_1 已提交
108
## pointer.isPointerVisible<sup>9+</sup>
L
liuwei 已提交
109 110 111

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

M
mayunteng_1 已提交
112
获取鼠标指针显示或隐藏状态,使用Promise异步方式返回结果。
L
liuwei 已提交
113 114 115 116 117

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

**返回值**

H
HelloCrease 已提交
118 119
| 参数                     | 说明                  |
| ---------------------- | ------------------- |
M
mayunteng_1 已提交
120
| Promise&lt;boolean&gt; | Promise对象,异步返回鼠标指针显示或隐藏状态。 |
L
liuwei 已提交
121 122 123 124

**示例**

```js
M
mayunteng_1 已提交
125 126 127
pointer.isPointerVisible().then((visible) => {
  console.log(`Get pointer visible success, visible: ${JSON.stringify(visible)}`);
});
L
liuwei 已提交
128
```
129 130 131

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

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

M
mayunteng_1 已提交
134
设置鼠标移动速度,使用AsyncCallback异步方式返回结果。
135 136 137

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

M
mayunteng_1 已提交
138 139
**系统API**: 此接口为系统接口。

140 141
**参数**

M
mayunteng_1 已提交
142
| 参数名       | 类型                        | 必填   | 说明                                    |
H
HelloCrease 已提交
143
| -------- | ------------------------- | ---- | ------------------------------------- |
M
mayunteng_1 已提交
144
| speed    | number                    | 是    | 鼠标移动速度,范围1-11,默认为5。   |
M
mayunteng_1 已提交
145
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。 |
146 147 148 149

**示例**

```js
M
mayunteng_1 已提交
150
try {
M
mayunteng_1 已提交
151 152 153 154 155
  pointer.setPointerSpeed(5, (error) => {
    if (error) {
      console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
      return;
    }
M
mayunteng_1 已提交
156 157
    console.log(`Set pointer speed success`);
  });
M
mayunteng_1 已提交
158
} catch (error) {
M
mayunteng_1 已提交
159
  console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
160
}
161 162 163 164 165 166
```

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

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

M
mayunteng_1 已提交
167
设置鼠标移动速度,使用Promise异步方式返回结果。
168 169 170

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

M
mayunteng_1 已提交
171 172
**系统API**: 此接口为系统接口。

173 174
**参数**

M
mayunteng_1 已提交
175
| 参数名    | 类型     | 必填   | 说明                                  |
H
HelloCrease 已提交
176
| ----- | ------ | ---- | ----------------------------------- |
M
mayunteng_1 已提交
177
| speed | number | 是    | 鼠标移动速度,范围1-11,默认为5。 |
178 179 180

**返回值**

H
HelloCrease 已提交
181 182
| 参数                  | 说明               |
| ------------------- | ---------------- |
M
mayunteng_1 已提交
183
| Promise&lt;void&gt; | Promise对象。 |
184 185 186 187

**示例**

```js
M
mayunteng_1 已提交
188
try {
M
mayunteng_1 已提交
189
  pointer.setPointerSpeed(5).then(() => {
M
mayunteng_1 已提交
190 191
    console.log(`Set pointer speed success`);
  });
M
mayunteng_1 已提交
192 193
} catch (error) {
  console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
194
}
195 196 197 198 199 200
```

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

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

M
mayunteng_1 已提交
201
获取鼠标移动速度,使用AsyncCallback异步方式返回结果。
202 203 204

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

M
mayunteng_1 已提交
205 206
**系统API**: 此接口为系统接口。

207 208
**参数**

M
mayunteng_1 已提交
209
| 参数名       | 类型                          | 必填   | 说明             |
H
HelloCrease 已提交
210
| -------- | --------------------------- | ---- | -------------- |
M
mayunteng_1 已提交
211
| callback | AsyncCallback&lt;number&gt; | 是    | 回调函数,异步返回鼠标移动速度。 |
212 213 214 215

**示例**

```js
M
mayunteng_1 已提交
216
try {
M
mayunteng_1 已提交
217
  pointer.getPointerSpeed((error, speed) => {
M
mayunteng_1 已提交
218 219 220 221 222
    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)}`);
M
mayunteng_1 已提交
223
  });
M
mayunteng_1 已提交
224
} catch (error) {
M
mayunteng_1 已提交
225
  console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
226
}
227 228 229 230 231 232
```

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

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

M
mayunteng_1 已提交
233
获取当前鼠标移动速度,使用Promise异步方式返回结果。
234 235 236

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

M
mayunteng_1 已提交
237 238
**系统API**: 此接口为系统接口。

239 240
**返回值**

H
HelloCrease 已提交
241 242
| 参数                    | 说明                  |
| --------------------- | ------------------- |
M
mayunteng_1 已提交
243
| Promise&lt;number&gt; | Promise实例,异步返回鼠标移动速度。 |
244 245 246 247

**示例**

```js
M
mayunteng_1 已提交
248
try {
M
mayunteng_1 已提交
249 250
  pointer.getPointerSpeed().then(speed => {
    console.log(`Get pointer speed success, speed: ${JSON.stringify(speed)}`);
M
mayunteng_1 已提交
251
  });
M
mayunteng_1 已提交
252 253
} catch (error) {
  console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
254
}
255 256 257 258
```

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

259
getPointerStyle(windowId: number, callback: AsyncCallback&lt;PointerStyle&gt;): void
260

M
mayunteng_1 已提交
261
获取鼠标样式类型,使用AsyncCallback异步方式返回结果。
262 263 264 265 266

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

**参数**

M
mayunteng_1 已提交
267
| 参数名       | 类型                                       | 必填   | 说明             |
H
HelloCrease 已提交
268
| -------- | ---------------------------------------- | ---- | -------------- |
M
mayunteng_1 已提交
269 270
| windowId | number                                   | 是    | 窗口id。    |
| callback | AsyncCallback&lt;[PointerStyle](#pointerstyle9)&gt; | 是    | 回调函数,异步返回鼠标样式类型。 |
271 272 273 274

**示例**

```js
275
import window from '@ohos.window';
M
mayunteng_1 已提交
276 277 278 279

window.getTopWindow((error, win) => {
  win.getProperties((error, properties) => {
    var windowId = properties.id;
M
mayunteng_1 已提交
280 281 282 283 284
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
M
mayunteng_1 已提交
285 286
      pointer.getPointerStyle(windowId, (error, style) => {
        console.log(`Get pointer style success, style: ${JSON.stringify(style)}`);
M
mayunteng_1 已提交
287
      });
M
mayunteng_1 已提交
288 289
    } catch (error) {
      console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
290
    }
M
mayunteng_1 已提交
291
  });
292 293 294 295 296
});
```

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

297
getPointerStyle(windowId: number): Promise&lt;PointerStyle&gt;
298

M
mayunteng_1 已提交
299
获取鼠标样式类型,使用Promise异步方式返回结果。
300 301 302 303 304

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

**参数**

M
mayunteng_1 已提交
305
| 参数名     | 类型   | 必填 | 说明     |
M
mayunteng_1 已提交
306 307 308 309 310
| -------- | ------ | ---- | -------- |
| windowId | number | 是   | 窗口id。 |

**返回值**

H
HelloCrease 已提交
311 312
| 参数                                       | 说明                  |
| ---------------------------------------- | ------------------- |
M
mayunteng_1 已提交
313
| Promise&lt;[PointerStyle](#pointerstyle9)&gt; | Promise实例,异步返回鼠标样式类型。 |
314 315 316 317

**示例**

```js
318
import window from '@ohos.window';
M
mayunteng_1 已提交
319 320 321 322

window.getTopWindow((error, win) => {
  win.getProperties((error, properties) => {
    var windowId = properties.id;
M
mayunteng_1 已提交
323 324 325 326 327
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
M
mayunteng_1 已提交
328 329
      pointer.getPointerStyle(windowId).then((style) => {
        console.log(`Get pointer style success, style: ${JSON.stringify(style)}`);
M
mayunteng_1 已提交
330
      });
M
mayunteng_1 已提交
331 332
    } catch (error) {
      console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
333
    }
M
mayunteng_1 已提交
334
  });
335 336 337 338 339
});
```

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

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

M
mayunteng_1 已提交
342
设置鼠标样式类型,使用AsyncCallback异步方式返回结果。
343 344 345 346 347

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

**参数**

M
mayunteng_1 已提交
348
| 参数名           | 类型                             | 必填   | 说明                                  |
H
HelloCrease 已提交
349
| ------------ | ------------------------------ | ---- | ----------------------------------- |
M
mayunteng_1 已提交
350
| windowId     | number                         | 是    | 窗口id。                          |
H
HelloCrease 已提交
351
| pointerStyle | [PointerStyle](#pointerstyle9) | 是    | 鼠标样式id。                             |
M
mayunteng_1 已提交
352
| callback     | AsyncCallback&lt;void&gt;      | 是    | 回调函数。 |
353 354 355 356

**示例**

```js
357
import window from '@ohos.window';
M
mayunteng_1 已提交
358 359 360 361

window.getTopWindow((error, win) => {
  win.getProperties((error, properties) => {
    var windowId = properties.id;
M
mayunteng_1 已提交
362 363 364 365 366
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
M
mayunteng_1 已提交
367 368
      pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS, error => {
        console.log(`Set pointer style success`);
M
mayunteng_1 已提交
369
      });
M
mayunteng_1 已提交
370 371
    } catch (error) {
      console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
372
    }
M
mayunteng_1 已提交
373
  });
374 375 376 377
});
```
## pointer.setPointerStyle<sup>9+</sup>

378
setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise&lt;void&gt;
379

M
mayunteng_1 已提交
380
设置鼠标样式类型,使用Promise异步方式返回结果。
381 382 383 384 385

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

**参数**

M
mayunteng_1 已提交
386
| 参数名                  | 类型                             | 必填   | 说明               |
H
HelloCrease 已提交
387
| ------------------- | ------------------------------ | ---- | ---------------- |
M
mayunteng_1 已提交
388
| windowId            | number                         | 是    | 窗口id。       |
H
HelloCrease 已提交
389
| pointerStyle        | [PointerStyle](#pointerstyle9) | 是    | 鼠标样式id。          |
M
mayunteng_1 已提交
390
| Promise&lt;void&gt; | void                           | 是    | Promise对象。 |
391 392 393 394

**示例**

```js
395
import window from '@ohos.window';
M
mayunteng_1 已提交
396 397 398 399

window.getTopWindow((error, win) => {
  win.getProperties((error, properties) => {
    var windowId = properties.id;
M
mayunteng_1 已提交
400 401 402 403 404 405
    if (windowId < 0) {
      console.log(`Invalid windowId`);
      return;
    }
    try {
      pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS).then(() => {
M
mayunteng_1 已提交
406
        console.log(`Set pointer style success`);
M
mayunteng_1 已提交
407
      });
M
mayunteng_1 已提交
408 409
    } catch (error) {
      console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
M
mayunteng_1 已提交
410
    }
M
mayunteng_1 已提交
411
  });
412 413 414 415
});
```
## PointerStyle<sup>9+</sup>

M
mayunteng_1 已提交
416
鼠标样式类型。
417 418 419

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

H
HelloCrease 已提交
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
| 名称                               | 值    | 说明     |
| -------------------------------- | ---- | ------ |
| 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   | 向西南滚动  |
M
mayunteng_1 已提交
460
| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38   | 四向锥形移动 |