OnLButtonDown()、OnLButtonUp()、OnMouseMove()、Gettingfunction( ),其中函数Gettingfunction( )的具体实现为:
void CMyView::Gettingfunction() {
if(m_Get==1) return;
for(int i=0;i<Save.size();i++) //以下为计算点击的点和实际点的误差 { double
d=sqrt(pow(Save[i].m_StartPoint.y-Save[i].m_EndPoint.y,2)+pow(Save[i].m_StartPoint.x-Save[i].m_EndPoint.x,2));
double
d1=sqrt(pow(Save[i].m_StartPoint.y-m_startPoint.y,2)+pow(Save[i].m_StartPoint.x-m_endPoint.x,2));
double
d2=sqrt(pow(Save[i].m_EndPoint.y-m_startPoint.y,2)+pow(Save[i].m_EndPoint.x-m_endPoint.x,2));
if((d1+d2)-d<1) { CDC *pdc=GetDC(); CPen pen(0,Save[i].m_nLineWidth,RGB(255,0,0)); pdc->SelectObject(&pen); pdc->MoveTo(Save[i].m_StartPoint); pdc->LineTo(Save[i].m_EndPoint);
CPen pen1(0,Save[i].m_nLineWidth+10,RGB(0,255,255)); //实现特殊颜色表示 pdc->SelectObject(&pen1); pdc->MoveTo(Save[i].m_StartPoint); pdc->LineTo(Save[i].m_EndPoint); CSave dlg_save; dlg_save.DoModal(); } } } (3)、设置线属性功能:主要通过菜单项弹出对话框来确定,其主要函数在视图类中表示为函数OnSetting( ),其具体实现为: void CMyView::OnSetting() {
// TODO: Add your command handler code here m_Drawline=1; m_Get=1;