用到的类及头文件:Cadlib.h,DrawingView.h,DXFDef.h,DrawingDef.h,Cadlib.cpp,DrawingView.cpp
1.图像放置在Picture Control中,其成员变量为CDrawingView m_drawing_DXF;
2.使用CDrawing m_drawing绘制
3.鼠标左右按键消息OnLbuttonDown()/OnLbuttonUp()及拖动消息函数OnMouseMove()放置在CDrawingView类中调用
4.滚轮消息(OnMouseWheel)放置在主对话框调用
5.加载DXF文件后,在picture Control所在的对话框中加载Onpaint消息进行重绘,
(若将重绘放置在主对话框,若主对话框和控件对话框不是同一个,,图像有可能会无法显示)
6.重绘中需要传递m_drawing_DXF,m_drawing成员变量到CDrawingView中.
在OnMouseMove()函数中可以设置焦点
void CDrawingView::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_Pan && GetDC()->PtVisible(point))
{
if(m_pDrawing->isOpen())
{
SetFocus(); //设置焦点
double OnePixel;
VIEW drwview;
m_pDrawing->GetViewProperties(&drwview);
OnePixel = 1/(drwview.PPU*drwview.ZoomLevel);
drwview.ViewLeft = drwview.ViewLeft - OnePixel*(point.x-PrevMousePnt.x);
drwview.ViewBottom = drwview.ViewBottom + OnePixel*(point.y-PrevMousePnt.y);
m_pDrawing->SetViewProperties(&drwview);
RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
PrevMousePnt = point;
}
}
CStatic::OnMouseMove(nFlags, point);
}