自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(33)
  • 资源 (13)
  • 收藏
  • 关注

原创 VC——使用DLL的方式操作excel

写工具软件,一直和excel打交道,之前一直采用excel.cpp.excel.h直接添加到工程的方式来读写excel,现在由于要对代码进行单元测试,excel。cpp和excel.h文件中竟然有上万行代码,会引起很大的测试量,因此打算采用dll调用的方式来读写excel。1. 首先从本机安装的office软件中导出DLL文件。在程序的的stdafx.h中增加以下内容。文件路径修改为本机安

2015-01-14 11:29:23 964

转载 VC——FlexGrid 属性 方法

说明:O 表示 VSFlexGrid 对象的名,A 表示当前属性名,|表示可选----------------------------------------------------------------------------------------------------------属性/方法名称        功能                         示例语法Add

2012-07-30 09:58:19 2361

原创 VC——MFC读取XML文件

在MFC中利用IXMLDOMDocumentPtr类来操作XML格式的文件首先:安装msxml.msi,下载地址 http://download.csdn.net/detail/wlq5800/4421675然后:在stdafx.h文件中,加载DLL文件#import 宏定义一下#define XMLDocPtr  MSXML2::IXMLDOMDocumentPtr#de

2012-07-10 22:31:50 3439 1

原创 VC——在listbox中显示不同背景颜色的内容的类

因为做的是工具软件,所以经常和不同的控件打交道,之前工具里面有个提示出错信息的提示框,用的人希望用不同的颜色来显示,这样方便查看,因此百度了一下,找到了下面这个基于listbox的类// MulitLineListBox.cpp : implementation file//#include "stdafx.h"#include "MulitLineListBox.h"#ifdef _

2011-06-21 11:54:00 1356 1

原创 VC——自动保存功能及自动恢复功能的实现

