资源简介
1. 基于MFC绘制三维立体小球(太阳、地球、月亮)基本图形;
2. 基于MFC使用OpenGL 绘制立方体、茶壶、环面等稍复杂的图形;
3. 基于MFC使用OpenGL用鼠标控制三维物体;
代码片段和文件信息
#include “stdafx.h“
#include “MainFrm.h“
#include “ClassView.h“
#include “Resource.h“
#include “MyOpenGL_MFC1.h“
class CClassViewMenuButton : public CMFCToolBarMenuButton
{
friend class CClassView;
DECLARE_SERIAL(CClassViewMenuButton)
public:
CClassViewMenuButton(HMENU hMenu = NULL) : CMFCToolBarMenuButton((UINT)-1 hMenu -1)
{
}
virtual void OnDraw(CDC* pDC const CRect& rect CMFCToolBarImages* pImages BOOL bHorz = TRUE
BOOL bCustomizeMode = FALSE BOOL bHighlight = FALSE BOOL bDrawBorder = TRUE BOOL bGrayDisabledButtons = TRUE)
{
pImages = CMFCToolBar::GetImages();
CAfxDrawState ds;
pImages->PrepareDrawImage(ds);
CMFCToolBarMenuButton::OnDraw(pDC rect pImages bHorz bCustomizeMode bHighlight bDrawBorder bGrayDisabledButtons);
pImages->EndDrawImage(ds);
}
};
IMPLEMENT_SERIAL(CClassViewMenuButton CMFCToolBarMenuButton 1)
//////////////////////////////////////////////////////////////////////
// 构造/析构
//////////////////////////////////////////////////////////////////////
CClassView::CClassView()
{
m_nCurrSort = ID_SORTING_GROUPBYTYPE;
}
CClassView::~CClassView()
{
}
BEGIN_MESSAGE_MAP(CClassView CDockablePane)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_CLASS_ADD_MEMBER_FUNCTION OnClassAddMemberFunction)
ON_COMMAND(ID_CLASS_ADD_MEMBER_VARIABLE OnClassAddMemberVariable)
ON_COMMAND(ID_CLASS_DEFINITION OnClassDefinition)
ON_COMMAND(ID_CLASS_PROPERTIES OnClassProperties)
ON_COMMAND(ID_NEW_FOLDER OnNewFolder)
ON_WM_PAINT()
ON_WM_SETFOCUS()
ON_COMMAND_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnSort)
ON_UPDATE_COMMAND_UI_RANGE(ID_SORTING_GROUPBYTYPE ID_SORTING_SORTBYACCESS OnUpdateSort)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClassView 消息处理程序
int CClassView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rectDummy;
rectDummy.SetRectEmpty();
// 创建视图:
const DWORD dwViewstyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
if (!m_wndClassView.Create(dwViewstyle rectDummy this 2))
{
TRACE0(“未能创建类视图\n“);
return -1; // 未能创建
}
// 加载图像:
m_wndToolBar.Create(this AFX_DEFAULT_TOOLBAR_style IDR_SORT);
m_wndToolBar.LoadToolBar(IDR_SORT 0 0 TRUE /* 已锁定*/);
onchangeVisualstyle();
m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() | CBRS_TOOLTIPS | CBRS_FLYBY);
m_wndToolBar.SetPanestyle(m_wndToolBar.GetPanestyle() & ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_RIGHT));
m_wndToolBar.SetOwner(this);
// 所有命令将通过此控件路由,而不是通过主框架路由:
m_wndToolBar.SetRouteCommandsViaframe(FALSE);
CMenu menuSort;
menuSort.LoadMenu(IDR_POPUP_SORT);
m_wndToolBar.ReplaceButton(ID_SORT_MENU CClassViewMenuButton
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 415232 2018-05-26 19:50 MyOpenGL_MFC1\Debug\MyOpenGL_MFC1.exe
文件 3050604 2018-05-26 19:50 MyOpenGL_MFC1\Debug\MyOpenGL_MFC1.ilk
文件 6605824 2018-05-26 19:50 MyOpenGL_MFC1\Debug\MyOpenGL_MFC1.pdb
文件 96927744 2018-05-26 19:49 MyOpenGL_MFC1\ipch\myopengl_mfc1-1c9ef9fc\myopengl_mfc1-a1d23c3d.ipch
文件 9035 2018-04-27 08:43 MyOpenGL_MFC1\MyOpenGL_MFC1\ClassView.cpp
文件 1275 2018-04-27 08:43 MyOpenGL_MFC1\MyOpenGL_MFC1\ClassView.h
文件 8026 2018-05-09 11:22 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\cl.command.1.tlog
文件 67168 2018-05-09 11:22 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\CL.read.1.tlog
文件 8850 2018-05-09 11:22 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\CL.write.1.tlog
文件 188817 2018-05-09 10:52 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\ClassView.obj
文件 136947 2018-05-09 10:52 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\FileView.obj
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 3630 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 8022 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 2428 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\li
文件 103868 2018-05-09 10:52 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\MainFrm.obj
文件 676 2018-05-26 19:50 MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\mt.command.1.tlog
............此处省略89个文件信息
相关资源
- OpenGL视口变换
- MFC实现TCP数据传输
- OpenGL模拟Minecraft
- 基于VS2010的c++计算器小程序
- 基于VS2010的c++程序迷宫游戏
- OpenGL计算机图形学2D太阳系模型
- OpenGL应用(动画渐变色显示)
- OpenGL应用2(碰撞检测)
- libssh2-1.8.0-vs2010项目
- OpenGL编程指南(原书第7版)中文扫描
- GB/T28181网络摄像机模拟器源码
- VS2010录音程序_音频采集_MFC
- OpenGL+MFC实现旋转、缩放、平移
- 基于MFC opengl读取obj并求法向量
-
bvh pla
yer - vs2010 mfc对话框五子棋小游戏
- VS2010 C++ MFC简易计算器
- qtOpenGLDemo2.rar
- opengl圆柱贴图程序,可以直接运行
- opengl绘制坐标
- VS2010+MFC串口助手,自动识别串口,支
- openGL_c++复刻我的世界游戏
- VS2010运行库包括mfc
- vs2010 + MFC + UDP socket 聊天程序。
- MFC数据库ODBC编程-教务管理系统
- CAD应用程序开发详解 Visual C++与Open
- kcf目标跟踪代码c++直接在vs2010+opencv
- 基于MFC的多人聊天室
- OpenGL+MFC三维绘图
- VC++2010 VC上位机 20个教程 零基础 极速
评论
共有 条评论