Edit控件

1.主窗口的创建过程:
N个WM_ERASEBKGND ->WM_PAINT

2.非客户区的绘图应画在WM_NCPAINT中,不然运行后第一次显示不出来

3.CWnd::RedrawWindow默认会导致背景重绘,该函数可产生WM_ERASEBKGND/WM_PAINT/WM_NCPAINT

OnPaint()中:
如果不选用NULL_BRUSH(用默认或其他画刷)时,则EDIT被填上默认的白色,不管WM_ERASEBKGND有没有,或即便正确处理了,
如果编辑框中有字符,重绘时,重绘的部分被重新填上白色。

用NULL_BRUSH时,编辑框被填上窗口的背景图片,必须结合使用WM_ERASEBKGND,对响应区域填充白色背景。


EDIT填充透明背景时,必须是用PatterBrush,如果用NULL_BRUSH 会闪烁

你可能感兴趣的:(Edit控件)