2009-12-02 87 views
0

我需要为本机应用程序(Visual Studio)提供Windows窗体控件。
所以我创建一个控件并提供它的句柄。在本机窗口中托管Windows窗体控件,窗口class =“Static”

然后,当我使用Spy ++检查本机窗口时,发现我的控件被包含在窗口类=“Static”和标题“This is a static!”的附加'控件'中。我有几个问题是:

  1. 由托管窗口发送到我的控制调整大小事件都被重新发送到“静”,所以它也被调整(否则我的控制得到部分隐藏静态的尺寸范围内)。
  2. 静态没有WS_EX_CONTROLPARENT,这会导致出现KB149501(简而言之,整个应用程序挂起失去焦点)。
  3. 如果我申请WS_EX_CONTROLPARENT,静态内的列表框会停止重绘。

我想我一直在做错事,但我不知道是什么。谷歌没有帮助,因为静态也是一个C#关键字,所以它经常发生在WinForms结果中。

回答

0

我主要使用DoubleBuffered = True解决了重画问题,所以可能就是这样。
我仍然认为我做错了什么,但至少现在有效。