首页 > 其他分享 >MFC-IntersectRect获得两个矩形的交集部分

MFC-IntersectRect获得两个矩形的交集部分

时间:2023-04-16 09:02:05浏览次数:35  
标签:LPCRECT MFC IntersectRect 交集 hdc 矩形 RECT hbr

 

    HDC hdc = ::GetDC(m_hWnd);
    RECT rect = { 10,10,100,100 };
    RECT rect1 = {50,50,150,150};
    RECT rect2;
    HBRUSH hbr;
    hbr = CreateSolidBrush(RGB(0, 0, 255));
    SelectObject(hdc, hbr);

    int f = FrameRect(hdc, &rect, hbr);
    f = FrameRect(hdc, &rect1, hbr);

    BOOL b= IntersectRect(&rect2,&rect1,&rect); //指向两个源矩形相交的矩形
    /*
    参数1:LPCRECT lprcDst  指向两个源矩形相交的矩形
    参数2:LPCRECT lpRect1  源矩形
    参数3:LPCRECT lpRect2   源矩形
    返回值:如果交不为空,则返回非零值;否则,如果交为空则返回0
    */

    Sleep(2000);
    hbr = CreateSolidBrush(RGB(255, 0, 0));
    SelectObject(hdc, hbr);
    f = FrameRect(hdc, &rect2, hbr);

    DeleteObject(hbr);
    ::ReleaseDC(m_hWnd, hdc);

 

 

 

 

 

标签:LPCRECT,MFC,IntersectRect,交集,hdc,矩形,RECT,hbr
From: https://www.cnblogs.com/liming19680104/p/17322496.html

相关文章

  • MFC-UnionRect获得两个矩形的并集部分
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};RECTrect1={50,50,150,150};RECTrect2;HBRUSHhbr;hbr=CreateSolidBrush(RGB(0,0,255));SelectObject(hdc,hbr);intf=FrameRect(hdc,&rect,hbr)......
  • MFC-IsRectEmpty判断一个矩形是否为空矩形
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};BOOLb=IsRectEmpty(&rect);//返回值:如果矩形为空,则返回值为非零。如果矩形不为空,则返回值为零CStringstr;str.Format(_T("b=%d"),b);::OutputDebugString(str);  ......
  • MFC-SetRectEmpty将矩形各个坐标设置为0
     RECTrect={10,10,50,100};BOOLb=SetRectEmpty(&rect);//将矩形各个坐标设置为0/*参数1:LPRECTlprc指向RECT结构的指针返回值:如果该函数成功,则返回值为非零值。如果函数失败,则返回值为零*/     ......
  • MFC-SetCursorPos把光标移到屏幕的指定位置
     BOOLbb=SetCursorPos(10,10);//把光标移到屏幕的指定位置//参数1:intx坐标//返回值:如果成功,返回非零值;如果失败,返回值是零    ......
  • MFC-GetWindowRect获取指定窗口或控件的边框矩形的尺寸
     HWNDhDlgWnd=::FindWindow(_T("#32770"),_T("测试窗口"));if(hDlgWnd){::ShowWindow(hDlgWnd,SW_NORMAL);::SetForegroundWindow(hDlgWnd);HWNDhBtn=::GetDlgItem(hDlgWnd,0x3E8);CRectmRect;......
  • MFC-IsWindow判断指定窗口句柄是否标识了现有窗口
     HWNDhWnd=GetSafeHwnd();BOOLbb=IsWindow(hWnd);//判断指定窗口句柄是否标识了现有窗口//返回值:如果窗口句柄标识现有窗口,则返回值为非零//如果窗口句柄未标识现有窗口,则返回值为零     ......
  • 《c++徒步》MFC篇——消息映射机制
    MFC消息映射机制什么是消息映射机制?MFC使用消息映射机制来处理消息,引入了消息映射表的概念,表中存消息和消息处理函数及二者对应关系。当鼠标点击事件发生时,会产生对应消息,然后去消息映射表中查找对应的消息处理函数并执行。什么是句柄?句柄相当于一个编号,Windows对于我们来说相......
  • MFC-ASSERT条件为真继续执行,条件为假中断执行
     CStringstr;inti=10;ASSERT(i==10);//条件为真继续执行,条件为假中断执行str.Format(_T("i=10为真"));::OutputDebugString(str);//ASSERT(i<10);str.Format(_T("i<10为假"));::OutputDebugString(str); ......
  • MFC-IsIconic判断窗口是否最小化
     HWNDhWnd=NULL;UINTfunc1(LPVOIDpParam)//线程函数{BOOLbb;for(inti=0;i<1000;i++){bb=IsIconic(hWnd);//判断窗口是否最小化/*参数1:HWNDhWnd窗口句柄返回值:已经最小化返回TRUE,......
  • MFC-GetMainWnd获取主窗口指针
     CWinApp*pwin=AfxGetApp();//获取当前应用进程的指针CWnd*pWnd=pwin->GetMainWnd();//获取主窗口指针CGetMainWndDlg*pDlg=(CGetMainWndDlg*)pWnd;//主窗口指针转化成对话框类指针pDlg->SetWindowText(_T("练习"));CWnd*pWnd1=pWn......