资源简介
内容主体框架来源于网络
但实现更简洁,适合VC++有一定基础的
实现画线,画圆,画椭圆等算法
代码片段和文件信息
// MainFrm.cpp : implementation of the CMainframe class
//
#include “stdafx.h“
#include “MyDraw.h“
#include “MainFrm.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainframe
IMPLEMENT_DYNCREATE(CMainframe CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code !
ON_WM_CREATE()
//ON_COMMAND(ID_DRAW_ELLIPSE OnDrawTools)
//ON_COMMAND(ID_DRAW_POINT OnDrawTools)
//ON_COMMAND(ID_DRAW_LINE OnDrawTools)
//ON_COMMAND(ID_DRAW_RECTANGLE OnDrawTools)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR // status line indicator
ID_COORDINATE_X
ID_COORDINATE_Y
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
/////////////////////////////////////////////////////////////////////////////
// CMainframe construction/destruction
CMainframe::CMainframe()
{
// TODO: add member initialization code here
//m_nCurID=ID_DRAW_LINE;
}
CMainframe::~CMainframe()
{
}
int CMainframe::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CframeWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this TBstyle_FLAT WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINframe))
{
TRACE0(“Failed to create toolbar\n“);
return -1; // fail to create
}
m_wndDrawTools.Create(this);
m_wndDrawTools.LoadToolBar(IDR_DRAWTOOLS);
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators
sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Failed to create status bar\n“);
return -1; // fail to create
}
// TODO: Delete these three lines if you don‘t want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
m_wndDrawTools.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDrawTools);
m_wndStatusBar.SetPaneInfo(1ID_COORDINATE_XSBPS_POPOUT50);
m_wndStatusBar.SetPaneInfo(2ID_COORDINATE_YSBPS_POPOUT50);
return 0;
}
BOOL CMainframe::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CframeWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.cx=530;
cs.cy=410;
cs.x = (GetSystemMetrics(SM_CXSCREEN) - cs.cx) / 2;
cs.y = (GetSystemMetrics(SM_CYSCREEN) - cs.cy) / 2;
cs.style = WS_CAPTION | WS_SYSMENU;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainframe diagnostics
#ifdef _DEBUG
void CMainframe::AssertValid() const
{
CframeWnd::Assert
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20686 2010-04-12 23:34 MyDraw\Debug\MainFrm.obj
文件 344117 2010-04-13 10:46 MyDraw\Debug\MyDraw.exe
文件 531192 2010-04-13 10:46 MyDraw\Debug\MyDraw.ilk
文件 25012 2010-04-13 09:04 MyDraw\Debug\MyDraw.obj
文件 5497736 2010-04-12 19:26 MyDraw\Debug\MyDraw.pch
文件 541696 2010-04-13 10:46 MyDraw\Debug\MyDraw.pdb
文件 174920 2010-04-12 23:17 MyDraw\Debug\MyDraw.res
文件 14523 2010-04-12 19:26 MyDraw\Debug\MyDrawDoc.obj
文件 70873 2010-04-13 10:46 MyDraw\Debug\MyDrawView.obj
文件 105451 2010-04-12 19:26 MyDraw\Debug\StdAfx.obj
文件 246784 2010-04-20 13:36 MyDraw\Debug\vc60.idb
文件 430080 2010-04-13 10:46 MyDraw\Debug\vc60.pdb
文件 3442 2010-04-12 23:34 MyDraw\MainFrm.cpp
文件 1649 2010-04-12 20:46 MyDraw\MainFrm.h
文件 211872 2010-04-12 23:17 MyDraw\MyDraw.aps
文件 2007 2010-04-20 20:12 MyDraw\MyDraw.clw
文件 4209 2010-04-12 19:11 MyDraw\MyDraw.cpp
文件 4692 2010-04-12 20:48 MyDraw\MyDraw.dsp
文件 520 2010-04-12 19:11 MyDraw\MyDraw.dsw
文件 1356 2010-04-12 19:11 MyDraw\MyDraw.h
文件 74752 2010-04-20 20:12 MyDraw\MyDraw.ncb
文件 53760 2010-04-20 20:12 MyDraw\MyDraw.opt
文件 1121 2010-04-13 10:46 MyDraw\MyDraw.plg
文件 10721 2010-04-12 23:17 MyDraw\MyDraw.rc
文件 1742 2010-04-12 19:11 MyDraw\MyDrawDoc.cpp
文件 1475 2010-04-12 19:11 MyDraw\MyDrawDoc.h
文件 11322 2010-04-18 19:53 MyDraw\MyDrawView.cpp
文件 3653 2010-04-13 09:02 MyDraw\MyDrawView.h
文件 4311 2010-04-12 19:11 MyDraw\ReadMe.txt
文件 167478 2010-04-12 22:47 MyDraw\res\bitmap1.bmp
............此处省略14个文件信息
相关资源
- c++ 、MFC 实现中点画圆算法及工程代码
- DDA、中点画线法、Bresenham算法
- Bresenham画线连成多边形并填充
- 计算机图形学 中点画椭圆法 Bresenha
- Bresenham画圆算法和中点圆整数优化算
- 计算机图形学直线段的扫描转换C++实
- Bresenham直线算法的C++实现
- 完全Bresenham算法生成椭圆
- 基于VC6.0的Bresenham直线算法
- MFC画线三种算法包括画圆,画点
- 计算机图形学大实验直线DDA和bresenh
- MFC中点画圆Bresenham算法画圆
- vc++实现bresenham生成直线
- c++ OpenGL DDA/Bresenham 算法画直线, 多
评论
共有 条评论