2009-12-02 84 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解決了重畫問題,所以可能就是這樣。
我仍然認爲我做錯了什麼,但至少現在有效。