qq_33411348
Clouthber
2020-10-14 19:07

求教为什么electron的isMaximized()值一直是false?

萌新最近在试图学习react和electron,想实现双击App组件时窗口在最大化和
正常大小之间切换,并在渲染进程中给出反馈;已经在渲染进程中绑定了双击事
件并向主进程发送信息

//这是新建窗口的属性
let win = new BrowserWindow({
        show: false,
        width: 1320,
        height: 720,
        frame: false,
        resizable: false,
        transparent: true,
        hasShadow: true,
        webPreferences: {
            preload: path.join(__dirname, 'preload.js'),
            nodeIntegration: true,
            webSecurity: true,
            webviewTag: true
        },
    })
//渲染进程内的
class App extends React.Component {

    winSizeChange(){
        ipcRenderer.send('change-size');
    }

    render() {
        return (
          <AppBase className="App" onDoubleClick={() => this.winSizeChange()}>
            <header className="App-header">
              <img src={logo} className="App-logo" alt="logo" />
              <InputComponent />
            </header>
          </AppBase>
        );
    }
}

主进程接收信息后判断是否是最大化,做出相应动作并向渲染进程发送信息

//主进程内的
ipcMain.on('change-size', function() {
        win.isMaximized() ?  win.setFullscreen(true) : win.maximize();
        win.webContents.send('isMax',win.isMaximized())
    })
//渲染进程内的接收函数
ipcRenderer.on('isMax',(event,arg) => {
        console.log(arg)
    });

但是一开始窗口点击会最大化一次然后打印出来false,之后一直都是false
再也不会变回去,不知道是为什么。。。
大佬们帮忙看看啊_(:з」∠)_,感激不尽

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

相关推荐