自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 vector::erase()方法的详细介绍及问题解答

vector::erase():从指定容器删除指定位置的元素或某段范围内的元素vector::erase()方法有两种重载形式如下:iterator erase(   iterator _Where);1.iterator erase(   iterator _First,   iterator _Last);如果是删除指定位置的元素时:返回值是一个迭代器,指向删除元素下一

2016-10-12 16:10:04 445

原创 MFC显示图片过大,拖动滚动条时不正常处理方法

重载OnSroll方法,并加入如下代码if (LOBYTE(nScrollCode) == SB_THUMBTRACK){    SCROLLINFO info;    info.cbSize = sizeof( SCROLLINFO);    info.fMask = SIF_TRACKPOS;    GetScrollInfo( SB_HORZ, &info); 

2016-10-12 15:01:38 2010

原创 绘制图片时使用双缓冲机制,避免闪烁

CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);    BOOL bPrinting = pDC->IsPrinting();    float zoom=pDoc->GetZoomFactor();    CPoint scrollPoint = GetScrollPosition();    m_isScroll

2016-10-12 15:00:36 466

原创 VS2008无最近项目

打开项目后关闭VS,并再次启动时,在“最近的项目”中并不显示。而且在“文件”菜单下,有关此的菜单也消失了。问题是安装之后就存在修复一次未解决问题。 环境--常规设置中最近的项目为10和6解决方案:组策略中 gpedit.msc管理模板-》任务栏和开始菜单不要保留最近打开的文档记录退出时清除最近打开的文档记录这两个设置会影响vs的历史记录。

2016-10-12 14:59:43 562

转载 C中的volatile用法

volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如:volatile int i=10;int j = i;...int k = i;

2016-10-12 14:58:51 192

转载 VC/MFC图标菜单(菜单图标)的实现

一、单文档的菜单图标实现:1、新建一个位图资源,大小为13*13,假设ID为IDB_BITMAP1,画好图标2、在CMainFrame中添加成员变量:CBitmap bitmap3、在CMainFrame的OnCreate中加入:bitmap.LoadBitmap(IDB_BITMAP1);GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps

2016-10-12 14:58:08 2909

转载 vc中 'strcasecmp' : undeclared identifier

编译源代码,vc中经常会出现: 'strcasecmp' : undeclared identifier在vc的string.h中没有包含此函数:自己写个头文件把最下面的代码加进去即可~~~strcasecmp()函数的作用是:对两个字符串进行比较。该函数将返回下列值:0 —— 如果字符串相等>0 —— 如果string1大于string2其代码可以写为

2016-10-12 14:57:16 1210

转载 VS2008创建DLL工程

一、DLL的创建创建项目->Win32->Win32项目,名称:MyDLL->选择DLL1、新建头文件testdll.htestdll.h代码如下:#ifndef TestDll_H_#define TestDll_H_#ifdef MYLIBDLL#define MYLIBDLL extern "C" _declspec(dllimport)#

2016-10-12 14:56:08 627

原创 XML encoding list

[96264 urls; 154 unique values]PopularityValueFrequency1iso-8859-1545722utf-8270523iso-8859-239194shift_jis24645

2016-10-12 14:54:53 398

转载 CfileDialog不能依据选择的filter类型自动推导扩展名

原文地址:http://blog.sina.com.cn/s/blog_49366773010006f8.html在使用CfileDialog发现CfileDialog不能依据选择的filter类型自动推导扩展名,总感觉这是一个缺陷。因为已经使用选择的filter进行文件类型筛选了。代码如下:CString str("PDF Files (*.pdf)|*.pdf|PDF Edit F

2016-10-12 14:53:08 452

原创 CFileDialog如何使用lpstrFilter创建文件