在以前什么都不懂的时候,老是觉得自动保存,自动更新之类的功能很神奇,但是接触下来发现,其实原理都是很简单的。无非是一个定时器而已。自动保存,在你想要开始的地方设置一个定时器SetTimer(1,2000,NULL);添加ontimer响应函数void CMyFrameWnd::OnTimer(UINT nIDEvent) { // TODO: Add your message hand

2011-06-21 11:40:00 753

原创 vc——类似与beyondcompare工具的文本比较算法源代码

由于工作需要,要做一个类似bc2的文本比较工具,用红色字体标明不同的地方,研究了半天,自己写了一个简易版的。文本比较的规则是1.先比较文本的行数,2.再比较对应行的字符串的长度3.再比较每一个字符串是否相同。具体代码如下:其中m_basestr和m_mergestr里面存放是待比较的字符串int basecount=m_basestr.GetLength(); int mergec

2011-06-21 11:20:00 2802 2

原创 VC——一个超级好用的分割cstring的函数

经常读取数据分析数据,也就经常需要对类似1,2,3,4,5形式的数据进行分割,下面这个函数是我用的最多的分割cstring的函数,和大家分享一下:int SplitString(LPCTSTR lpszStr, LPCTSTR lpszSplit, CStringList& rArrString, BOOL bAllowNullString)   {    rArrString.RemoveA

2011-06-21 10:53:00 1082

原创 VC——四则混合运算的封装类及使用方法

前一段时间,同事说需要一个能计算(1+1+1)*(1+1+1)类似格式的计算器功能的小工具。在网上百度了一下,马上就找了一个封装好的类Calculator,这个类使用简单,而且很好的满足了我们的需求,现在和大家分享一下。下载Calculator的cpp和h文件http://download.csdn.net/source/3381596,添加到你的工程中,在需要调用的地方include一下

2011-06-21 10:39:00 437

原创 AStyle——代码格式调整工具

    每次写完代码都会按alt+F8来对格式进行调整,但是alt+F8是只能对齐代码。并不能调整表达式的格式的。    AStyle工具是一款可以规范化你的代码的小工具,使用起来也非常简单,只需把AStyle.exe,options.conf,run.bat这3个文件拷贝到你要调整格式的工程目录下,双击run.bat运行结束之后,你的代码的格式就已经格式化好了!   下载路径:http:

2011-06-21 10:18:00 713 1

原创 VC——combo控件自动实现功能

呵呵,今天运气很好,突然发现一个实现combo控件按照字母搜索的类,很方便!// ComboBoxInput.cpp : implementation file//完成自动检索游戏名称的功能#include "stdafx.h"#include "newestnjn.h"#include "ComboBoxInput.h"#ifdef _DEBUG#define new DEBUG_NEW#und

2011-06-17 13:54:00 511

原创 VC——把exe文件转为dll文件

【详细过程】 VC下把EXE程序改称DLL文件 .dsp 工程文件,文本格式,不可丢失或损坏 .dsw 工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建 .clw ClassWizard信息文件,ini格式,ClassWizard出问题时可删除它再重建 .map 映像信息文件,编制DLL写.def文件时,若不知道函数导出顺序,可在 Prject/Settings/Link

2011-06-17 13:52:00 1260

原创 VC——数据库操作mysql

一、MySQL的安装 可以考虑安装mysql-5.0.41-win32(可到http://www.newhua.com/soft/3573.htm处下载),当然你有更新的版本更好,注意选择“完全安装”(只有这样才会安装VC编译时需要的头文件等)。安装后期会进行服务器配置,你可以设置你的服务器登陆密码,也可以不设置密码。二、数据库、表的创建打开“开始->所有程序->MySQL->MySQL

2011-06-17 13:50:00 478

原创 VC——不规则窗体的实现(自己绘图)

参考:http://www.vckbase.com/document/viewdoc/?id=1345原理:所有的 Windows 窗体都位于一个称为“region”中,窗体的大小如果超出“region”的范围,windows 会自动裁剪超出"region"范围那部分的窗体,使其不可见。所以,要创建不规则窗体有两个步骤:第一步就是创建不规则"region".第二步就是将窗体放到创建的“re

2011-06-17 13:48:00 1347

原创 VC——操作excel

首先添加excel9.h和excel9.cpp到你的工程下http://download.csdn.net/source/3372984在要操作excel的cpp文件中#include "excel.h" 使用方法如下:1.初始化//打开Excel模板      _xls_Application ExcelApp; Workbooks Excelbooks; _Workbo

2011-06-17 13:39:00 886 2

原创 VC——操作xml(利用微软自带的xml库)

将msxml4.tlh和msxml4.tli这2个文件拷贝到debug文件夹下:下载路径(http://download.csdn.net/source/3372618)在stdafx.h中添加如下代码:#import #define XMLDocPtr  MSXML2::IXMLDOMDocumentPtr#define XMLNodePtr  MSXML2::IXMLDOMNodePt

2011-06-17 11:42:00 815

原创 VC——只能开启一个客户端模式

<br />很多时候,我们不希望用户多开客户端,这样我们需要写一些互斥代码,具体如下:<br />在APP文件中UINT WM_WKSTLOCK = RegisterWindowMessage(_T("Input8OnlyOne"));声明<br />然后在BOOL CWlqnjnApp::InitInstance()<br />{<br />HANDLE Mutex = OpenMutex(MUTEX_ALL_ACCESS, false, "Input8OneInstanceAllowed");  <br

2010-12-28 17:07:00 463

原创 VC——添加托盘消息

<br />很多程序都可以缩小到电脑的右下角变成一个图标,这个就是在程序中添加托盘消息,添加的步骤如下:<br />1.在XXXdlg.h中添加托盘函数的void toTray();<br />2.在XXXdlg.cpp中写函数定义:<br />void CXXXDlg::toTray() <br />{ <br /> NOTIFYICONDATA nid; <br /> nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); <br /> nid.hWnd=this->m_hW

2010-12-28 16:49:00 1633

原创 VC——读取网卡信息

网络编程中经常需要获得类似于路由信息,ip信息之类的东西。下面的这个函数可以实现读取网卡信息:void MASKinfo(){ PIP_ADAPTER_INFO pAdapterInfo;    PIP_ADAPTER_INFO pAdapter = NULL;    DWORD dwRetVal = 0; DWORD index=0; CString str;    pAdapterInfo = (IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));    U

2010-12-28 16:33:00 816

原创 VC——添加自己的消息函数

<br />    有时候我们需要添加自己的消息函数来完成特定的功能,添加消息函数有3个步骤:<br />1.在stdafx.h中,添加消息函数的宏定义<br />#define WM_MY_MESSAGE  WM_USER + 102 其中WM_USER是VC提供给我们定义自己的消息函数的。<br />2.在要使用的类的.h文件里面添加函数声明:<br />LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);<br />3.在.cpp文件的BEGIN_MES

2010-12-28 16:24:00 406

原创 VC获取当前路径

<br />   在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径:<br />//////////////////////////////////////////////////////////////////////////////<br />/////////////////////////////////获得当前路径<br />///////////////////////////////////////////////////////////////////////

2010-12-28 14:51:00 3084 1

原创 VC——自动更新功能之自动安装

<br />一般自动安装就是指下载完成之后调用<br /> WinExec("//XXX.exe",SW_SHOWNORMAL);来启动exe,会经常遇到的问题是很多软件都设置了只能开一个客户端的功能,因此在不关闭本身运行的程序之前不能完成自动安装的功能。<br />因此很多时候都会单独做一个自动更新的程序,在你点击启动主程序时,先启动updata程序,然后关闭主程序,当更新完成之后再调用主程序来达到自动安装的功能!<br />具体实现如下:<br />在主程序中先比较有没有更新有的话调用如下函数:<br

2010-12-28 14:40:00 2528

原创 VC——自动更新功能之下载文件及进度条显示

<br /><br />首先添加进度条控件,添加其关联的变量m_progress,先将进度条条初始化m_progress.SetPos(0);<br />然后调用下载函数InternetGetFile (CString szUrl,CString szFileName)<br />前一个参数是远程文件的路径及名称,后一个是本地保存文件的路径很名称,在这里远程文件路径必须要带http://前缀。<br />int CLOGIN::InternetGetFile (CString szUrl,CString s

2010-12-28 14:24:00 1751

原创 VC——自动更新功能之多线程

<br />      做产品软件,我们经常遇到的是软件更新问题,更新问题涉及到的内容还比较多。<br />1.是打开软件要自动检测,这样就需要一个多线程来实现。<br />2.要在网上下载最新版本的版本号,与本地文件比较,有更新就需要从指定站点下载最新的软件包。<br />3.下载过程中需要显示下载的进度,需要使用进度条软件。<br />4.下载完成后的安装包我们需要自动安装。<br />在这里我们先来讲一下多线程自动检测。<br />首先定义一个线程函数:<br />UINT update(LPVOID

2010-12-28 14:17:00 931

原创 VC——密码保存功能

<br /> <br />         <br />我们在做客户端软件的时候,经常会遇到要使用密码保存的功能,其实密码保存功能的原理很简单,当我们在点击保存密码的按钮时,我们将读取用户名和密码框里面的字符串,存储在某个指定的文件里面,然后在初始化函数里面,读取这个文件的内容,显示在用户名和密码框中,即可!<br />     具体代码实现:双击保存用户名的复选框,添加响应函数<br />     void CLOGIN::OnCheck1() <br />{<br /> // TODO: Add you

2010-12-28 14:01:00 1472 1

原创 使用cmarkup类解析xml格式

<br />在读写配置文件的时候经常使用xml格式,这样方便操作,在网上找了好多资料,决定使用cmarkup类来解析,使用了很长时间觉得很方便,与大家分享一下。<br />将CMarkup.h和CMarkup.cpp添加到我们的工程中,编译一下会出来错误,这时要添加#include "stdafx.h"头文件。<br />在我们要使用的工程中<br />#include "Markup.h" <br />然后在函数里面添加<br />CString csSN,csip,csmask;<br /> CMark

2010-12-28 13:40:00 574 1

原创 MSFlexGrid控件响应滑轮消息

<br />在CView中应用的MSFlexGrid控件如何响应滚轮消息,<br />在初始化函数CMyView::OnInitialUpdate()中对表格进行初始化,m_gridMyForm是关联MSFlexGrid的控件变量<br /><br /><br />void CFlexgridWheelView::OnInitialUpdate()<br />{<br />       CView::OnInitialUpdate();<br />       GetParentFrame()->Recal

2010-12-24 16:18:00 552

原创 静态拆分窗口——三叉窗口

<br />1.首先在CMainFrm.h中定义2个CSplitterWnd 的变量:<br />CSplitterWnd m_wndSplitter1;<br />CSplitterWnd m_wndSplitter2;<br />2.添加你要加载的3个子窗口的类class wizard ----add class-----新建基于cview的类CView1,CView2,CView3。<br />3.在CMainFrm.CPp中添加消息响应函数OnCreateClient。<br />4.<br />B

2010-12-24 11:28:00 712

原创 我的VC++——VC++6.0登录对话框设计(登录对话框优先主框架显示)

1.新建一个登陆对话框,添加其对应的类CLoginDlg,然后在.cpp里面写你要完成的功能!2.显示登陆对话框,在App类源文件中顶部声明#include"CLoginDlg.h",在InitInstance()方法中第一行开始加入如下代码:<br />CLoginDlg ld;<br />BOOL islogin = FALSE;<br />CLoginDlg cd;<br />while(!islogin){<br />   if(ld.DoModal()==IDOK){<br />//可用cd.

2010-12-21 17:24:00 1876 1

原创 我的VC——VC中窗口ID,句柄,指针三者相互转换函数

<br />ID--HANDLE--HWND三者之间的互相转换<br />id->句柄        hWnd = ::GetDlgItem(hParentWnd,id);<br />id->指针        CWnd::GetDlgItem();<br />句柄->id        id = GetWindowLong(hWnd,GWL_ID);<br />句柄->指针    CWnd *pWnd=CWnd::FromHandle(hWnd);<br />指针->ID       id = GetWi

2010-12-21 17:20:00 447

原创 我的VC——对话框背景色及背景图片

<br />MFC界面编程无非不是根据已有类函数对控件进行设置,就是重载类函数重绘控件,达到自己想要的效。思路是很简单,但是实际操作起来就。。。。。<br />之前用了SkinPPWTL.dll来加载皮肤完成了界面的美化,使用起来很简单,导入库函数,加载DLL,在APP文件InitInstance()里面初始化,加载皮肤,最后在ExitInstance() 释放变量即可。虽然可用的皮肤很少,但是比起系统默认的界面要好很多。在后来发现对话框上的右键很容易引起系统崩溃。。。。只好放弃,开始自己的MFC界面编程之

2010-12-21 17:18:00 3918

原创 我的VC++——对话框最前端显示

<br /> 很多时候我们想破的脑袋,以为是很难的一个问题,结果一句代码就可以解决,就好比我想让我的窗口一直最前端显示只需是代码里加一句<br />::SetWindowPos(AfxGetMainWnd()->m_hWnd,HWND_TOPMOST,-1,-1,-1,-1,SWP_NOMOVE|SWP_NOSIZE);<br />  其实人生也是这样,我们总是以为很难,其实你只要放宽心,一切都会过去的!<br />我一直在领悟人生,领悟生活

2010-12-21 17:16:00 1953 1

原创 我的VC————listcontrol排序的实现

记得以前就试过给list控件排序,但是失败了,今天下午试了一个也失败看,晚上抱着试试看的想法又搜了一个,呵呵,竟然成功了,用了2个函数而已,比用类的简单。先在.cpp文件的上面定义几个全局变量 BOOL m_bAsc1;//是否顺序排序int m_nSortedCol1;//当前排序的列static int CALLBACK SortLVProc1(LPARAM lParam1,LPARAM lParam2,LPARAM lParamSort);排序函数static int CALLBACK SortLVP

2010-12-21 17:15:00 2103 1

原创 我的VC++——对话框中显示GIF格式的图片

PictureEx图片显示类支持以下格式的图片:GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR等,我特别推崇的是可以做出动画,而且轻而易举,确实很COOL。下面是详细的编程过程:1. 新建项目:在VC6中用MFC新建一个基于对话框的GifDemo应用程序,接受所有缺省选项即可;2.在项目中插入文件:把PictureEx.h,PictureEx.cpp文件copy 到项目文件夹下,Project->Add to Proj

2010-12-21 17:11:00 1870 1

XML解析器安装包

安装了这个之后在MFC中#import 就可以在MFC中调用IXMLDOMDocumentPtr类的函数

2012-07-10

Visual+C++程序开发范例宝典2

Visual+C++程序开发范例宝典2,400个实例程序

2011-09-23

Calculator一个四则运算的类

完成四则混合运算的类,使用方法见我的博客!

2011-06-21

excel9.h和excel9.cpp

vc操作excel需要的库函数,用法,添加这2个文件到你的过程中,然后用的时候include即可

2011-06-17

excel.h和excel.cpp

vc操作excel需要的库函数,用法,添加这2个文件到你的过程中,然后用的时候include即可

2011-06-17

AStyle调整源代码格式的小工具

功能:格式化你的代码如:i=0; 格式化之后的结果为:i = 0; 使用方法:将这三个文件拷贝到你要格式化的文件的目录下,运行run.bat即可。

2011-06-17

msxml4.tlh和msxml4.tli

VC操作xml需要的2个库文件,有了它可以在VC中直接调用MSXML2库中的函数来操作xml

2011-06-17

Cmarkup类——解析xml

用来解析xml文件的类,操作简单,使用方便!!!

2010-12-28

MFC类库详解.chm

MFC类库详解.chm,里面有所有MFC的类函数说明,是学习MFC不可多得的帮手。

2010-04-01

ieHTTPHeadersSetup网络嗅探器

ieHTTPHeadersSetup网络嗅探器,使用简单,安装,打开浏览器选择查看——浏览器栏——ieHTTPHeaders即可

2010-04-01

VC多线程下载源代码

mfc下实现多线程下载文件的源代码,实现简单,大家可以看看

2010-04-01

MFC客户端/服务器应用实例

在MFC上应用socket实现的客户端与服务器的代码,包括客户端代码和服务器端代码

2010-04-01

空空如也

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

TA关注的人

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