VC读取shapefile文件源码,处理点线面


一个MFC读取shapefile并解析的源码,适合对shapefile文件解析的测试
资源截图
代码片段和文件信息
////////////////////////////////////////////////////////////////
// CoolTabCtrl.cpp : implementation file                      //
//   //
// Copyright 2001 WangJun   //
// All Rights Reserved.   //
//   //
// Email: wangjun98@sohu.com   //
// URL:   www.vckbase.com   //
//   //
// 1.0     2001/9/30   First release version.   //
//   //
// 2004/2/8 添加对WM_NOTIFY消息的处理   //
// 2005/2/2 修正内存泄漏   //
//                                                            //
////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “CoolTabCtrl.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCoolTabCtrl

IMPLEMENT_DYNCREATE(CCoolTabCtrl CWnd)

#define ITEMBUTTON_HEIGHT 23

static CPen _penW(PS_SOLID1 RGB(255255255));
static CPen _penB(PS_SOLID1 RGB(000));
static CPen _pen3DFace(PS_SOLID1GetSysColor(COLOR_3DFACE));
static CPen _pen3DLight(PS_SOLID1GetSysColor(COLOR_3DLIGHT));
static CPen _pen3DShadow(PS_SOLID1GetSysColor(COLOR_3DSHADOW));
static CPen _pen3DDKShadow(PS_SOLID1GetSysColor(COLOR_3DDKSHADOW));


CCoolTabCtrl::CCoolTabCtrl()
{
m_nstyle = TCS_DOWN;
m_nActivePage = -1;
m_nBorder = 1;
m_bEraseBkgnd = TRUE;
}

CCoolTabCtrl::~CCoolTabCtrl()
{
POSITION pos;
CPageItem* pItem;
for(pos=m_PageList.GetHeadPosition();pos!=NULL;)
{
pItem=(CPageItem*)m_PageList.GetNext(pos);
if(pItem)
{
if(pItem->m_nstyle == 1 && pItem->m_pWnd) // 动态创建
{
pItem->m_pWnd->DestroyWindow();
delete pItem->m_pWnd;
}
delete pItem;
pItem=NULL;
}
}
m_PageList.RemoveAll();
}


BEGIN_MESSAGE_MAP(CCoolTabCtrl CWnd)
//{{AFX_MSG_MAP(CCoolTabCtrl)
ON_WM_PAINT()
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_SIZING()
ON_WM_SIZE()
ON_WM_TIMER()
ON_WM_CREATE()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CCoolTabCtrl message handlers

BOOL CCoolTabCtrl::Create(UINT wstyle const CRect &rect CWnd *pParentWnd UINT nID)
{
m_nstyle = wstyle & TCS_MASK;
if(m_nstyle == 0)
m_nstyle = TCS_UP;
if (CWnd::Create(AfxRegisterWndClass(CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW AfxGetApp()->LoadStandardCursor(IDC_ARROW) (HBRUSH)GetStockobject(LTGRAY_BRUSH) NULL)
NULL
wstyle&~TCS_MASK | WS_CLIPCHILDREN | WS_CLIPSIBLINGS
rect 
pParentWnd 
nID))
{

return TRUE;
}
return FALSE;
}

BOOL CCoolTabCtrl::OnEraseBkgnd(CDC* pDC) 
{
if(m_bEraseBkgnd)
{
CRect rect;
GetWindowRect(&rect);
ScreenToClient(&rect);
CBrush brush(GetSysColor(COLOR_3DFACE));
pDC->FillRect(rect&brush);
}
return TRUE;
}

void CCoolTabCtrl::OnPaint() 
{
CPain

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13906  2005-02-02 22:49  Shapefilec++CoolTabCtrl.cpp

     文件       3455  2005-02-02 22:46  Shapefilec++CoolTabCtrl.h

     文件      63016  2009-12-15 21:22  Shapefilec++DebugCoolTabCtrl.obj

     文件      12031  2009-12-15 21:22  Shapefilec++DebugCoolTabCtrl.sbr

     文件      35362  2009-12-15 21:22  Shapefilec++DebugMainFrm.obj

     文件      10980  2009-12-15 21:22  Shapefilec++DebugMainFrm.sbr

     文件       4001  2009-12-15 21:22  Shapefilec++DebugPolygon.obj

     文件       2586  2009-12-15 21:22  Shapefilec++DebugPolygon.sbr

     文件       6100  2009-12-15 21:22  Shapefilec++DebugPolyline.obj

     文件      54396  2009-12-15 21:22  Shapefilec++DebugPolyline.sbr

     文件      33896  2009-12-15 21:22  Shapefilec++Debugscbarg.obj

     文件       4917  2009-12-15 21:22  Shapefilec++Debugscbarg.sbr

     文件      54523  2009-12-15 21:22  Shapefilec++DebugShapeFileData.obj

     文件     100233  2009-12-15 21:22  Shapefilec++DebugShapeFileData.sbr

     文件      67423  2009-12-15 21:22  Shapefilec++DebugShapeFileInfo.obj

     文件     116034  2009-12-15 21:22  Shapefilec++DebugShapeFileInfo.sbr

     文件     245835  2009-12-15 21:22  Shapefilec++DebugShapeFileReader.exe

     文件      28693  2009-12-15 21:22  Shapefilec++DebugShapeFileReader.obj

     文件     787456  2009-12-15 21:22  Shapefilec++DebugShapeFileReader.pdb

     文件      30424  2009-11-14 09:11  Shapefilec++DebugShapeFileReader.res

     文件     127140  2009-12-15 21:22  Shapefilec++DebugShapeFileReader.sbr

     文件      86719  2009-12-15 21:22  Shapefilec++DebugShapeFileReaderDoc.obj

     文件     129735  2009-12-15 21:22  Shapefilec++DebugShapeFileReaderDoc.sbr

     文件      60593  2009-12-15 21:22  Shapefilec++DebugShapeFileReaderView.obj

     文件     138721  2009-12-15 21:22  Shapefilec++DebugShapeFileReaderView.sbr

     文件      19567  2009-12-15 21:22  Shapefilec++DebugShapelayer.obj

     文件     107674  2009-12-15 21:22  Shapefilec++DebugShapelayer.sbr

     文件       4152  2009-12-15 21:22  Shapefilec++DebugShpParameter.obj

     文件       3096  2009-12-15 21:22  Shapefilec++DebugShpParameter.sbr

     文件      85039  2009-12-15 21:22  Shapefilec++Debugsizecbar.obj

............此处省略73个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)