CreateRectRgnIndirect創建的剪裁區域大小和控件一致,起始點卻不同,求大神指教


void CInternetblackboardDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO:  在此添加消息處理程序代碼和/或調用默認值
static int n = 0;
switch (++n)
{
case 1:
p2 = point;
break;
case 2:
p1 = p2;
p2 = point;
n = 0;
break;
}
CClientDC dc(this);
//OnPrepareDC(&dc);
if (m == 1)
{
dc.MoveTo(p1);
CRect rc;
CWnd *p = GetDlgItem(IDC_PIC1);//返回窗口中子元素的句柄
p->GetClientRect(rc);//獲取客戶區大小

CPen pen(PS_SOLID, width, color);
CPen *oldPen = dc.SelectObject(&pen);

CRgn rgn;
rgn.CreateRectRgnIndirect(rc);//截取操作范圍
dc.SelectObject(rgn);
dc.LineTo(p2);
}
代碼如上,運行效果如下,這要怎么修改剪裁區域的起始坐標

1 个解决方案

#1


路過的大神們,幫個忙,本人新手

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com