首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏sofu456

    windows窗口setparent、setowner

    learn.microsoft.com/zh-cn/windows/win32/winmsg/window-features overlapped 重叠窗口 popout 弹出窗口 child 子窗口 layered 分层窗口 setparent SetParent(hWnd, hParent) SetWindowLong(hWnd,GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) |WS_CHILD&~WS_POPUP

    55520编辑于 2023-11-09
  • taskqueue.setParent(executor) 释掉的时候 机制就是 JDK

    /// 结构的大小,以字节为单位,必须在调用 GlobalMemoryStatusEx 之前设置此成员,可以用 Init 方法提前处理

    17910编辑于 2024-08-22
  • 来自专栏walterlv - 吕毅的博客

    使用 SetParent 跨进程设置父子窗口时的一些问题(小心卡死)

    在微软的官方文档中,说 SetParent 可以在进程内设置,也可以跨进程设置。当使用跨进程设置窗口的父子关系时,你需要注意本文提到的一些问题,避免踩坑。 ---- 跨进程设置 SetParent 关于 SetParent 函数设置窗口父子关系的文档可以看这个: SetParent function (winuser.h) - Microsoft Docs 如果我没记错的话,SetParent 的文档曾经包含一个严厉的警告表明它不受支持,但现在这段备注似乎已经不存在了。我就遇到过一个客户跨进程设置窗口之间的父子关系,然后他们的应用程序间歇性不稳定。 只是这种担忧几乎说明跨进程设置 SetParent 存在一些坑。 那么本文就说说跨进程设置父子窗口的一些坑。 如何解决 对于 SetParent 造成的这些问题,实际上没有官方的解决方案,你需要针对你不同的业务采用不同的解决办法。

    2.3K20编辑于 2023-10-22
  • 来自专栏walterlv - 吕毅的博客

    WPF 同一窗口内的多线程多进程 UI(使用 SetParent 嵌入另一个窗口)

    WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口) 发布于 2018-07-11 13:35 阅读本文将收获一份 Win32 函数 SetParent 及相关函数的使用方法。 WPF 同一个窗口中跨线程访问 UI 有多种方法: 使用 VisualTarget (本文) 使用 SetParent 嵌入另一个窗口 前者使用的是 WPF 原生方式,做出来的跨线程 UI 可以和原来的 准备必要的 Win32 函数 完成基本功能所需的 Win32 函数是非常少的,只有 SetParent 和 MoveWindow。 在传统的 Win32 应用程序中,每一个控件都有自己的窗口句柄,它们之间通过 SetParent 进行连接;可以说一个 Button 就是一个窗口。

    5K10发布于 2018-09-18
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】自定义 Xml 生成器 BuilderSupport ( setParent 方法中设置父节点与子节点关系 )

    文章目录 一、setParent 方法中设置父节点与子节点关系 二、完整代码示例 1、MyBuilderSupport 生成器代码 2、使用 MyBuilderSupport 生成器创建 Xml 代码 一、setParent 方法中设置父节点与子节点关系 ---- 在自定义的 Xml 生成器 MyBuilderSupport 中的 setParent 方法是设置节点之间父子关系的方法 , 在调用了 (Object parent, Object child) { println "setParent parent : ${parent} , child : ${child}" 生成器的 setParent 方法中 , 输出 setParent parent : student , child : age , student 节点是父节点 , age 节点是子节点 ; 二、完整代码示例 parent : student , child : name age, null, 18 setParent parent : student , child : age

    1.2K20编辑于 2023-03-30
  • 来自专栏walterlv - 吕毅的博客

    使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点

    ---- “抢夺焦点” 下图中的上下两个部分是两个不同的窗口,他们之间通过 SetParent 建立了父子关系。

    1.8K60编辑于 2023-10-22
  • 来自专栏跟Qt君学编程

    看Qt源码理解半自动内存管理

    ❝继承于QObject并设置setParent即可获得半自动内存管理的能力。 0x02 简单原理   当继承于QObject的对象使用了setParent接口或构造时传入父类对象则会将当前指针加入到指针列表中,而父对象析构前,将会按加入顺序递归析构其子对象。 setParent(parent); /* 设置父对象 */ ... } setParent成员函数: void QObject::setParent(QObject *parent) { d->isWidget); d->setParent_helper(parent); } 我们继续跳转到setParent_helper实现(省略无关细节),我们可以看到它会将q指针存入到父类的 #define Q_Q(Class) Class * const q = q_func() void QObjectPrivate::setParent_helper(QObject *o) {

    1.5K20发布于 2020-05-25
  • 来自专栏爱编码

    红黑树

    = null) { getRoot().setRed(false); getRoot().setParent(null); = null) { getRoot().setRed(false); getRoot().setParent(null); } (parent); setParent(right, parent); } } private void rotateRight(RBTreeNode (left, parent); } } private void setParent(RBTreeNode<T> node, RBTreeNode<T> parent = null) { node.setParent(parent); if (parent == root) { node.setParent

    1.1K31发布于 2019-08-06
  • 来自专栏全栈程序员必看

    VB.NET章鱼哥出品—怎样解决MDI子窗口被父窗口中的控件覆盖的问题

    这里笔者在网上找到了API函数SetParent(),并对网上的错误进行了改动,并给出了简单实例代码。 大家一起进步 '声明SetParent函数。 这是一个API函数 Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As IntPtr, ByVal System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Form1是父窗口,Form2是子窗口 SetParent Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click SetParent

    1.2K20编辑于 2022-07-10
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】自定义 Xml 生成器 BuilderSupport ( nodeCompleted 方法获取节点闭合信息 )

    nodeCompleted 方法获取节点闭合信息 ---- 在之前的博客中 , 在 BuilderSupport#createNode 方法中创建了 Xml 节点 , 在 BuilderSupport#setParent parent 的节点 node : $node 的闭合操作" } 自定义的 Xml 生成器核心代码如下 : 首先 , 在 createNode 方法中创建 Node 节点 ; 然后 , 在 setParent @param parent Xml 中的父节点 * @param child Xml 中的父节点下的子节点 */ @Override protected void setParent (Object parent, Object child) { println "setParent 设置子节点 ${child} 的父节点是 ${parent}" } (Object parent, Object child) { println "setParent 设置子节点 ${child} 的父节点是 ${parent}" }

    69710编辑于 2023-03-30
  • JSP资料辅导(4--2)

    ---------------------------------------- +release():void +getParent():javax.servlet.jsp.tagext.Tag +setParent javax.servlet.jsp.PageContext):void Tag的生命周期 1,setPageContext(javax.servlet.jsp.PageContext):void 2,setParent (javax.servlet.jsp.tagext.Tag):void //设置此标签的父标签,也就是上一层标签 3,setParent() 4,doStartTag():int 5,setBodyContent void +getParent():JspTag +setJspBody(JspFragment jspBody):void +setJspContext(JspContext pc):void +setParent 2,setJspContext()、setParent(): 只有这个标签在另一个标签之,才调用setParent()方法; 3,设置属性:调用每个属性的setter方法; 4,setJspBody()

    17410编辑于 2025-10-14
  • 来自专栏Linux驱动

    7.QT-Qt对象间的父子关系

    Qt对象之间可以存在父子关系 继承于QObject类或者其子类的对象,都称为Qt对象 当指定Qt对象的父对象时 需要通过setParent()成员函数来设置对象间的父子关系 子对象将会把自己的指针地址保存在父对象的 children List链表里(因为父对象可以拥有多个子对象) 子对象内部会有一个指向其父对象的指针,可以通过parent()成员函数查看 代码试验 需要用到的函数: void QObject::setParent obj1 ="<<obj1; qDebug()<<"obj2 ="<<obj2; qDebug()<<"obj3 ="<<obj3; qDebug(); obj2-><em>setParent</em> (obj1); //设置obj1为obj2的父对象 obj3-><em>setParent</em>(obj1); //设置obj1为obj3的父对象 const QObjectList (obj1); obj3-><em>setParent</em>(obj1); obj4-><em>setParent</em>(obj3); delete obj3; } int main(int argc, char

    1.2K20发布于 2018-05-28
  • 来自专栏hightopo

    基于HT的CSG功能构建HTML5的3D书架

    340-i*120, 20); clipNode.setName('substract-'+i+'-'+j); clipNode.s('batch', 'tt'); clipNode.setParent leftNode.s3(23, 380, 100); leftNode.p3(-255, 200, 0); leftNode.setName('substract left'); leftNode.setParent back.color': 'white', 'left.color': 'white', 'all.color': 'gray' }); book.setHost(shelf); book.setParent 130); clipNode.p3(0, 180, 0); clipNode.setHost(shelf); clipNode.s('attach.cull', true); clipNode.setParent ; earth.s({ 'shape3d': 'sphere', 'shape3d.image': 'earth' }); earth.setHost(shelf);   earth.setParent

    1.3K20发布于 2018-07-09
  • 来自专栏csxiaoyao

    红黑树算法的Java实现

    public RedBlackTreeNode getParent() { return parent; } //设置父结点 public void setParent 查找右子树 x = x.getRight(); } } //临时结点y设置为插入点的父结点 z.setParent = y.getRight(); //若y为z的右孩子,直接相连 if( y.getParent() == z ){ x.setParent (x); //x父结点 -> y父结点 y.setParent(x.getParent()); //y -> x父结点左/右子树或根结点 (y); //y父结点 -> x父结点 x.setParent(y.getParent()); //x -> y父结点左/右子树或根结点

    1.6K11发布于 2019-02-18
  • 来自专栏EalenXie的个人专栏

    解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph

    this.name = name; } public Area getParent() { return parent; } public void setParent 广州市(二级区域) Area guangzhou = new Area(); guangzhou.setName("广州市"); guangzhou.setParent //广州市 下面的 天河区(三级区域) Area tianhe = new Area(); tianhe.setName("天河区"); tianhe.setParent 湛江市(二级区域) Area zhanjiang = new Area(); zhanjiang.setName("湛江市"); zhanjiang.setParent 湛江市 下面的 霞山区(三级区域) Area xiashan = new Area(); xiashan.setName("霞山区"); xiashan.setParent

    3.4K30发布于 2020-09-21
  • 来自专栏HT

    基于HT的CSG功能构建HTML5的3D书架

    clipNode.setName('substract-'+i+'-'+j); clipNode.s('batch', 'tt'); clipNode.setParent (23, 380, 100); leftNode.p3(-255, 200, 0); leftNode.setName('substract left'); leftNode.setParent , 380, 100); rightNode.p3(255, 200, 0); rightNode.setName('substract right'); rightNode.setParent 140, 140); bottomNode.p3(0, 80, 0); bottomNode.setName('substract bottom'); bottomNode.setParent 400, 0); topNode.setName('union top'); topNode.s('attach.operation', 'union'); topNode.setParent

    1.8K50发布于 2018-01-03
  • 来自专栏向治洪

    红黑树深入剖析及Java实现

    =null){ getRoot().setRed(false); getRoot().setParent(null); } } (left.getRight(),node); left.setRight(node); setParent(node,left); if(parent ==null){ root.setLeft(left); setParent(left,null); }else{ (left,parent); } } private void setParent(RBTreeNode<T> node,RBTreeNode<T> parent){ =null){ node.setParent(parent); if(parent==root){ node.setParent

    1.2K60发布于 2018-02-06
  • 来自专栏Windows开发

    点击任务栏图标窗口未展示在前面

    这个窗口实现上很可能有问题,走读该窗口相关代码,发现该窗口创建时指定WS_POPUP,然后使用SetParent() API设置它为子窗口。 为什么SetParent() API没有将WS_POPUP改成WS_CHILD呢? 仔细阅读MSDN关于SetParent() API的介绍,里面明确提到为了兼容考虑,SetParent() API不会将WS_POPUP改成WS_CHILD,调用方需要自行修改。

    2.6K00发布于 2019-12-26
  • 来自专栏码出名企路

    Qt入门系列(五)

    setGeometry(0,0,pix.width(),pix.height()); label->setPixmap(pix); label->setParent setGeometry(0,0,pix.width(),pix.height()); label->setPixmap(pix); label->setParent setGeometry(0,0,pix.width(),pix.height()); label->setPixmap(pix); label->setParent Coin0008.png"; } MyCoin *coin=new MyCoin(str); coin->setParent Coin0008.png"; } MyCoin *coin=new MyCoin(str); coin->setParent

    1.1K10编辑于 2022-06-16
  • 来自专栏星河造梦坊专栏

    Unity MVC丨(四)View:创建UI窗体的存放物体、UIRoot管理类

    = transform.Find("noticestation"); } isInit = true; } public static void SetParent ; if (isOpen) { if (isTipsWindow) { window.SetParent (noticestation, false); } else { window.SetParent (workstation, false); } } else { window.SetParent(recyclePool

    38610编辑于 2024-08-15
领券