![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/33fa828b79fa74effc1f1045.jpg)
ClientToScreen( )是把窗口坐标转换为屏幕坐标
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a61ea8d31cfb9d08960a1645.jpg)
ScreenToClient( )是把屏幕坐标转换为窗口坐标
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/251f95ca362c7bbac8176845.jpg)
屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d1c8a78620f3a30266096e45.jpg)
VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/c9177f3e8ced150171cf6c45.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/70cf3bc770d924e0d0006045.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/9f3df8dc20e4669dcc116645.jpg)
一个窗体分为两部分:系统区和客户区
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d100baa13ef5aeb746106445.jpg)
象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!!
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/cd11728bb2f4652ec9fc7a45.jpg)
Width, Height 是指整体的,ClientWidth, ClientHeight是指客户区的,两者相减就是
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/4710b9123f181ff2c2fd7845.jpg)
系统区的啦!!!
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/c8fcc3ce3a19203f93457e45.jpg)
ClientToScreen是把坐标从当前窗体转化成全屏幕的!!!
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/c3fdfc0369a10ab4d53f7c45.jpg)
ScreenToClient是把屏幕坐标转化成相对当前窗体的坐标!!!!
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d43f87945b26a122d31b7045.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a4c27d1ed3fed2c81ad57645.jpg)
bool m_bIsLButtonDawn =false;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d21b0ef418307152dcc47445.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/1bd5ad6ed8218de680cb4a45.jpg)
void CDrawDlg::OnMouseMove(UINT nFlags, CPoint point)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/ddc451da862ee5e7b7fd4845.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b6fd5266dbf3d518aa184c45.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/ab18972bdbe2e9c6e7cd4045.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d40735faf728a7b59f514645.jpg)
// TODO: Add your message handler code here and/or call default
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/e6cd7b898db4d38f0e244445.jpg)
CWnd *pwnd=GetDlgItem(IDC_EDIT1);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/9e510fb31ac19e9bd8335a45.jpg)
CDC *pdc=pwnd->GetDC();
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0f2442a7ced614a9d0435845.jpg)
CRect rect;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d933c895c8a67177d0135e45.jpg)
this->ClientToScreen(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d143ad4bcaf6afcc83025c45.jpg)
pwnd->ScreenToClient(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d11373f09fe78693a50f5245.jpg)
pwnd->GetClientRect(&rect);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/82025aafbbea97c7faed5045.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a40f4bfbda087758024f5645.jpg)
// HCURSOR hcur=::LoadCursorFromFile("pen.cur");
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/fbedab6420aaa4ccf6365445.jpg)
// SetClassLong(GetSafeHwnd(),GCL_HCURSOR,(LONG)hcur);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/f736afc35ed4d669b219a846.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/79310a559afc37f8b645ae46.jpg)
// CPen pen(PS_INSIDEFRAME,-1,RGB(255,255,255));
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0a55b319c1216b7942a9ad46.jpg)
// CPen* olePen=pdc->SelectObject(&pen);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/ebc4b7456f4c5e1acefca346.jpg)
if(rect.PtInRect(point) && m_bIsLButtonDawn )
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/43a98226e119c22b8b82a146.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/4a90f6034768754b3812bb46.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/738da9770ff76f27b151b946.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b051f819bcfdea46dbb4bd46.jpg)
pdc->DPtoLP(&m_fp);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/2e738bd4f3f95b3da08bb746.jpg)
pdc->MoveTo(m_fp);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/277f9e2f41edf4041e308946.jpg)
pdc->DPtoLP(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0708283857d53518b9998f46.jpg)
pdc->LineTo(point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/1f30e924f27c753d4d088d46.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b899a90100edb23a1c958346.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/4c086e065370d64703088146.jpg)
m_fp=point;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/02087bf45834bee5f3d38546.jpg)
// pdc->SelectObject(olePen);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0ad162d9a6368b1010df9b46.jpg)
ReleaseDC(pdc);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/f2d3572c473a75d08b139946.jpg)
CDialog::OnMouseMove(nFlags, point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/11dfa9ecd2f6bf1b63d09f46.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/8a13632738352b3f908f9d46.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/62d0f703cd6a7cd009fa9346.jpg)
void CDrawDlg::OnLButtonUp(UINT nFlags, CPoint point)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/08fa513d467285d23c6d9746.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/269759ee5f8889c7b3fb9546.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/3d6d55fbd61e9f2a6c22eb46.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b2fb43160bc7937621a4e946.jpg)
m_bIsLButtonDawn =false;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/6d224f4a48419a1f08f7ef46.jpg)
// TODO: Add your message handler code here and/or call default
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/20a4462363124c6e9922ed46.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/09f79052f4c7ae320df3e346.jpg)
/**//*
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/9822720e62160bf67acbe146.jpg)
CWnd *pwnd=GetDlgItem(IDC_EDIT1);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0cf3d7ca0b2ed67af31fe746.jpg)
CDC *pdc=pwnd->GetDC();
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/f21fbe091f862a186a60fb46.jpg)
CRect rect;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/6b63f6241d85d00f8644f946.jpg)
this->ClientToScreen(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/6b600c33ffa137c41b4cff46.jpg)
pwnd->ScreenToClient(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/8744ebf860a98d33d8f9fd46.jpg)
pwnd->GetClientRect(&rect);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d42a2834b67edf075ab5f546.jpg)
if(rect.PtInRect(point))
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/349b033bdf5015d614cecb46.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/5bb5c9ea932beaefd439c946.jpg)
pdc->DPtoLP(&m_fp);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/15ce36d35ddc6a3c3bf3cf46.jpg)
pdc->MoveTo(m_fp);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d539b600b016e6bbe850cd46.jpg)
pdc->DPtoLP(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/3af33a8765b5e916c75cc346.jpg)
pdc->LineTo(point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/c65c1038c3a627ceb311c746.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/1e178a8288e496acf703a646.jpg)
ReleaseDC(pdc);*/
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b2119313249b16bc6438db46.jpg)
CDialog::OnLButtonUp(nFlags, point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b07eca80f3ddd0eb9023d946.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/f603738d9c92e52eb21bba46.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/65380cd709c64be1a044df46.jpg)
void CDrawDlg::OnLButtonDown(UINT nFlags, CPoint point)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/912397dd3ba171085882dd46.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a977391284fe6c6df919b846.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a144ad34c5676e8bd1a2d346.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/b31bb051c1fc5a24377abe46.jpg)
// TODO: Add your message handler code here and/or call default
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/5982b2b74e47d0c830add146.jpg)
CWnd *pwnd=GetDlgItem(IDC_EDIT1);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/f81986180d9f06884bedbc46.jpg)
CDC *pDC=pwnd->GetDC();
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d0a20cf4914817d37709d746.jpg)
CRect rect;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/367adab47708f24f8ad4b246.jpg)
this->ClientToScreen(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/76094b36084af2e1a2cc2b46.jpg)
pwnd->ScreenToClient(&point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/8bd4b31cc6e47db786d6b646.jpg)
pwnd->GetClientRect(&rect);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/acaf2edd0529a0e58c102946.jpg)
if(rect.PtInRect(point))
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/8701a18bc433fb439f2fb446.jpg)
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/9e2f07086fddc30ce8248846.jpg)
{
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/3901213f14eba7d055e72346.jpg)
m_fp.x=point.x;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/e924b899e2e490346f068c46.jpg)
m_fp.y=point.y;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/54e736d19fcb65049a502746.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/a9014c0823e3c1a90b7b8246.jpg)
ReleaseDC(pDC);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/6e061d95459ede347af48046.jpg)
m_bIsLButtonDawn =true;
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/9b504fc261875909e4dd3b46.jpg)
CDialog::OnLButtonDown(nFlags, point);
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/0a7b02082a11d6ed63d98646.jpg)
}
![](http://hiphotos.baidu.com/%CE%DA%C9%AA%B6%FB%D0%A6%C1%CB/pic/item/d562853553383b2d91ef3946.jpg)