我正在查看已发布的here代码,特别是覆盖方法WndProc
中的SyntaxRichTextBox.cs。
这只是代码中的拼写错误吗?什么windows msg是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);
}
答案 0 :(得分:2)
首先,正如James McNellis在上面的评论中所建议的那样,0x00f和0x0f表示相同的数字。我没有检查WM_PAINT
消息的值,但代码看起来好像正在处理此消息。
看似简单的优化:如果m_bPaint
为false
,请跳过base.WndProc()
来电。可能m_bPaint
是一个标志,表示有些东西需要重新绘制。