2010-10-03 77 views
0

我有一個表單,我試圖重寫WndProc子例程。我正在使用GetDCEx來獲取我的表單的DC句柄。根據微軟有關使用GetDCEx的文檔,爲了使用GetDCEx,我的表單必須有CS_OWNDC或CS_PARENTDC標誌設置我的窗口類。根據Spy ++,我的窗口沒有這些類的屬性。我的問題是,我如何分配CS_OWNDC或使表單所有者可繪製,以便我可以在我的程序中使用GetDCEx?順便說一句,我正在使用C#。製作一個winform表單所有者可繪製

回答

2

我想你應該在你的代碼重寫CreateParams這樣的:

/// <summary> 
/// Overrides the control's class style parameters. 
/// </summary> 
protected override CreateParams CreateParams 
{ 
    get 
    { 
    Int32 CS_VREDRAW = 0x1; 
    Int32 CS_HREDRAW = 0x2; 
    Int32 CS_OWNDC = 0x20; 
    CreateParams cp = base.CreateParams; 
    cp.ClassStyle = cp.ClassStyle | CS_VREDRAW | CS_HREDRAW | CS_OWNDC | ...; 
    return cp; 
    } 
} 
相關問題