在分割视图中我产生了六个小窗口,然后在每一个窗口中完成不同的操作,但是窗口范围比较小我想通过鼠标单击将选中的视图放大,代码如下:
void CEAView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(&rect);//得到视窗的矩形大小
if(rect.PtInRect(point))//判断鼠标现在是否在窗口范围内
{
CEAView *pView = new CEAView;
pView->Create(NULL,NULL,WS_POPUP ,CRect(0,0,1024,786),this,12);//生成新的窗口
}
//MessageBox("这里是视图A!");
CEditView::OnLButtonDown(nFlags, point);
}
这个操作中,会出现中断代码如下
BOOL CWnd::Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext)
{
// can't use for desktop or pop-up windows (use CreateEx instead)
ASSERT(pParentWnd != NULL);
ASSERT((dwStyle & WS_POPUP) == 0);//出现中断处
return CreateEx(0, lpszClassName, lpszWindowName,
dwStyle | WS_CHILD,
rect.left, rect.top,
rect.right - rect.left, rect.bottom - rect.top,
pParentWnd->GetSafeHwnd(), (HMENU)(UINT_PTR)nID, (LPVOID)pContext);
}
望各位大虾帮助分析错误,我的思路是通过单击生成新的窗口。如果有更合理的实现方法望告之,提前谢过了:)