回 帖 发 新 帖 刷新版面

主题:如何管理DC?高手请看

如果准备在多个窗体中(C++builder的MDIChild)绘图,那么该怎样管理DC呢?
为什么的每个MDIChild的图都一样?
请高手赐教!小弟不胜感激,比赠分致谢

回复列表 (共11个回复)

沙发

你的MDIChild窗口是同一类的吧,而且绘图代码(响应wm_paint)与外界条件无关;或者整个类公用一个dc。

板凳


是的。
后来我改成不同类的,新建两个不同类的Child可以绘图,但是若执行将窗体平铺或层叠等,只有一个窗提显示正常,其他的就是花的。我知道这是颜色缓存的问题,我已glClaear清理但还是不行。请第一楼赐教

3 楼

赐教就不必了,有空讨论吧。
多文档窗体我也没有用到过,只见过代码。
平铺或层叠显示不正常,应该是没有更新窗口。
你用的OpenGL,可能光glClear清除还不行。
你用的双缓冲吗?WM_ERASEBKGND返回1,glClearColor,glClear,glLoadIdentity
试试吧

4 楼


你有关于OpenGL写的多文档代码?
如果可以请给我发过来
lijianguo8215@163.com

5 楼


用的是双缓存,外壳是用C++Builder 写的。我想Windows低层的消息,CB应该可以自己处理吧

6 楼

没有.
可以参考一下“[原创]Win32环境下OpenGL编程框架”或者OpenGL教程加上《
Windows程序设计》多文档创建的代码

7 楼


你有《Windows程序设计》这本书吗?我没有找到哪里可以下

8 楼

http://www.infoxa.com/
电子书下载里有好多好东西。。。

9 楼


你QQ多少?
我的是81217534,再读研究生
不介意,请加我
交流更方便

10 楼


我想可能是多个RC的问题?是不是只能有一个RC当前化,若是我该怎样管理多个RC?

我来回复

您尚未登录,请登录后再回复。点此登录或注册