要求以上程序要求能够画多个椭圆,该如何实现?(新建一个椭圆类,用到数组类模板CTypedPtrArray)

octoberwang 2011-10-13 09:49:07
参照Windows画笔编制一个绘制椭圆的单文档程序,鼠标左键按下位置为外接矩形左上角位置,鼠标左键谈起位置为外接矩形右下角位置。要求实现鼠标拖拽功能,并能够保存所绘制的图形。
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)
...全文
179 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了基于Benders分解算法与输电网-配电网运营商(TSO-DSO)协调机制的双层优化模型,旨在有效应对新能源出力波动、负荷不确定性等对现代电力系统运行带来的挑战。模型上层由输电网运营商(TSO)负责全局资源优化与主网稳定性调控,下层由多个配电网运营商(DSO)实现本地分布式能源的灵活调度,通过Benders分解实现上下层之间的迭代协调与信息交互,从而在保障系统安全的前提下提升整体运行的经济性与鲁棒性。研究提供了完整的Matlab代码实现,涵盖数学建模、算法求解、收敛性分析及仿真结果可视化等环节,有助于深入理解双层优化架构在输配电网协同调度中的具体应用与技术细节。; 适合人群:具备电力系统分析、优化理论基础及一定Matlab编程能力的研究生、科研人员,以及从事电网调度、能源系统规划等相关领域的工程技术人员。; 使用场景及目标:①掌握Benders分解在电力系统双层优化问题中的建模与求解流程;②理解TSO-DSO协同机制下输配电网交互建模的核心思想与实现方法;③复现并拓展高水平学术论文中的优化模型,服务于科研项目攻关或实际工程仿真需求。; 阅读建议:建议结合凸优化理论、电力系统经济调度与Benders分解原理进行系统学习,优先运行并调试所提供的Matlab代码,调整关键参数以观察算法收敛行为与模型性能变化,从而深化对协调机制与优化机理的理解。

1,662

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