当前位置:C++技术网 > 资讯 > win32编程WM_PAINT消息

win32编程WM_PAINT消息

更新时间:2018-03-12 10:24:47浏览次数:1+次

WM_PAINT消息是在窗口重绘之前发出还是重绘之后发出?WM_PAINT消息里是要自己实现重绘的代码吗?

C++技术网会员解答:

    您好,WM_PAINT消息既不是窗口重绘之前发出也不是重绘之后发出的。收到此消息,就是要重绘的意思。你实现自己的重绘代码,就在这个消息里执行就行了。

    如果你不自己实现重绘代码,那么系统会有默认的处理办法,也就是你什么也不写看到的窗口的界面,即白色的背景,啥也没有。

    你重绘时,可以显示文字,用DrawText或TextOut。修改文字颜色用SetTextColor函数,默认是黑色。修改文字背景颜色用SetBkColor函数,默认是白色。修改文字背景透明与否,使用SetBkMode,默认是不透明,即有白色背景,只是与大背景白色融为一体,看不出来而已。如果把窗口背景颜色修改为其他颜色,就可以看到文字一行看到白色的背景。SetBkMode可以将文字背景设置为TRANSPARANT,这样背景就不会有白色了,不管窗口背景如何,文字都是没有文字背景的了。

    你同样可以用绘图函数,比如画线画圆等,这些需要使用GDI绘图函数。

    你还可以设置字体字号等,不过会稍微麻烦一点,不过只要你看了书,基本都是没有问题的。