当前位置: 首页 > news >正文

门业网站模板下载百度号码认证

门业网站模板下载,百度号码认证,宁波建站服务,东莞人才市场招聘会MacOS 上实现 AWTK-WIDGET-WEB-VIEW 有点麻烦#xff0c;主要原因是没有一个简单的办法将一个 WebView 嵌入到一个窗口中。所以#xff0c;我们只能通过创建一个独立的窗口来实现。 1. 创建窗口 我对 Object-C 不熟悉#xff0c;也不熟悉 Cocoa 框架#xff0c;在 ChatGPT…MacOS 上实现 AWTK-WIDGET-WEB-VIEW 有点麻烦主要原因是没有一个简单的办法将一个 WebView 嵌入到一个窗口中。所以我们只能通过创建一个独立的窗口来实现。 1. 创建窗口 我对 Object-C 不熟悉也不熟悉 Cocoa 框架在 ChatGPT 的帮助下实现了一个简单的窗口创建函数。这个函数接受一个 SDL_Window 指针作为父窗口然后创建一个新的窗口将其设置为父窗口的子窗口。这样新窗口就会在父窗口的上方显示。 在移动窗口时子窗口也会跟着移动但是有些延迟。 webview_os_window_t webview_os_window_create(SDL_Window* parent, int x, int y, int w, int h) {SDL_SysWMinfo info;SDL_VERSION(info.version);SDL_GetWindowWMInfo(parent, info);NSRect frame NSMakeRect(x, y, w, h);NSWindow *parentWindow (NSWindow *)info.info.cocoa.window;NSWindow* childWindow [[NSWindow alloc] initWithContentRect:framestyleMask:NSWindowStyleMaskBorderless // 无边框样式backing:NSBackingStoreBuffereddefer:NO];// 设置窗口级别以确保它在父窗口上方[childWindow setLevel:NSFloatingWindowLevel]; // 使子窗口浮动在父窗口之上// 设置子窗口的初始位置相对于父窗口NSRect parentFrame [parentWindow frame];CGFloat childX NSMinX(parentFrame) x;CGFloat childY NSMaxY(parentFrame) - y - NSHeight(frame); // 倒置 y 轴以适应窗口坐标系统[childWindow setParentWindow:parentWindow]; // 设置父窗口// 设置子窗口的位置[childWindow setFrame:NSMakeRect(childX, childY, w, h) display:YES];// 使子窗口成为关键窗口并显示[childWindow makeKeyAndOrderFront:nil];// 观察父窗口的移动和大小变化[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidMoveNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {NSRect newParentFrame [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) x, NSMaxY(newParentFrame) - y - NSHeight(frame))];}];[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResizeNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {NSRect newParentFrame [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) x, NSMaxY(newParentFrame) - y - NSHeight(frame))];}];// 观察父窗口切换到后面时自动切换到后面[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidResignKeyNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {[childWindow orderOut:nil];}];[[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidBecomeKeyNotificationobject:parentWindowqueue:nilusingBlock:^(NSNotification *note) {[childWindow makeKeyAndOrderFront:nil];}];return (__bridge void*)childWindow; // 使用 __bridge 传递所有权 }2. 调整窗口大小 奇怪的是从 subwindow 获取父窗口的方法不起作用所以通过传递父窗口的指针来调整子窗口的大小。 void webview_os_window_move_resize(SDL_Window* parent, webview_os_window_t subwindow, int x, int y, int w, int h) {SDL_SysWMinfo info;SDL_VERSION(info.version);SDL_GetWindowWMInfo(parent, info);NSWindow *childWindow (__bridge NSWindow*)subwindow;NSWindow *parentWindow info.info.cocoa.window;NSRect frame NSMakeRect(x, y, w, h);[childWindow setFrame:frame display:YES];NSRect newParentFrame [parentWindow frame];[childWindow setFrameOrigin:NSMakePoint(NSMinX(newParentFrame) x, NSMaxY(newParentFrame) - y - NSHeight(frame))]; }3. 销毁窗口 销毁窗口时需要将子窗口从父窗口中移除。 void webview_os_window_destroy(webview_os_window_t subwindow) {NSWindow *childWindow (__bridge NSWindow*)subwindow;[[NSNotificationCenter defaultCenter] removeObserver:childWindow];[childWindow close]; }
http://www.hkea.cn/news/14590974/

相关文章:

  • 湛洪波.jsp网站开发详解两学一做网站登录
  • 乐云seo可视化网站建设怎么制作ppt幻灯片
  • 南宁网站建设地方网页设计自我介绍模板代码
  • 手机建立网站多少钱做建站较好的网站
  • wordpress外贸主题制作莱州网站建设关键字排名优化网络托管微信代运营
  • 免费网站建设排行表洒长春菩网站建设
  • 企业网站设计流程海南网站建设介绍
  • 网站建设求职简历模板网站推广有用吗?
  • 网站建设的项目方案模板网络事件营销案例
  • 传媒公司做网站编辑 如何设计坞官网首页
  • 商城的网站统计如何做重庆制作网站公司哪家好
  • 岳阳建设公司网站门户网站建设工作室
  • 高端网站建设内容泰安网页设计公司
  • 昆明睿腾科技网站建设swf影视网站源码
  • 做磁力搜索网站违法吗青岛网站建站团队
  • 淘宝做女鞋在哪个网站找货上海嘉定建设局网站
  • 凡科网站内容怎么做效果好网上推广的平台有哪些
  • 向祖国建设者致敬网站在线网站建设工程标准
  • 六安企业网站seo多少钱做的好的区块链网站
  • 网站设计 广州太原广告设计公司
  • 网站开发模板如何给网站配色
  • 做网站目录12306网站的建设历程
  • 网站收缩目录模板做公司的网站有哪些东西
  • 苏州专业网站建设公司网站集约化建设会议
  • 秦淮html5响应式网站企业移动端建设与网站建设
  • 如何优化企业网站平台网站很难做
  • 网站开发培训太原网站设计前期沟通单
  • 佛山网站建设 乐云践新专家酒泉网站怎么做seo
  • 简洁的企业网站手机网站建设流程
  • 如何 建公司网站wordpress侧栏小工具栏