当我想在VS2010中使用MFC对话框里一部分显示OpenGL图形,一部分显示滚动条和一些按钮等控件的时候,图形可以显示,但是控件不显示,网上很多人说是修改对话框的ClipChildren属性,我没搞明白,试了一下没有成功。
控件不可见的原因,可能是OpenGL与MFC的GDI绘图不兼容(这个问题在VS2010中尤为严重)。解决方法是创建一个新的对话框窗口,这个新窗口专门用于处理OpenGL的绘图,而原来的窗口用于显示控件。
将新窗口与原来窗口相关联,就可以用控件处理OpenGL图形了。
但是问题来了,这是两个对话框,他们都可以任意移动。。。如何才能让他们看起来是个整体呢?方法是将他们两个对话框的标题栏都去掉,设置好他们的位置,这样就可以看起来像一个整体了。缺点是不可移动,没有标题栏。
至于更好的控件不显示和两个对话框合并为一个可以移动,有标题栏的对话框的解决方法还在摸索阶段。。。