要求以上程序要求能够画多个椭圆,该如何实现?(新建一个椭圆类,用到数组类模板CTypedPtrArray)
1,选择菜单File|New,系统将显示New对话框,选择Projects标签,在显示的项目类型中选择MFC AppWizard(exe)在右边的Project Name编辑框中输入项目名称“MyDraw”,然后按OK.选择创建单文档应用“Single document”,然后单击Finish键,单击OK,系统自动产生所需要的文件.
2,在Draw clases中双击CDrawDoc定义如下:
public:
CPoint point1;
CPoint point2;
// Operations
3,在Draw classes中的CDrawView下拉的选项中双击onDraw添加代码如下:
void CMyDrawView::OnDraw(CDC* pDC)
{
CMyDrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CPoint point1=pDoc->point1 ;
CPoint point2=pDoc->point2 ;
pDC->Ellipse (point1.x ,point1.y ,point2.x ,point2.y );
}
4,在Draw classes中的CDrawDoc下拉的选项中双击CDrawDoc添加代码如下:
CMyDrawDoc::CMyDrawDoc()
{
point1.x =0;
point1.y =0;
point2.x =0;
point2.y =0;
}
5,在键盘上按Ctrl+W,在弹出的类向导窗口中的CDrawView下选择WM_LBUTTONDOWN,单击Add Function按钮和Edit Code按钮,在函数中添加代码如下:
void CMyDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
CMyDrawDoc*pDoc=GetDocument();
pDoc->point1 =point;
CView::OnLButtonDown(nFlags, point);
pDoc->UpdateAllViews (NULL);
}
6,在键盘上按Ctrl+W,在弹出的类向导窗口中的CDrawView下选择WM_LBUTTONUP,单击Add Function按钮和Edit Code按钮,在函数中添加代码如下:
void CMyDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
CMyDrawDoc*pDoc=GetDocument();
pDoc->point2 =point;
CView::OnLButtonUp(nFlags, point);
pDoc->UpdateAllViews (NULL);
}
7,在Draw classes中的CDrawDoc下拉的选项中双击Serialize[Carchive &ar] 添加代码如下:
void CMyDrawDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar<<point1.x <<point1.y <<point2.x <<point2.y ;
}
else
{
ar>>point1.x >>point1.y >>point2.x >>point2.y ;
}
}
若要求以上程序要求能够画多个椭圆,该如何实现?(新建一个椭圆类,用到数组类模板CTypedPtrArray)
相关推荐
运用MFC的Collection类实现桥梁有限元程序中的数据结构.pdf
#资源达人分享计划#
template_Custom_MFC_MFC数据类库跨平台移植_
MFC数据类库跨平台移植,包括cstring、cstring_array、cmap、carray、cptrarray、clist、CTypedPtrArray.可在Windows/linux平台运行。
MFC容器类[参考].pdf
MFC容器类[参考].pdf
Example098.rar_Windows编程_C++_
vc 读写CTypedPtrArray类 的程序源码,希望对大家有所帮助
VC++集合类,详细例子。
MFC 集合类可以按形态和设计方案来分类。MFC 为三种类型的集合形态提供了类: 列表 数组 映射 MFC 还提供三种类型的设计方案: 不使用 C++ 模板。 使用由简单元素组成的基于 C++ 模板的集合。 使用由类型安全指针组成的基于 C++ 模板的集合。 下表标识了按形态和设计方案排序的所有 MFC 集合类。COLLECT 示例阐释了这些集合中的 9 个,每个来自表中的一个单元格。每个代表形态和设计方案的不同组合。另外,由于根据是用来保存指向 CObjects 的指针还是指向非 CObject 的指针,CTypedPtrArray 和 CTypedPtrList 基于模板的集合的用法有所不同,因此 COLLECT 示例阐释这两种情况。COLLECT 所阐释的 9 个集合用星号指示。 集合形状 非基于模板的 基于模板的简单元素 基于模板的 typeSafe 指针 列表 CStringList* CList* CTypedPtrList CObList (属于指针)* CPtrList CTypedPtrList (属于 CObject) 数组 CByteArray CArray* CTypedPtrArray CUIntArray (属于指针) CWordArray* CDWordArray CTypedPtrArray CStringArray (属于 CObject)* CPtrArray CObArray 映射 CMapWordToPtr CMap* CTypedPtrMap* CMapWordToOb CMapStringToString* CMapStringToPtr CMapStringToOb CMapPtrToWord CMapPtrToPtr 其他 COLLECT 功能


非技术类
