BrowserWindow 模块是 Electron 中用于创建和管理应用程序窗口的主要模块。通过 BrowserWindow,你可以创建各种类型的窗口,包括主窗口、子窗口、模态对话框等,并对窗口的行为和外观进行配置。

以下是一些 BrowserWindow 模块的常用功能和配置:

1. 创建主窗口:
   const { app, BrowserWindow } = require('electron');

   let mainWindow;

   app.whenReady().then(() => {
     mainWindow = new BrowserWindow({
       width: 800,
       height: 600,
       webPreferences: {
         nodeIntegration: true
       }
     });

     mainWindow.loadFile('index.html');
   });

2. 窗口事件:
   mainWindow.on('closed', () => {
     mainWindow = null;
   });

   mainWindow.on('focus', () => {
     console.log('Main window focused');
   });

3. 加载本地或远程页面:
   // 加载本地 HTML 文件
   mainWindow.loadFile('index.html');

   // 或加载远程 URL
   mainWindow.loadURL('https://example.com');

4. 窗口大小和位置:
   mainWindow.setSize(1024, 768);
   mainWindow.setPosition(100, 50);

5. 窗口显示和隐藏:
   mainWindow.show();
   mainWindow.hide();

6. 窗口最大化、最小化和恢复:
   mainWindow.maximize();
   mainWindow.minimize();
   mainWindow.restore();

7. 窗口状态:
   console.log(mainWindow.isMaximized());  // 判断窗口是否最大化
   console.log(mainWindow.isMinimized());  // 判断窗口是否最小化

8. 关闭窗口:
   mainWindow.close();

9. 弹出对话框:
   const { dialog } = require('electron');

   dialog.showMessageBox(mainWindow, {
     type: 'info',
     message: 'This is an information dialog.',
     buttons: ['OK']
   });

10. 模态窗口:
    const modalWindow = new BrowserWindow({
      parent: mainWindow,
      modal: true,
      show: false
    });

    modalWindow.loadFile('modal.html');
    modalWindow.show();

这只是 BrowserWindow 模块的一小部分功能和配置。通过 BrowserWindow,你可以对窗口进行更多的定制,例如设置菜单、处理 IPC 通信、使用 WebContents 进行更底层的操作等。详细的信息可以在 Electron 官方文档的 [BrowserWindow 部分](https://www.electronjs.org/docs/api/browser-window) 找到。


转载请注明出处:http://www.pingtaimeng.com/article/detail/10917/Electron