首页 > 其他分享 >GDI-InvalidateRect使客户区矩形区域的图形变得无效

GDI-InvalidateRect使客户区矩形区域的图形变得无效

时间:2023-05-13 20:33:09浏览次数:37  
标签:窗口 无效 区域 GDI 矩形 WM InvalidateRect

 

    RECT rect;
    ::GetClientRect(m_hWnd, &rect);//获取窗口客户区的坐标
    BOOL b=::InvalidateRect(m_hWnd,&rect,TRUE);  //使客户区矩形区域的图形变得无效
    /*
    使原来画的图像无效
    参数1:HWND hWnd   窗口句柄
            如果为NULL,则系统将在函数返回前重新绘制所有的窗口, 然后发送 WM_ERASEBKGND 和 WM_PAINT 给窗口过程处理函数
    参数2:CONST RECT *lpRect  无效区域的矩形指针
            如果为NULL,全部的窗口客户区域将被增加到更新区域中
    参数3:BOOL bErase  指出无效矩形被标记为有效后,是否重画该区域,重画时用预先定义好的画刷。当指定TRUE时需要重画
    返回值:函数成功则返回非零值,否则返回零值。
    说明:被标记为无效矩形的区域直到WM_PAINT消息被处理完之后才会消失,或者使用ValidateRect(),ValidateRgn()函数来使之有效。
    InvalidateRect发送WM_PAINT的形式是一种POST形式(即发送到程序消息队列),而不是像SendMessage一样直接让操作系统带着消息,调用WndProc
    可以在后面接着使用UpdateWindow()直接绕过程序消息队列直接发送消息到WndProc函数,来重绘窗口

    */

 

 

 

 

 

标签:窗口,无效,区域,GDI,矩形,WM,InvalidateRect
From: https://www.cnblogs.com/liming19680104/p/17398138.html

相关文章

  • js计算一个矩形内部,有一个等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形
    最近在做jscanvas绘图需求时,遇到一个矩形图形重叠逻辑判断问题。一个任意矩形内部,有一个任意等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形?宽和高那个先贴到边上?可以根据两个矩形的比例关系来判断宽和高那个先溢出。首先计算出两个矩形的宽高比,然后比较它们的大小关系。......
  • Gdiplus::Graphics::DrawString绘制文字
     Gdiplus::FontFamilyfontfm(_T("微软雅黑"));Gdiplus::Fontfont(&fontfm,24,Gdiplus::FontStyleBold,Gdiplus::UnitPixel);/*参数1:FontFamilyfamily字体,如我们常见的“宋体”、“仿宋”、“微软雅黑”、“Arial”等参数2:floatemSize......
  • 实现一个面积计算器,它能够计算矩形或长方体的面积。
    设计思路:可以设计两个函数,分别用于计算形或体的面积代码:#include<iostream>#include<string>usingnamespacestd;intarea(int,int);intarea(int,int,int);intmain(){inti,repeat,c,x,y,z;cin>>repeat;for(i=0;i<repeat;i++){cin>>c;......
  • Linux基础19 Gdisk, 挂载命令mount与配置文件, fstab文件的详细信息, Swap介绍与案例,
    gdiskgdisk分区,分区表是GPT,支持更大的容量分区。128个。#需要安装[root@oldboy~]#yuminstall-ygdisk 1.添加硬盘,3TB在vmware里面添加2.查看是否能识别出来。[root@oldboy~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0050G0disk......
  • HammingDistance
    汉明距离implementation'org.apache.commons:commons-text:1.10.0'Thehammingdistancebetweentwostringsofequallengthisthenumberofpositionsatwhichthecorrespondingsymbolsaredifferent.ForfurtherexplanationabouttheHammingDistan......
  • MFC-GDI+
           ......
  • Qt音视频开发43-采集屏幕桌面并推流(支持分辨率/矩形区域/帧率等设置/实时性极高)
    一、前言采集电脑屏幕桌面并推流一般是用来做共享桌面、远程协助、投屏之类的应用,最简单入门的做法可能会采用开个定时器或者线程抓图,将整个屏幕截图下来,然后将图片传出去,这种方式很简单但是性能要低不少,一般采用ffmpeg来做桌面推流的居多,毕竟如果不采用代码直接ffmpeg一行命令即......
  • Halcon轮廓的分割,合并及圆&矩形&线拟合
    变换平滑轮廓:smooth_contours算子:smooth_contours_xld(Contours : SmoothedContours : NumRegrPoints :)示例:smooth_contours_xld(Border,SmoothedContours,11)Border(输入对象):输入轮廓对象SmoothedContours(输出对象):输出平滑后的轮廓11(输入控制参数):数值越大越平滑......
  • Halcon轮廓的分割,合并及圆&矩形&线拟合
    变换 平滑轮廓:smooth_contours算子:smooth_contours_xld(Contours : SmoothedContours : NumRegrPoints :)示例:smooth_contours_xld(Border,SmoothedContours,11)Border(输入对象):输入轮廓对象SmoothedContours(输出对象):输出平滑后的轮廓11(输入控制参数):数值越大越平滑形状变换......
  • day 60 84. 柱状图中最大的矩形
    给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。  classSolution{publicintlargestRectangleArea(int[]heights){if(heights==null||heights.length==0){......