1# 鼠标光标控制 2 3控制鼠标光标的显示样式。 4 5> **说明:** 6> 7> 从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9 10## cursorControl 11 12### setCursor 13 14setCursor(value: PointerStyle): void 15 16**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 17 18方法语句中可使用的全局接口,调用此接口可以更改当前的鼠标光标样式。 19 20**参数:** 21 22| 名称 | 类型 | 必填 | 描述 | 23| ----- | ------ | ---- | ---- | 24| value | [PointerStyle](../../apis-input-kit/js-apis-pointer.md#pointerstyle) | 是 | 设置的鼠标样式。 | 25 26 27### restoreDefault 28 29restoreDefault(): void 30 31**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 32 33方法语句中可使用的全局接口,调用此接口可以将鼠标光标恢复成默认的箭头光标样式。 34 35 36## 示例 37 38该示例通过setCursor实现了鼠标更改当前光标样式。 39 40> **说明:** 41> 42> 直接使用cursorControl可能导致实例不明确的问题,建议使用[getUIContext](../js-apis-arkui-UIContext.md#uicontext)获取UIContext实例,并使用[getCursorController](../js-apis-arkui-UIContext.md#getcursorcontroller12)获取绑定实例的cursorControl。 43 44```ts 45// xxx.ets 46import { pointer } from '@kit.InputKit'; 47 48@Entry 49@Component 50struct CursorControlExample { 51 @State text: string = '' 52 controller: TextInputController = new TextInputController() 53 54 build() { 55 Column() { 56 Row().height(200).width(200).backgroundColor(Color.Green).position({x: 150 ,y:70}) 57 .onHover((flag) => { 58 if (flag) { 59 // 建议使用this.getUIContext().getCursorController().setCursor() 60 cursorControl.setCursor(pointer.PointerStyle.EAST) 61 } else { 62 // 建议使用this.getUIContext().getCursorController().restoreDefault() 63 cursorControl.restoreDefault() 64 } 65 }) 66 Row().height(200).width(200).backgroundColor(Color.Blue).position({x: 220 ,y:120}) 67 .onHover((flag) => { 68 if (flag) { 69 // 建议使用this.getUIContext().getCursorController().setCursor() 70 cursorControl.setCursor(pointer.PointerStyle.WEST) 71 } else { 72 // 建议使用this.getUIContext().getCursorController().restoreDefault() 73 cursorControl.restoreDefault() 74 } 75 }) 76 }.width('100%') 77 } 78} 79``` 80示意图: 81 82当鼠标悬浮在蓝色区域时,显示:向西箭头光标 83 84 85 86当鼠标悬浮在绿色区域时,显示:向东箭头光标 87 88