1

我正在查看此处发布的代码,特别是覆盖方法中的 SyntaxRichTextBox.cs WndProc

这只是代码中的错字吗?什么是 Windows 味精0x00f?他们的意思是0x0f为了WM_PAINT?捕获该消息的代码的作者是什么?

代码:

protected override void WndProc(ref System.Windows.Forms.Message m)
{
    if (m.Msg == 0x00f)
    {
        if (m_bPaint)
            base.WndProc(ref m);
        else
            m.Result = IntPtr.Zero;
    }
    else
        base.WndProc(ref m);
}
4

1 回答 1

2

首先,正如 James McNellis 在上面的评论中所建议的那样,0x00f 和 0x0f 表示相同的数字。我没有检查WM_PAINT消息的值,但代码看起来正在处理此消息。

它看起来像一个简单的优化:如果m_bPaintfalse,跳过base.WndProc()调用。可能m_bPaint是一个标志,表明有一些东西需要重新绘制。

于 2012-08-14T18:37:01.107 回答