Posted on 2012-09-28 16:08
盛勝 閱讀(347)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
vc++深入詳解
建立工程文件
選擇單文檔其他全部默認(rèn)

添加LButtonDown和LButtonUp的消息響應(yīng)函數(shù)
點(diǎn)擊上邊的 查看(v)->建立類向?qū)?br />
的添加.png)
這里已經(jīng)點(diǎn)擊過Add Funtion ,點(diǎn)擊后工程自動(dòng)添加消息函數(shù)。點(diǎn)擊edit code可以進(jìn)行代碼編輯。
void CTestView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_ptOrigin=point;
//MessageBox("view Clicked!");
CView::OnLButtonDown(nFlags, point);
}
同理OnLButtonUp消息函數(shù)也一樣添加,代碼為下邊:
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
//1
/*
// TODO: Add your message handler code here and/or call default
//首先獲取窗口的設(shè)備描述表
HDC hdc;
//m_hWnd是CWnd的一個(gè)成員變量用來保存窗口句柄,而CTestView派生于CWnd類。GetDC全局函數(shù)獲取得當(dāng)前窗口的設(shè)備描述表
hdc = ::GetDC(m_hWnd);
//移動(dòng)到線條的起點(diǎn)
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
//畫線
LineTo(hdc,point.x,point.y);
//釋放設(shè)備描述表
::ReleaseDC(m_hWnd,hdc);
*/
//CWnd類提供了成員函數(shù)GetDC和ReleaseDC,先利用Platform SDK函數(shù)實(shí)現(xiàn)畫線功能時(shí),這兩個(gè)函數(shù)前面都加::表示全局
//函數(shù)
//2
/*
//MFC封裝了CDC類(一個(gè)設(shè)備描述表)
CDC* pDC=GetDC();
pDC->MoveTo(m_ptOrigin);
pDC->LineTo(point);
ReleaseDC(pDC);
*/
//3
/*
//CClientDC派生于CDC類,構(gòu)造時(shí)自動(dòng)調(diào)用GetDC函數(shù)。一旦定義了CClientDC的一個(gè)對(duì)象就不用再調(diào)用GetDC和ReleaseDC
//CClientDC dc(this);
CClientDC dc(GetParent());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
*/
//4
//CwindowDC的優(yōu)勢(shì):對(duì)象可以訪問整個(gè)窗口區(qū)域
//CWindowDC dc(this);
CWindowDC dc(GetParent());
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
CView::OnLButtonUp(nFlags, point);
}