我有一个试图覆盖 WndProc 子例程的表单。我正在使用 GetDCEx 来获取我的表单的 DC 句柄。根据 Microsoft 关于使用 GetDCEx 的文档,我的窗体必须有 CS_OWNDC 或 CS_PARENTDC 标志设置我的窗口类才能使用 GetDCEx。根据 Spy++,我的窗口没有这些类属性。我的问题是,如何分配 CS_OWNDC 或使表单所有者可绘制,以便我可以在我的程序中使用 GetDCEx?顺便说一句,我正在使用 C#。
问问题
985 次
1 回答
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;
}
}
于 2011-08-17T14:40:59.817 回答