资源简介
自己封装的鼠标封装的鼠标场景漫游工具类RoamingScenceManager,跟界面没有任何关系,压缩包里面有三个工程,分别是Qt,Win32(原生OpenGL界面),MFC 三个环境,里面都用到了RoamingScenceManager,用法简单,适合刚刚学opengl的新手构建场景。
代码片段和文件信息
#include “stdafx.h“
#include “MainFrm.h“
#include “ClassView.h“
#include “Resource.h“
#include “OpenGLScence_MFC.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)
ON_WM_DESTROY()
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_S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1038562 2015-08-10 21:54 OPenGLDemo\include\GL\glew.h
文件 21440 1998-08-18 16:24 OPenGLDemo\include\GL\glut.h
文件 74912 2015-08-10 21:54 OPenGLDemo\include\GL\glxew.h
文件 64836 2015-08-10 21:54 OPenGLDemo\include\GL\wglew.h
文件 2388 2016-03-05 12:41 OPenGLDemo\include\MathAPIKernel\Matrix4D.h
文件 1714 2016-03-05 11:33 OPenGLDemo\include\MathAPIKernel\Position3D.h
文件 2502 2016-03-05 11:33 OPenGLDemo\include\MathAPIKernel\Vector3D.h
文件 610719 2015-07-16 10:01 OPenGLDemo\lib\lib_qt\glew32.dll
文件 237568 2001-11-08 02:27 OPenGLDemo\lib\lib_qt\glut32.dll
文件 403968 2015-08-10 21:52 OPenGLDemo\lib\lib_VS\glew32.dll
文件 619228 2015-08-10 21:52 OPenGLDemo\lib\lib_VS\glew32.lib
文件 169984 1998-08-18 16:25 OPenGLDemo\lib\lib_VS\glut.dll
文件 79654 1998-08-18 16:25 OPenGLDemo\lib\lib_VS\glut.lib
文件 169984 1998-08-18 16:25 OPenGLDemo\lib\lib_VS\glut32.dll
文件 79898 1998-08-18 16:25 OPenGLDemo\lib\lib_VS\glut32.lib
文件 403968 2015-08-10 21:52 OPenGLDemo\Project\OpenGLScence_MFC\Debug\glew32.dll
文件 169984 1998-08-18 16:25 OPenGLDemo\Project\OpenGLScence_MFC\Debug\glut.dll
文件 169984 1998-08-18 16:25 OPenGLDemo\Project\OpenGLScence_MFC\Debug\glut32.dll
文件 1213440 2005-10-19 15:32 OPenGLDemo\Project\OpenGLScence_MFC\Debug\OPENGL.DLL
文件 495104 2016-03-06 08:59 OPenGLDemo\Project\OpenGLScence_MFC\Debug\OpenGLScence_MFC.exe
文件 3295968 2016-03-06 08:59 OPenGLDemo\Project\OpenGLScence_MFC\Debug\OpenGLScence_MFC.ilk
文件 7581696 2016-03-06 08:59 OPenGLDemo\Project\OpenGLScence_MFC\Debug\OpenGLScence_MFC.pdb
文件 9189 2016-03-05 16:08 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\ClassView.cpp
文件 1310 2016-03-05 16:08 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\ClassView.h
文件 6690 2016-03-05 15:19 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\FileView.cpp
文件 1135 2016-03-05 15:19 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\FileView.h
文件 12670 2016-03-05 15:56 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\MainFrm.cpp
文件 1482 2016-03-05 15:19 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\MainFrm.h
文件 177016 2016-03-05 16:28 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\OpenGLScence_MFC.aps
文件 5173 2016-03-05 15:19 OPenGLDemo\Project\OpenGLScence_MFC\OpenGLScence_MFC\OpenGLScence_MFC.cpp
............此处省略127个文件信息
相关资源
- MFC+OpenGL 读取并显示STL三维模型
- opengl VisualC++
- Opengl VC++演示六轴机械手
- opengl光照旋转交互
- OpenGL+MFC工程具备鼠标操作
- 基于MFC用OpenGL画得一个三棱柱
- OpenGL三维图形程序设计及源码 c++
- 点云数据处理---用opengl绘制显示并操
- 3DSLoader.rar
- 三维五角星
- 虚拟三维场景opengl编程
- opengl MFC时钟动画
- C++ OpenGL实现太阳系运行轨迹
- C++开发的OPENGL立方体,支持鼠标拖拽
- CAD应用程序开发详解——Visual C++与
- MFC 中使用 OpenGL 1.0非微软版本,而是
- opengl/c++贪吃蛇.rar
- 用opengl和VC++实现的地球仪
- MFC+OpenGL三维绘图
- 《OpenGL编程指南第四版》+配套源码
- 计算机图形学opengl作业
- OBJ 模型文件读取显示 基于OpenGL MFC界
- Ply文件读取OpenGL显示
- OpenGL入门全套参考资料[C++]
- 17个VC++与OPENGL写的游戏程序代码
- Unity3D调用Native OpenGL渲染方式
- PictureControl
- Dlg_OpenGL
- mfc/cuda/opengl程序
- opengl在MFC平台上绘制三维图形并实现
评论
共有 条评论