文档手册

创建子窗口

2024-05-14 09:24:04

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

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()                                 // 创建浏览器
}