MFC
云雨巫山
没有看不见的太阳
展开
-
MyFolderEditBrowseCtrl
// MyFolderEditBrowseCtrl.cpp : implementation file//#include "stdafx.h"#include "iDART_UI.h"#include "MyFolderEditBrowseCtrl.h"//////////////////////////////////////////////////////////////原创 2012-07-31 09:01:33 · 655 阅读 · 0 评论 -
MyProgressCtrl
// MyProgressCtrl.cpp : implementation file//#include "stdafx.h"#include "iDART_UI.h"#include "MyProgressCtrl.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[原创 2012-07-31 09:02:26 · 624 阅读 · 0 评论 -
FunctionView
#include "stdafx.h"#include "MainFrm.h"#include "FunctionView.h"#include "Resource.h"#include "iDART_UI.h"#include "MyPropertySheet.h"#include "TimerManagerPage.h"class CFunctionViewMenu原创 2012-07-30 15:45:41 · 2127 阅读 · 0 评论 -
GridCtrlView
// GridCtrlView.cpp : implementation file//#include "stdafx.h"#include "iDART_UI.h"#include "iDART_UIDoc.h"#include "GridCtrlView.h"////////////////////////////////////////////////////////原创 2012-07-30 15:47:22 · 681 阅读 · 0 评论 -
GoogleEarthView
// GooleEarthView.cpp : implementation file//#include "stdafx.h"// SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的// ATL 项目中进行定义,并允许与该项目共享文档代码。#ifndef SHARED_HANDLERS#include "iDART_UI.h"#endif#i原创 2012-07-30 15:46:44 · 888 阅读 · 0 评论 -
FileListView
// FileListView.cpp : implementation file//#include "stdafx.h"#include "iDART_UI.h"#include "Resource.h"#include "FileListView.h"class CShellTreeMenuButton : public CMFCToolBarMenuButton原创 2012-07-30 15:44:49 · 1128 阅读 · 0 评论 -
google earth 二次开发问题
这里用到一种黑客的手段–hook–来实现,将ge的地图显示部分强行抢夺到我们所指定的一个winform控件上去, 并将ge的主窗体隐藏起来。GE的com api为实现hook提供了方便,通过IApplicationGE.GetMainHwnd()和IApplicationGE.GetRenderHwnd()两个函数我们可以获取到GE主窗体和地图显示部分的句柄,然后利用windows api的几个函转载 2012-06-11 07:42:46 · 1793 阅读 · 0 评论 -
MFC总结
MFC经验总结 2012-04-10 14:12:54| 分类: MFC|字号 订阅本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sunyikuyu/archive/2010/06/27/5697250.aspx 1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改。转载 2012-05-22 00:09:09 · 4364 阅读 · 0 评论 -
如何去掉MFC单文档右上角的关闭按钮
在CMainFrame的OnCreate函数的return 0;前加上下面的代码即可。 CMenu* pMenu=GetSystemMenu(false); UINT nID=pMenu->GetMenuItemID(pMenu->GetMenuItemCount()-1); pMenu->EnableMenuItem(nID,MF_DISABLED);1,是按钮变灰:创建窗口完成后调用E转载 2012-06-12 23:35:20 · 8292 阅读 · 0 评论 -
MFC多线程
MFC的多线程函数必须声明为静态的或者是全局函数(不同的在于全局函数不能访问类的私有静态成员,而静态类函数可以):但这样的线程函数只能访问静态的成员变量,要实现访问类的其他成员,可以这样实现:1)全局函数。如 UINT MyThread(LPVOID p) 2)类的静态成员函数。如 static UINT MyView::MyThread(LPVOID p)转载 2012-06-12 23:56:15 · 4025 阅读 · 0 评论 -
StringOpt
#include "stdafx.h"#include "StringOpt.h"bool IsSpace(char c){ if (' ' == c || '\t' == c) { return true; } return false;}void TrimLeft(string &str){ if (str.emp原创 2012-07-31 10:25:57 · 667 阅读 · 0 评论 -
excel
IntroductionThere has been the C++ project BasicExcel for quite some years now. It is very useful to read and write Excel sheets in .xls format. However, it contains only very basic functionality.转载 2012-06-11 07:55:47 · 1539 阅读 · 0 评论 -
MFC进度条同步问题
读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提供了一个范例程序prgsbar,它演示了在编辑视图里显转载 2012-05-22 00:59:57 · 4374 阅读 · 0 评论 -
VC MFC 文件文件夹操作整理
VC++ MFC文件,文件夹操作整理 文件属性相关1.判断文件是否存在利用CFile类和CFileStatus类判断CFileStatus filestatus;if (CFile::GetStatus(_T("d:\\softist.txt"), filestatus)) AfxMessageBox(_T("文件存在"));el转载 2012-05-16 23:39:03 · 1623 阅读 · 0 评论 -
MDI不使用默认子窗口
MDI 程序 有时候我们希望不生成默认的子窗口,由我们自己创建 而于此同时有不希望改变原来的CMultiDocTemplate,网上有一些方法是干掉模板,自己实现。这未免有点伤筋冻骨。其实我们就一句话就可以不生成默认窗口。应用程序类的InitInstance方法修改如下:// Parse command line for standard shell command转载 2012-04-19 07:51:25 · 2532 阅读 · 0 评论 -
C++读取excel
// ReadExcel.h#ifndef __SNOWWIN_EXCEL_FILE_H__#define __SNOWWIN_EXCEL_FILE_H__#include #include #include /// excel表中字段的类型enum DataType{DT_TEXT, //!DT_NUMBER //!};/// 列结转载 2012-04-19 21:51:12 · 4241 阅读 · 0 评论 -
GoogleEarth二次开发难点和技巧
一、 基本步骤 1、安装GoogleEarth程序 2、对GoogleEarth activex控件进行注册(googleearth.exe /regserver) 3、在开发环境中引用googleearth activex 二、 开发方式 针对GE的开发有两种方式,一种是基于GE的com API,一种是基于KML。基于 Com API的开发方式主要用来转载 2012-04-19 21:23:49 · 5175 阅读 · 0 评论 -
VC++操作excel
本文档适用于:Microsoft Foundation Classes (MFC), Microsoft Visual C++, 32-bit Editions, version 6.0 以上Microsoft OLE 库 第一步:建立一个自动化工程启动VC 6.0,打开新建对话框,新建一个MFC AppWizard(exe)工程,这里工程明设置为TestE转载 2012-04-19 22:11:29 · 2154 阅读 · 1 评论 -
MFC加载EXCEL代码
9:09| 分类: 默认分类|字号 订阅一直以来就对EXCEL的各种功能很崇拜,后来经常使用VC,由于工作的需要,经常会遇到将文本文件中的庞大数据提取到Excel中运算处理。这个工作量可谓是劳民伤财,但是又不可不做,于是使用最简单的数据流(fscanf(), fprintf()之类)书写文本格式的Excel文件,其弱智程度我就不说了。。。但是随着数据量的增转载 2012-05-27 20:09:50 · 3788 阅读 · 0 评论 -
MFC使用第三方CSpreadSheet
有些时候我们希望将输出的数据存到EXCEL文件或一些符号分隔文本文件(像逗号分隔、Tab符分隔)。CSpreadSheet类封装了对这些文件的读写操作。CSpreadSheet类的目标是简单易用,其主要的特性如下:1、构造一个新的EXCEL文件或符号分隔文本文件,并在其中写如行或单个的单元。2、读取行、列或单个单元。3、覆盖、插入或追加行。4、将已存在或新的EXCE转载 2012-05-27 20:34:03 · 12623 阅读 · 9 评论 -
tinyxml与boost结合做界面
Boost库实在是一个博大精深的库。经过实验,我发现巧用boost::bind和boost::function可以实现一些巧妙的设计。 编写过MFC程序的朋友都知道,通过资源编辑器编辑菜单项,设定菜单项ID,然后MFC内部通过该ID来映射菜单命令处理函数和菜单界面更新函数。我设想撇开MFC的资源编辑,在MFC程序中通过xml文件来进行界面配置,然后利用字符串来映射消息处理函数。借助转载 2012-05-28 23:17:04 · 1859 阅读 · 1 评论 -
xml接口对象化
在TinyXml快速入门的系列文章中(详情见本博客),我只是将tinyxml类库解析xml文件的类封装为API接口。这次我决定将这些API接口对象化,并结合自定义的数据结构解析xml文件。 具体是新建一个CXmlParse类,头文件声明如下:Code highlighting produced by Actipro CodeHighlighter (freewar转载 2012-05-28 23:19:25 · 975 阅读 · 0 评论 -
VS2010MDI子菜单操作代码
现在很多应用程序的界面基本是用配置文件来规划界面的,在这个时候就得学会自定义菜单栏和工具栏之类的。 VS Feature Pack是为微软新推出的界面库(听说是买BCG的授权,然后对之进行改造的),其中的主要的界面类可以和BCG的界面类可以对应起来,类的使用和BCG的也大同小异。但是有些做法还是很不一样,比如这次我要提到的自定义菜单栏。这里的自定义菜单栏是指去除系统默认的菜单转载 2012-04-19 07:36:00 · 3254 阅读 · 1 评论 -
基于列表控件的属性页实现
很多MFC的程序都用到了属性表和属性页来实现选项设置的界面,但是MFC本身提供的属性表页功能有限,界面也很原始,一些新软件都实现了自己定义的更为美观的属性页。MFC原始的属性页是通过CTabCtrl进行切换控制的,本文给出了一种现在较为常见的用CListCtrl进行页面切换的属性页的方法,并且对对列表控件进行了重绘。 CMyPropertySheet是一个从CPropertySheet派生而来的类原创 2012-05-03 21:50:48 · 1869 阅读 · 0 评论 -
在vs2010+MFC中动态添加菜单选项
因为微软买了BCG那些东西,所以现在的MFC动态添加菜单选项和以前VC6.0上的不一样,需要在BOOL CMainFrame::OnShowPopupMenu(CMFCPopupMenu *pMenuPopup)中处理。 我新建了一个单文档工程来测试,下面是添加步骤:0.在Resource.h文件中添加菜单选项的ID:#define IDS_ED转载 2012-04-17 23:15:06 · 6146 阅读 · 2 评论 -
1.1 MFC 文档视图结构程序结构总揽
当我们使用 MFC AppWizard 生成一个 MFC 程序,选用所有默认的设置(当然也是 Multiple Documents ,本文讨论主要基于 Multiple Documents ,对于 Single Document 情况仅以简单表述提及,皆因后者和前者很多相似相同之处,但前者更为复杂,并且更加常用。),假设你的程序名称为 A ,则你会得到 CMainFrame 、 CChildFra转载 2012-04-17 23:30:02 · 993 阅读 · 0 评论 -
google earth 二次开发资料(二)
在163博客上发布了《GoogleEarth二次开发难点和技巧》一文之后,很多朋友发邮件询问怎样将googleearth的地图控件引用到自定义的窗体中去,因为某些原因一直没有给予详细解答。其实一些公司早已经实现了这种技术,上帝之眼很早就发布了这样一个ge控件,不过控件上有个很大的logo,看着很不爽。后来因为公司业务的需要,也钻研了一下,发现其实实现那样一种效果并不难,下面请听我细细道来。转载 2012-04-18 21:08:25 · 8025 阅读 · 3 评论 -
C#调用google earth 参考代码4
1)增加鼠标滚轮支持,可以实现放大、缩小。此功能利用上一篇提供的HookAPI.dll实现2)读取PlaceMarks(Google Earth界面中的位置)并显示、隐藏3)读取所有图层,显示并隐藏下面,继续放代码:1、鼠标滚轮事件,实现放大、缩小 1: ... 2: // 放大 3: private const long Z转载 2012-04-18 22:25:24 · 3853 阅读 · 1 评论 -
Google Earth Com API开发资料3
1) 实现GoogleEarth显示画面随窗口大小改变而改变2) 截获GoogleEarth鼠标消息,实现单击、双击功能;鼠标滚轮缩放现在只能放大!O(∩_∩)O~3) 实现GoogleEarth彩色截图(测试环境:Windows 2003 Server ,Vista与Win7中不可用,XP未测)下面还是继续看代码:1、GoogleEarth动态改变大小1:转载 2012-04-18 22:30:32 · 3628 阅读 · 0 评论 -
google earth参考代码
//--------------------------------- [DllImport("user32.dll", CharSet = CharSet.Auto)] public extern static bool SetWindowPos(int hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uin转载 2012-04-18 22:36:26 · 2215 阅读 · 0 评论 -
google earth 二次开发资料
从这篇开始,我将陆续公布或者转载我收集的一些经典的GoogleEarth二次开发资料。GoogleEarth二次开发难点和技巧一、 基本步骤1、安装GoogleEarth程序2、对GoogleEarth activex控件进行注册(googleearth.exe /regserver)3、在开发环境中引用googleearth activex转载 2012-04-18 21:03:54 · 6659 阅读 · 1 评论 -
C#调用google earth 参考代码2
展示如何调用Windows API将GoogleEarth的界面隐藏掉,并将GoogleEarth的地图显示在自定义的窗体上。废话少说,直接上代码。: // 功能:GE实例(二) 2: // 描述:GE COM API 网址:http://earth.google.com/comapi/index.html 3: // 作者:温伟鹏 4: // 日期:2009-02转载 2012-04-18 22:27:18 · 3197 阅读 · 0 评论 -
tinxml答一位网友问
一位网友说看了我的TinyXml快速入门系列文章。在修改节点属性值函数ModifyNode_Attribute这个函数的用法参照我的例子运行了下, 如果只有这一个节点的时候是修改正确的,但是如果再加上几个相同名字的节点呢?就像下面一样:Connection ip="192.168.0.1" timeout="123.456000"/>Connection ip="1转载 2012-05-28 23:22:19 · 670 阅读 · 0 评论 -
tinyxml快速入门3
在《TinyXml 快速入门(二)》介绍使用tinyxml库获取xml文件声明,查询指定节点、删除指定节点的做法。在本文中继续介绍修改指定节点和增加节点的做法。 修改节点其实和查询指定节点的值有点类似,也分为两个函数,一个实现修改文本。另一个负责修改属性。Code highlighting produced by Actipro CodeHighlighter (转载 2012-05-28 23:29:02 · 697 阅读 · 0 评论 -
进度条3
(一)进度条的主要功能 进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。 进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当转载 2012-06-01 07:11:54 · 750 阅读 · 0 评论 -
进度条
C/C++ codeDWORD dwSize = recv()//先接收文件的大小;m_ProgressCtrl.SetRange32(0, nSize); //设置进度条的范围DWORD dwRecv = 0;while(dwRecv { dwRecv += recv(); //接收文件 m_ProgressCtrl.SetPos(转载 2012-06-01 06:49:01 · 109 阅读 · 0 评论 -
在状态栏中加载进度条
C技巧:在程序的状态栏中实现进度条读者朋友们可能天天使用Visual 这个强大的工具来应用程序,不知道注意到没有,Visual 每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual 装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提供了一个范例程序prgsbar,它转载 2012-06-01 06:57:49 · 6402 阅读 · 0 评论 -
使用MFC插入Excel工作表并实现自动化
摘要这篇文章讲述了如何使用MFC将Excel工作表插入到SDI视图中。 文章包括插入工作表并将文字添加到A1单元格的详细步骤,每一步都有详细说明。 虽然你可以直接将代码插入到你的程序中,但理解这些例子你才会真正受益。 更多信息以下是创建这个MFC应用程序的步骤: 1.使用AppWizard创建一个新的MFC AppWizard(EXE)工程,命名为"Embed_Ex转载 2012-06-03 21:59:27 · 4120 阅读 · 1 评论 -
VC++之ComboBox的用法总结
1. 对话框中 添加 combox 控件2. 添加变量定义 CComboBox m_droplist;3. 添加内容:m_dropbox.SetCurSel(1);m_dropbox.AddString("所有数据类型");m_dropbox.AddString("空气温度");m_dropbox.AddString("空气湿度");m_dr原创 2012-05-16 23:17:35 · 74512 阅读 · 0 评论 -
文件夹末尾有空格、无法正常删除的空文件夹(无法读源文件或磁盘)的解决办法
文件夹末尾有空格、无法正常删除的空文件夹(无法读源文件或磁盘)的解决办法我的电脑上有两个文件夹困扰我很久了,因为我一直无法将它们删除。一个文件夹是因为它里面有一个名称为空格的文件夹。另外一个文件夹是因为它的名称后面有个空格,这两个文件夹都是我在下ftp的时候搞出来的,想了好多方法都删除不了。用网上介绍的那些方法也没有搞定。今天不知道怎么搞得,转载 2012-05-16 23:27:42 · 11259 阅读 · 4 评论