好久没来CSDN发总结的文了~这段时间一直项目,是一个比较老的MFC框架下的项目。在已有的主程序框架下,使用OLE的方式,即ActiveX控件实现各项功能。我的任务是在已有的基于OLE的基类下派生的子类中实现平面快速绘图及3D绘图显示的效果。可以说,任务看起来不是很难,主要是在老旧的框架下,多层派生中实现功能,总是让人纠结~~~~~~~~~呃,扯远了,今天先简单讲一下碰到的MFC问题,之后会系统总结一些OpenGL的原理及使用。
首先总结一下MFC窗口类型,有3种最基本的窗口类型:重叠窗口、弹出窗口和子窗口。
重叠窗口(overlapped window),具有应用程序主窗口的全部特点。它的非客户区包括一个可伸缩的框架、菜单条、标题栏和最小化、最大化按钮。
弹出窗口(popup window),具有消息框或者对话框的全部特点。它的非客户区包括一个固定大小的框架和一个标题栏。
子窗口(child window),具有类似按钮控件的全部特点。它没有非客户区,窗口的处理过程负责绘制窗口的每个部分。
重叠窗口
一个重叠窗口是顶层窗口有一个标题栏,边框和客户区,它的目的是作为一个应用程序的主窗口。它也可以有一个窗口菜单,最小化和最大化按钮和滚动条。重叠的窗口作为主窗口使用通常包括所有这些组件。
通过CreateWindowEx函数中指定的WS_OVERLAPPED或WS_OVERLAPPEDWINDOW风格,一种应用程序创建一个重叠的窗口。如果使用WS_OVERLAPPED风格,窗口有一个标题栏和边框。如果使用WS_OVERLAPPEDWINDOW风格,窗口有一个标题栏,边框大小,窗口菜单,最小化和最大化按钮。
弹出窗口
弹出窗