代码之家  ›  专栏  ›  技术社区  ›  Andrey Shchekin

在本机窗口中承载Windows窗体控件,window class=“static”

  •  0
  • Andrey Shchekin  · 技术社区  · 15 年前

    我需要为本机应用程序(Visual Studio)提供Windows窗体控件。
    所以我创建一个控件并提供它的句柄。

    然后,当我使用spy++检查本机窗口时,我看到我的控件被包装在附加的“control”中,其中window class=“static”和title“this is a static!”.我有几个问题:

    1. 通过宿主窗口发送到控件的调整大小事件必须重新发送到“static”,以便它也可以调整大小(否则,我的控件在static的大小内部分隐藏)。
    2. 静态没有 WS_EX_CONTROLPARENT 引起 KB149501 显示(简而言之,整个应用程序挂起时失去焦点)。
    3. 如果我申请 WS-Ex-Control父级 ,静态中的列表框停止重新绘制。

    我想我做错了什么,但我不确定是什么。谷歌没有帮助,因为static也是一个c关键字,所以它经常出现在winforms结果中。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Andrey Shchekin    15 年前

    我主要是用doubleBuffered=true解决了重绘问题,所以可能就是这样。
    我仍然认为我做错了什么,但至少现在它起作用了。

    推荐文章