• 创建子窗口
  • 比如这样,左侧是控制区页面,右侧是一个浏览器窗口:

    6caa284d-d0a9-41ff-b42a-400fddb9368e


    func browserInit(event *cef.BrowserEvent, window cef.IBrowserWindow) {
    
       fmt.Println("初始化函数")
    
       //主窗体
       bw := window.AsLCLBrowserWindow().BrowserWindow()
    
       var querkWidth int32 = 400 //夸克的宽度
    
       //创建主窗口panel
       pnlMain := lcl.NewPanel(bw)
       pnlMain.SetParent(bw)
       pnlMain.SetLeft(0)
       // 设置窗口下面的panel位置和宽高,要把上面panel高算上
       pnlMain.SetTop(0)
       pnlMain.SetHeight(bw.Height())
       pnlMain.SetWidth(bw.Width() - querkWidth)
       // 使panel自动根据窗口调整大小
       pnlMain.SetAnchors(types.NewSet(types.AkTop, types.AkRight, types.AkBottom, types.AkLeft))
    
       bw.WindowParent().SetParent(pnlMain) //把自己设置成pnlMain的子窗体
    
       //创建浏览器panel
       pnlQuark := lcl.NewPanel(bw)
       pnlQuark.SetParent(bw)
       pnlQuark.SetLeft(bw.Width() - querkWidth)
       // 设置窗口下面的panel位置和宽高,要把上面panel高算上
       pnlQuark.SetTop(0)
       pnlQuark.SetHeight(bw.Height())
       pnlQuark.SetWidth(querkWidth)
       // 使panel自动根据窗口调整大小
       pnlQuark.SetAnchors(types.NewSet(types.AkTop, types.AkRight, types.AkBottom))
    
       //创建浏览器
       newllq := cef.NewChromiumBrowser(pnlQuark, nil)        //创建浏览器窗口
       newllq.WindowParent().SetAlign(types.AlClient)         //全屏
       newllq.Chromium().SetDefaultURL("https://m.quark.cn/") // 设置加载的页面地址
       newllq.CreateBrowser()                                 // 创建浏览器
    }