TCHAR szFilter[] = _T("DXF Files|*.dxf|Sharp Files|*.shp||");    CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY,szFilter);    dlg.m_ofn.lpstrTitle = _T("新建矢量文件");    if (dlg.DoModal()==I

2016-10-12 14:52:24 1274

转载 浏览文件夹窗口FileBrowser

#pragma once// CFileBrowser dialogclass CFileBrowser : public CDialog{    DECLARE_DYNAMIC(CFileBrowser)public:    CFileBrowser(CWnd* pParent = NULL);   // standard constructor

2016-10-12 14:51:15 1309

转载 VC中DEGUG正常RELEASE出错探究

在自己编写vc的 MFC程序时遇到在DEBUG状态下能正常运行的程序,用RELEASE状态生成的exe就是要出错的问题。在网上找了以下资料:后来又通过挨个排查,终于找到了问题的原因,在最后将对以下资料做补充。在VC中当整个工程较大时,软件时常为出现在DEBUG状态下能运行而在RELEASE状态下无法运行的情况。由于开发者通常在DEBUG 状态下开发软件,所以这种情况时常是在我们

2016-10-12 14:50:28 429

转载 浅谈C/C++内存泄露及其检测工具

对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技 术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经

2016-10-12 14:49:26 341

原创 C/C++在调试程序时运行代码行数与实际不一致

问题如下:在C/C++中,利用__LINE__这个宏可以打印当前代码实际运行所在的行,在调试程序的时候发现不一致然后利用这个宏查看了相隔的行数差,这里本应该是740行,在output窗口里面实际是736,如图所示,原来调试的时候总是不一致,因此调试代码很头疼。最后发现了一种解决方法,在C/C++里面有个宏可以自定义代码行数,#line number,这里的number就是你要设置的

2016-10-12 14:48:12 3056

原创 MFC中MDI程序切换子窗体

CMainFrame *pFrame = ((CMainFrame*)(GetParent()->GetParentFrame()));pFrame->m_bIsMDIChanged = TRUE;CChildFrame* pOldChildFrame = (CChildFrame*)pFrame->MDIGetActive();CChildFrame* pChildFrame = p

2016-10-12 14:47:26 1248

转载 MDI环境下枚举所有打开的窗口

In MFC, each CMDIChildWnd created by the framework is managed as a child window of the MDIClient window. This MDIClient window is a child of the mainframe window and fills its client area. For MDI app

2016-10-12 14:44:09 597

原创 C++检测标点符号

下面是关于C++如何检测标点符号的,无论中文还是英文标点,这里能检测到的中文标点符号为GB2312编码格式的BOOL isText(string cStrName){    const char *str=cStrName.c_str();    char ch = *str++;    int i=1;    if(!(ch=='_' || ((ch & 0x80

2016-10-12 14:42:06 5703

转载 GIS开源库shapeLib的使用方法

转http://www.cnblogs.com/cjingzm/archive/2012/03/04/2378900.html    近期研究了一下GIS开源库shapeLib读写ArcGIS数据的API函数,先整理一下,将各个API的用法介绍一下。分为两个模块,shape API和DBF API,前者的读取.shp文件的空间几何信息,后者读取.dbf文件的属性信息。S

2016-10-12 14:40:19 650

转载 error LNK2005: "public: virtual __thiscall CMemDC::~CMemDC(void)"

uafxcwd.lib(afxglobals.obj) error LNK2005: "public: virtual __thiscall CMemDC::~CMemDC(void)" (??1CMemDC@@UAE@XZ) already defined in MultiColorPlotCtrl.obj上面是意思是,连接器说,我找到了两个定义,一个在 uafxcwd.lib(afxglo

2016-10-12 14:39:12 1901

转载 VS2010资源视图和类视图不显示的解决方法

前些天用VS2010时,准备使用类向导时,弹出错误提示,平常都用的好好的怎么就这样了呢,这好纠结,此外还发现类视图和资源视图也 都是空白,没东西了。但是再打开其他的工程时并未出现这样的问题,这就排除了是VS2010的问题,可能是工程的问题吧。在网上找了下都没有发现谁碰到这 样的怪问题。果断把vs2010的设置恢复到初始状态,就好了。不过不推荐这样做,好多设置好了的还要重新设置今天偶

2016-10-12 14:14:10 9340

转载 Windows界面——使用Custom Draw优雅的实现ListCtrl的重绘

使用Custom Draw优雅的实现ListCtrl的重绘 common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。 Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几

2016-10-12 14:13:34 334

转载 MFC可编辑CListCtrl

这里涉及到MFC控件开发许多知识点:消息响应,窗口绘制,根据鼠标点击位置取得行列信息。#pragma once#include "afxcmn.h"#include "ListCtrlEdit.h"// 大气象:定义一个ID#define IDC_EDIT 1001class CEditListCtrl :public CListCtrl

2016-10-12 14:04:46 268

转载 Edit Control with Icon and Background Text

Control with Icon and Background Text" style="margin:0px; padding:0px; border:0px; list-style:none; color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px">The same contro

2016-10-12 13:59:07 306

转载 C++继承详解

继承方式有3种:public,protected,private.    共有继承的特点是基类的公有成员和保护成员作为派生类的成员时,都保持原有的状态,而基类的私有成员仍然是私有的,但基类的私有成员不可直接访问,只能通过基类的函数来访问基类的私有成员。   保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元函数访问,基类的私有成员仍然是私

2016-10-12 13:57:37 317

原创 C++派生类构造函数

派生类构造函数调用顺序:1.基类的构造函数.2.子对象类的构造函数.3.派生类构造函数.当对象被删除时,派生类的析构函数被执行,由于析构函数也不能被继承,因此在执行派生类的析构函数时,基类的析构函数也会被调用。先执行派生类的析构函数,再执行子对象类的析构函数,再执行基类的构造函数。#includeusing namespace std;class A{pub

2016-10-12 13:55:54 452

转载 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)

VS2010建一个MFC的工程后,运行生成的对话框还有按钮之类的资源控件的风格是XP以前的传统的界面风格,效果不太令人满意。                               比较上面的图片,可以明显看到它们的不同。要怎么做呢?1. 将下面这段XML保存到你的工程目录下,文件名为XPStyle.manifest(注意后缀不是xml)

2016-10-12 13:55:07 460

转载 关于内存 GetMemory

void GetMemory(char *p){   p = (char *)malloc(100);}void Test(void){    char *str = NULL;    GetMemory(str);    strcpy(str, “hello world”);    printf(str);}请问运行Test 函数会有什么样的结果?

2016-10-12 13:54:06 161

转载 C++ STL中的vector的内存分配与释放

1.vector的内存增长vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一下,当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间、拷贝元素、撤销旧空间,这样性能难以接受。因此STL实现者在对vector进行内存分配时,其实际分

2016-10-12 13:52:47 334

转载 GIS海量数据的存储和读取

虽然现在硬件发展很快,内存、CPU等硬件指标都有很大的提高,但要PC机上处理GIS海量数据,还是显得比较吃力,而核心问题就在GIS数据的存储和读取上,这里主要涉及到三个子问题:1,图元是按怎样的顺序存储在文件磁盘中的(抑或是随机无规律的);2,对这些图元建立怎样的空间索引,这种索引是稀疏的,还是稠密的;3,读取数据的策略,比如,采用多线程,横向上,对当前窗口周围数据进行预读取,纵向上,对缩放图层的

2016-10-12 13:51:20 5243

转载 随机排列算法及《算法导论》5.3节习题解答

随机排列算法及《算法导论》5.3节习题解答  《算法导论》介绍了两种随机排列数组的算法。  第一种算法是为数组的每个元素A[i]赋一个随机的优先级P[i],然后依据优先级对数组A中的元素进行排序。例如,如果初始数组A=(1,2,3,4),随机选择的优先级P=(36,3,62,19),则将产生一个数组B=(2,4,1,3),因为第2个优先级最小,接下来是第4个,然后第1个,最后第

2016-10-12 13:50:07 3006

转载 Qlabel 自定义鼠标点击事件以及文本样式效果设计

需要设计的效果是:1、标题、内容以及图片均具有点击的效果;2、鼠标放置在标题和内容上,文字变色并且高亮显示,无需下划线;3、鼠标的形状:在放置在标题和内容上时由箭头变成小手指。整个窗体采用QWidget类型,标题、内容、图片采用QLabel类型。当我实现文本点击时,发现QLabel没有像button那样的clicked信号,网上推荐了如下两种方法:1、在标题中嵌入h

2016-10-12 13:48:43 2480

转载 中文QString转成char类型中造成乱码的原因

QString内部采用的是unicode编码,但是unicode编码有很多种,在实际应用时应制定具体的编码形式,常见的有GBK、GB2312和UTF-8等。UTF-8是解决国际上字符的一种多字节编码,它包含全世界国家所用到的所有字符,通用性强。英文单字节表示,中文需要三个字节表示。GBK是国家标准GB2312基础上扩容后并兼容GB2312标准,无论英文中文都用双字节来表示。GBK包

2016-10-12 13:46:39 3745

转载 高频率调用的函数一定要保证最优化,慎用除法和余数

转自: http://blog.csdn.net/mustanglau/article/details/4767937在近期优化系统的过程中,发现有个函数在高压力下,竟然占用13.3%的时间,这个函数内部很简单,基本就是这样:id_to_type(id){      int iIndex = id0000;      return g_data[iIndex

2016-10-12 13:43:53 3965

转载 点在多边形内算法——判断一个点是否在一个复杂多边形的内部

新页面(new page)介绍了将样条曲线添加到此技术的内容。也可以访问多边形内最短路径页(shortest-path-through-polygonpage)!图 1图1显示了一个具有14条边的凹多边形。我们要判断红色点是否在多边形内。解决方案是将测试点的Y坐标与多边形的每一个点进行比较,我们会得到一个测试点所在的行与多边形边的交点的列表。在这个例子中有8条边

2016-10-12 13:41:59 430

转载 关于GDAL计算图像坐标的几个问题

关于GDAL计算图像坐标的几个问题使用GDAL处理地理图像时,不可避免的会遇到一个问题,图像的地理坐标问题,因为有了这个地理坐标,地理图像才和普通图像有了最本质的区别,那么在使用GDAL时,如何处理与地理坐标相关的信息呢?下面进行简单的说明。1:如何使用行列号计算图像的地理坐标?或者如何通过地理坐标来定位在图像的某个位置?2:如何获取图像的四至范围?或者如果通过

2015-03-19 10:25:32 1470

转载 Morton Code

莫顿码 ,实现了一维与二维(或多维)的转换。它通过交叉存储两个数的位产生一个数,即莫顿码。可以应用于为一个整数对产生一个唯一索引。 例如,对于坐标系中的坐标点使用莫顿编码生成的莫顿码,可以唯一索引对应的点。这些索引为“Z”形排序 。 计算莫顿码: 有两种方式,一交叉分离计算,二查询对应的莫顿表计算。例如,计算两个unsigned short的

2014-12-26 16:58:03 1825

转载 四叉树空间索引原理及其实现

今天依然在放假中,在此将以前在学校写的四叉树的东西拿出来和大家分享。四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空间索引之一。常规四叉树的结构如图所示,地

2014-12-24 09:11:25 1058

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除