MFC中InvalidateRect函数的用法是什么

MFC
1249
2024/1/3 9:17:25
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

InvalidateRect函数是MFC中用来使窗口区域无效,强制系统重绘的函数。其用法如下:
1. 在窗口类中声明InvalidateRect函数:

afx_msg void OnPaint();

2. 在窗口类的消息映射中添加OnPaint函数的处理:

BEGIN_MESSAGE_MAP(CMyWnd, CWnd)

????//…

????ON_WM_PAINT() END_MESSAGE_MAP()

3. 实现OnPaint函数,在其中进行绘图操作:

void?CMyWnd::OnPaint()
{

????CPaintDC?dc(this);?//?设备上下文

????//?绘图操作

????//?… }

4. 在需要使窗口区域无效的地方调用InvalidateRect函数:

InvalidateRect(&rect);

其中,rect为需要无效化的矩形区域。
当调用InvalidateRect函数后,系统会发送WM_PAINT消息给窗口类的窗口过程函数,从而触发OnPaint函数的调用,进而进行重绘操作。
需要注意的是,InvalidateRect函数只是将窗口区域标记为无效,并不会立即进行重绘操作,而是在系统空闲时进行重绘。如果需要立即重绘,则可以调用UpdateWindow函数。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mfc怎么跨进程调用数据