void CDemoView::OnFileCreateCtl() { CDemoDoc* pDoc = GetDocument(); if (pDoc->GetCurrRgn() == NULL) { CRect rect(50, 50, 200, 200); CPanCtRgn *pRgn; // Create new region. TRY { pRgn = new CPanCtRgn(this, pDoc->GetCtrlID(), &rect); } CATCH(CMemoryException, memEx) { AfxMessageBox("Out of Memory"); return; } END_CATCH CObList* pList = pDoc->GetPanRgnList(); if (pList != NULL) { // Add region to list. pList->AddHead(pRgn); // Select new region. pDoc->Select(pRgn); } } }
时间: 2024-04-19 15:25:02 浏览: 257
这是一个在 "Create Control" 命令被触发时被调用的函数,用于创建一个新的控件区域。
首先,它获取文档对象的指针 `pDoc`,然后检查当前区域是否为NULL。如果当前区域为NULL,则进入条件语句。
在条件语句中,首先创建一个矩形区域 `rect`,表示新控件的位置和大小。然后,通过使用 `new` 运算符创建一个新的 `CPanCtRgn` 控件区域对象,并传递当前视图对象、控件ID和矩形参数。
接下来,通过异常处理机制(TRY-CATCH)检查内存分配是否成功。如果分配失败,则弹出一个消息框显示 "Out of Memory",并返回。
如果内存分配成功,获取文档对象中的控件区域列表 `pList`。如果列表不为空,则将新的控件区域添加到列表的头部,并通过 `Select()` 函数选中新创建的区域。
总之,这个函数的作用是创建一个新的控件区域,并将其添加到文档对象的控件区域列表中,并选中新创建的区域。
相关问题
void CDemoView::OnUpdateFileCreateCtl(CCmdUI* pCmdUI) { pCmdUI->Enable(GetDocument()->GetCurrRgn() == NULL); }
这是一个在更新菜单或工具栏项状态时被调用的函数,用于禁用或启用 "Create Control" 命令。具体来说,它检查文档对象的当前区域(`GetCurrRgn()`)是否为NULL,如果是NULL,则启用该命令,否则禁用该命令。
这个函数通常与 `ON_UPDATE_COMMAND_UI` 宏一起使用,以便在每次菜单或工具栏项状态更新时自动调用。通过在消息映射表中将 `ON_UPDATE_COMMAND_UI` 宏与相应的命令ID关联起来,可以确保在每次界面需要更新菜单或工具栏项状态时都会调用到这个函数。
CDemoView* CDemoApp::GetCurrentView() // // This global function is used to get a pointer to the active view // object. { CMainFrame* pFrame = (CMainFrame*) m_pMainWnd; CMDIChildWnd* pChildWnd = pFrame->MDIGetActive(); if (pChildWnd == NULL){ return NULL; } CDemoView* pView = (CDemoView*)(pChildWnd->GetActiveView()); return pView; }
这段代码是一个全局函数 `CDemoView* CDemoApp::GetCurrentView()`,用于获取当前活动视图(view)对象的指针。
1. 首先,将应用程序的主窗口指针 `m_pMainWnd` 转换为 `CMainFrame*` 类型的指针 `pFrame`。
2. 然后,通过调用 `pFrame->MDIGetActive()` 获取当前活动的 MDI 子窗口指针 `pChildWnd`。
3. 如果 `pChildWnd` 为空,表示当前没有活动的子窗口,直接返回 `NULL`。
4. 否则,通过调用 `pChildWnd->GetActiveView()` 获取当前活动子窗口的活动视图指针,并将其转换为 `CDemoView*` 类型的指针 `pView`。
5. 最后,返回 `pView`,即当前活动视图的指针。
这个函数可以在应用程序中获取当前活动视图对象的指针,以便进行相关操作或访问视图的成员函数和成员变量。
阅读全文