我在多文档的应用程序工程里,建立了一个专门用于画图的类,我要画一个十字定位线,要横竖两条线布满窗口的那种。(不是直接在OnDraw里写代码):CLineDraw.在该类中定义了一个绘图函数(具体画图部分代码由于不是重点,也不是问题所在所以就没有贴出来)
void CLineDraw::
DrawLine(CWnd*pWnd,int Width,int Height,CRect rect)
{
CreateEx(WS_EX_TOPMOST,
AfxRegisterWndClass(CS_DBLCLKS, AfxGetApp()->LoadStandardCursor(IDC_ARROW)),
"Measure",WS_VSCROLL/*WS_POPUP*/|WS_VISIBLE,rect.left, rect.top, m_nScreenWidth, m_nScreenHeight, NULL, NULL, NULL );
}
这个CreateEx我是想参考一个人的用于创建一个窗口的代码,也就是相当于把我当前窗口放到它新建窗口里。这样的确可以实现在里面画图,但是我是想当鼠标按下菜单里的“开始绘图”按钮后,鼠标移动到当前窗口内才开始立即绘制十字定位线。而不是另外新建窗口绘图。我想请问这个DrawLine函数里应该将CreateEx应该换成什么样的呢,或者说该如何编程实现呢??
以下是我的放在视类我在加入了一个菜单按钮的响应函数(用来实现开始画图)
void CMyView::OnLineDraw()
{
CRect rect;
GetWindowRect(&rect);
int nWidth=rect.width();
int nHeight=rect.Height();
CLineDraw pLine=new CLineDraw;
pLine->DrawLine(this,nWidth,nHeight,rect);
}