• 大小: 41.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-30
  • 语言: C/C++
  • 标签: vs2010  openGL  

资源简介

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\link-cvtres.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link-cvtres.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.13348-cvtres.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.13348-cvtres.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.13348.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.13348.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.2788-cvtres.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.2788-cvtres.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.2788.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.2788.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.8460-cvtres.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.8460-cvtres.write.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.8460.read.1.tlog

     文件          2  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.8460.write.1.tlog

     文件       3630  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.command.1.tlog

     文件       8022  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.read.1.tlog

     文件       2428  2018-05-26 19:50  MyOpenGL_MFC1\MyOpenGL_MFC1\Debug\link.write.1.tlog

     文件     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个文件信息

评论

共有 条评论