请问MFC图像控件的内容改变时,会自动发送WM_PAINT消息吗?
请问MFC图像控件的内容改变时,会自动发送WM_PAINT消息吗?就说如果控件中显示的是image,如果在程序其他地方改变了image,会自动发送WM_PAINT消息吗?...
请问MFC图像控件的内容改变时,会自动发送WM_PAINT消息吗?就说如果控件中显示的是image,如果在程序其他地方改变了image,会自动发送WM_PAINT消息吗?还是要我自己调用UpdateWindow才能会行?
展开
2个回答
展开全部
必须发送UpdateWindow才能立即更新,你只是改变了控件里的图片变量,控件本身并不知道是否需要立即更新窗口,所以你需要通知其进行重绘。
追问
因为我有一个循环在接收消息,进行重绘。如果改变了系统就发送消息的话,就不用调用UpdateWindow函数吧。我的问题是在改变控件中的变量时,会不会发送WM_PAINT呢?求解~~我查到的是在改变窗口时,比如最大化最小化等。不知道改变这个变量算不算改变窗口啊?
追答
会引发窗口重绘的消息:WM_PAINT、WM_ERASEBKGND、WM_NCPAINT、WM_SIZE、WM_MOVE、WM_ACTIVE和WM_NCACTIVE。
你改变变量不会发送消息,除非调用InvalidateRect、Invalidate、UpdateWindow或RedrawWindow
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询