electron 如何用电子方式改变操作系统光标

eqoofvh9  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(201)

是否可以使用Electronjs更改操作系统光标?
例如,当我使用startDrag时,macOS中的光标拖动与html相同;我希望将光标更改为自定义光标。

qmb5sa22

qmb5sa221#

提供图标

如果您正在讨论主线程中传入IPC消息上存在的event.sender.startDrag方法,则可以为该方法的参数提供一个icon属性,如下所示:

event.sender.startDrag({
  file: absPathToFileBeingDragged,
  icon: DROP_ICON_PATH
})

请注意,有关startDrag的电子文档说,MacOS * 要求 * 您提供一个图标。文档还说,icon可以是一个图像的路径或NativeImage的示例(我认为这意味着您可以在RAM中生成一个位图,并传递其句柄,而不必先将该位图写入磁盘)。
在上下文中,这可能类似于:

const DROP_ICON_PATH = Path.join(__dirname, 'custom-drag-out-icon.png')

ipcMain.on('drag-file-out-of-app', ( event, ...dataFromCaller ) => {
  // ...do some work to locate or create the file the user will be dragging
  
  event.sender.startDrag({
    file: absPathOfFileToBeDragged,
    icon: DROP_ICON_PATH
  })
})

为了清楚起见,上面的代码在this page上的教程中进行了轻微修改。

相关问题