Beginning to 编程

VC++ 方面编程文章

 

Windows GDI CDC 使用问题

最近在学习Hoops   的引擎(http://www.hoops3d.com )

模拟它的MVO架构,不过没有原代码,所以很难a
设计了一个交互绘图基本类,
但是还有错误,鼠标左键点击两下
 winGDI.cpp中出错。
请大虾指教一二。
我已经在这个问题上花了很多的心思。
其中最重要的就是Painter抽象类的设计
他的子类QBufferDC继承CDC
而SGView包含Painter指针,方便在SGView ::drawEntity调用。



SGObject - 对象的抽象类,也就是几何对象
SGModel- 负责对象管理,没有实现所有的功能,准备用SceneTree来实现
SGView - 负责显示SGModel中的数据,关键的函数
void SGView::drawEntity(SGObject* pObj)
{
   pObj->draw(m_pPainter,this)
}

Painter - 封装CDC的功能,见代码

在CSGView创建的时候创建Painter对象
很可能这里有问题!!!!!
void CSGView::OnCreate(..)
{
     CDC* pDC = GetDC();
   Painter* painter = new QBufferDC(pDC);
   m_pSGView->setPainter(painter);
}


MFC 相关的Document/View架构
CSGDocument - 管理SGModel

CSGView - 和SGView建立联系,并负责把windows的消息发送给SGView
见原代码

SGActionManager - 负责工具的管理
SGBaseAction - 工具的抽象基类
SGActionDrawLine - 绘制直线的工具



源代码连接:
http://www.cppblog.com/Files/richardzeng/MVOTest.rar

posted on 2006-07-16 03:06 Beginning to 编程 阅读(1432) 评论(2)  编辑 收藏 引用 所属分类: 程序摘录

评论

# re: Windows GDI CDC 使用问题 2012-01-01 19:25 AnnePADILLA23

The <a href="http://goodfinance-blog.com">loans</a> are essential for guys, which are willing to organize their organization. By the way, that is very easy to get a short term loan.   回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

统计

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

相册

BlogDev

搜索

最新评论

阅读排行榜

评论排行榜