自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 跟我一起学Windows界面封装(六) 之 模态对话框原理

在做界面程序的过程中,我们经常会遇到模态对话框(这个名词没必要在解释了吧,不懂就别看这篇文章了)。因此这点还是很有必要拿出来说明下的,不然不知道怎么实现,说不清其原理还是挺可悲的。         在windows中,使用DialogBoxParam显示的对话框就是模态的,ATL中也用了该函数进行了封装。虽然模态对话框在windows中很普遍,但是并没有SDK级别的API,可以将一个窗口变为模

2013-04-26 22:34:15 1346

原创 跟我一起学Windows界面封装(五) 之 封装第一个控件:按钮

Button是我们遇到的最多的控件之一,因此以它来作为入手控件还是很合适的。      通常我们见到的Button都是有窗口控件,当然也有很多优秀的库为了提高效率做成无窗口控件。所有有窗口和无窗口就是是否控件和一个HWND句柄相关联。我们还是以常规的有窗口控件来讲述下吧。      在CreateWindow函数的参数中,我们注意到还有几个的参数我们没用过,其中一个就是hWndParent

2013-04-26 22:31:48 1738

原创 跟我一起学Windows界面封装(四) 之 窗口过程函数(下) -- 奇妙的Thunk技术

本文是笔者参考多方资料,同时研究ATL源码后写的一些心得,因为在看源码时会出现很多点不懂,因此文章主要从这些小点出发而撰写,可能外人看来会有些语无伦次或者不够流畅,请见谅,不是计算机科班出身,才疏学浅,整理出来也只是希望将我所学能够和大家一起交流,其中也不免会出现理解错误,也请指正!Thunk技术         在窗口的过程函数中参数HWND和具体的窗口实例是一对一的关系,但HWND对我

2013-04-25 22:33:49 1584

原创 跟我一起学Windows界面封装(三) 之 前奏篇:窗口过程函数(上)

窗口过程函数          好,终于进入正题了。         在用MFC的时候,我们会发现MFC里面有消息映射,这么每个窗口类可以处理响应窗口消息,ATL也同样有自己的消息分发机制。由于窗口过程函数是全局函数(或静态函数),我们不可能吧一个程序的所有消息都在一个函数里面写,同时这个全局函数也没法和所有具体的窗口实例想绑定,即想调用具体类的成员函数都没办法实现,这样完成一个具有复杂功

2013-04-25 21:30:41 1282

原创 跟我一起学Windows界面封装(二) 之 前奏篇:显示第一个窗口

知道了如何用基本的windowsAPI创建一个窗口,但现实中我们不可能完全使用这种形式来完成一个复杂的窗口程序。为此,我们必须进行一定的封装。         封装必须要完成几件基本的事情:(1)      注册和创建窗口的封装;(2)      窗口过程函数的封装,因为窗口过程函数是一个全局函数,为了实现各种窗口的响应,我们必须实现窗口将每个窗口的消息分发给相应的窗口实例。这也是一个

2013-04-25 21:29:23 1412

原创 跟我一起学Windows界面封装(一) 之 基础篇:Win32 API

一、 初篇Win32应用程序可以分成两大类:控制台程序和Windows窗口界面程序。其中控制台程序的入口是main(或_tmain),而窗口界面程序的入口函数是WinMain(或_tWinMain)函数。在使用VS2010创建工程时我们也会看到Win32功能的两种类型:Win32 Console application和Win32 Project,后者就是我们将要讨论的窗口界面程序。

2013-04-25 09:15:36 3857

原创 走进SEH(Structured Exception Handling)

最近手头上工作比较轻松,于是继续充点电。本系列主要从核心编程里面学来,同时外加网上的搜集整理得来。文章主要以应用为主,所以对已经了解的人可能不会有太大帮助,但学习的总结分享出来总会有其用武之地。如发现内容表述有误,请指正。由于篇幅较长,为便于阅读故斩其首分上中下以述之~前言        SEH("Structured Exception Handling"),即结构化异常

2013-03-24 14:16:45 1917

转载 LearnVSXNow! #8 插曲-regpkg.exe命令

当我准备去写“创建我们的第一个工具集”系列的下一篇时,我意识到我的注册表已经被我之前创建的示例package给污染了。当我试图卸载这些package以便清理这些垃圾时,我和regpkg.exe程序有了一次亲密的接触。早先我就有计划写这么一篇类似主题的文章(但一直没有写),现在我决定不再拖了,就算我们不得不先暂停一下“创建我们的第一个工具集”系列的编写。     在这篇文章里,你可以看到关于

2012-10-17 17:17:59 870

转载 LearnVSXNow! #14- VSCT文件基础

在第13篇里,我说过我要给你们展示一些菜单、工具栏和命令的示例代码,但是相关的东西太多了,一篇文章没办法全部囊括,所以在这里我只涉及一些和vsct文件相关的代码。前言     在本系列前面的文章里,我多次提到过Package是按需加载的,IDE只有在真正用到Package的时候才去加载它们。但这样就带来一个问题:IDE如何在不加载Package的情况下,显示Package里定义的菜

2012-10-17 17:07:31 958

转载 自定制vs插件--LearnVSXNow!(后续文章,只有链接)

LearnVSXNow! #10 创建我们第一个工具集-重用代码http://www.cnblogs.com/default/archive/2010/03/28/1699127.htmlLearnVSXNow! #11- 测试packagehttp://www.cnblogs.com/default/archive/2010/04/11/1709506.html

2012-10-17 17:02:13 519

转载 自定制vs插件--LearnVSXNow!-#7 创建我们第一个工具集-完成这个示例

在上一篇文章中,我们创建了一个例子:我们为一个空的package添加了一个菜单命令,并且在这个过程中了解了Visual Studio Command Table文件的作用和用法。     在这篇文章中,我们继续这个例子,手动为它添加一个工具窗。为项目添加工具窗     我们将创建如下图所示的工具窗:      这个工具窗的功能非常简单:在FirstArgEdit和Secon

2012-08-27 20:09:56 978

转载 自定制vs插件--LearnVSXNow!-#6 创建我们第一个工具集-序幕

在前面的文章中,我们在向导的帮助下创建了一些小的VSPackages。在第五讲中我们整理了VSX的一些思路和概念,深入了解了packages是如何工作的以及服务的机制。在这篇文章中我们继续前进。       为了创建创建“容易编写和理解”的代码,从本文开始,我们开始创建一个工具集示例Package。我计划用至少如下三个主题来讨论:  序幕:创建示例package的第一部分,它是这个工具

2012-08-27 20:07:59 886

转载 自定制vs插件--LearnVSXNow!-#5 VSX的基本概念

在前几篇文章中,我们只是通过创建和“分析”三个非常小的、由VSPackage向导生成的package来管中窥豹地见识了一下VSX。这些例子有助于我们熟悉创建小的package的基本步骤。但是,我们必须更深入一些, 看一下Visual Studo IDE是怎样工作的,以及它是怎样集成package的。     在我们涉及到其他细节之前,我们先要整理一下对VSX的认识。在本篇文章里,我们不会创建任

2012-08-27 20:06:43 712

转载 自定制vs插件--LearnVSXNow!-#4 创建一个带有工具窗的Package

上一次我们实现了一个带有命令(Command)的package,这一次让我们更进一步:创建一个被称为工具窗(Tool Window)的界面。那么,什么是工具窗呢?让我们想象一下:解决方案浏览器(Solution Explorer)、工具箱(Toolbox)、错误列表(Error List),它们都是工具窗(Tool Window)。      像前几篇一样,我们依然选择选择Visual Stu

2012-08-27 20:05:15 1124

转载 自定制vs插件--LearnVSXNow!-#3 创建一个带有简单命令的Package

为了演示如何给我们的package增加功能,本篇将创建一个带有简单菜单(命令)的VS Package。和上一篇一样,我们新建一个Visual Studio Integration Package类型的项目,这一次我们把它命名为SimpleCommand。当项目向导出现后,我们选择C#做为开发语言,并利用向导为我们的程序集自动生成一个key文件。在VSPackage Information页面,

2012-08-27 20:04:19 672

转载 自定制VS插件(二)--LearnVSXNow!-#2 创建一个空的VS Package

作者:博客园出处:博客2010-03-16 08:10             打开Visual Studio 2008,新建项目,在项目类型对话框中选择“其他项目类型”/“扩展性”/Visual Studio Integration Package,如下图:(译者注:原文的图片无法打开,本系列的图是由译者另外截图的,并非原图)    如上图所示,我们把Framework的版本设为.N

2012-08-25 17:29:17 1154

转载 自定制VS插件(一)--LearnVSXNow! - #1: 如何开始VS扩展包(VSX/VS SDK)的编程?

(首先声明这个系列是翻译的DiveDeeper博文,是我在学习VS扩展包的过程中的顺带做的,如果有不明确的地方,请直接访问原文或者给我发邮件)我是一个Visual Studio的爱好者,一方面因为在我的日常工作中,Visual Studio是我最常用的开发工具。另一方面,Visual Studio是我用过的最好用的开发工具,尽管依旧有着一些恼人的莫名其妙的问题。有很多次,我都很想创建一些V

2012-08-25 17:24:26 849

转载 永久改变你写异常安全代码的方式(神奇的Loki::ScopeGuard)

<br />详见:http://blog.csdn.net/purewinter/archive/2007/11/01/1860875.aspx<br />原文:http://www.ddj.com/cpp/184403758

2011-03-13 09:39:00 421

原创 XSLT/XML与MSXML

       最近一阵发飚,猛地花了两天的时间来研究如何使用MSXML来转换XSLT/XML文档,目前也是小有所成吧。这方面的资料网上也比较少,为此也是花了不少功夫。其中感觉对自己最大的帮助莫过于MSDN了,几乎80%的信息来源都出于此。然后就是在网上找到了一篇英文的文章来介绍此的用法了。所以,对于初学者的忠告还是多研究MSDN,这里面的实例以及对各个接口的介绍要比网上那些乱七八糟的介绍要好多了,这里会更系统一些。当然,有了我这篇文章的话,你的入门就完全不用愁了(呵呵,自夸下)。      首先,在读这篇文

2011-01-07 10:40:00 1046 1

原创 C++中程序运行时间的计算

      在我们编写C++程序的时候,特别是在做算法测试的时候,这是就需要计算程序的运行时间,已测试程序效率的优劣。为此,以下我们就讨论几种方法。法一: 使用clock()      C++程序运行时间中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:#ifndef_CLOCK_T_DEFINEDtypedeflong  clock_t; #define _CLOCK_T_DEFINED#endif    这个函数返回从“开启这个程序进程”到“

2010-12-12 19:43:00 1966 1

转载 CMarkup与XML(二)

通过以上分析,我们对生成一个XML文档以及如何解析XML文档有了一个较为清晰的认识。下面进一步的深入研究CMarkup类为我们提供了哪些方法和属性供我们使用。以下是我在网上所击到的功能函数的整理:1) 初始化² Load 导入一个XML文件到CMarkup的对象中,并对它进行解析。² SetDoc 从字符串中导入XML数据,并对它解析。2) 输出ü Save 将XML数据写入文件中。类似C#的Save。ü GetDoc 将整个XML数据文档作为字符串返回。3) 改变当前位置v FindElem 定位到下一个

2010-11-28 11:44:00 1009

原创 CMarkup与XML(一)

<br /> <br />最近研究XML比较多,刚刚研究了MSXML,现在再来看看一个比较简单的解析器-CMarkup。以下均是本人从网上搜集的,然后整理到了一起,这应该不算侵权吧,哈哈!<br />闲话结束,转入正题:<br /> <br />Cmarkup是基于“压缩”文档对象模型(EDOM:"Encapsulated" Document Object Model),这是这个简单XML处理器的关键。它的一套XML处理方法和产生的效果与DOM(Document Object Model)是一样的。但是整个

2010-11-28 11:42:00 988 1

原创 VC++和MSXML解析XML文档

最近研究起了使用VC6.0进行解析XML文档,而对于XML文档的解析目前网上主要使用了两种方法:MSXML和CMarkUp类。而我就先从最基本的DOM研究起了。而对于DOM主要采用微软提供的MSXML库,另外好像还有第三方库TinyXML,咱就不研究了。而对于MSXML的使用,网上别人提供的东西都比较零碎,而且还比较乱,在论坛上问反而被一堆人鄙视,得到的解答少之又少。于是我专门花了一天的时间研究了下,现在小有成果,就感觉整理了一些,以供和我一样初级选手作为入门的资料。当然,在整理过程中还是会出现错误,望大家

2010-11-26 20:44:00 2793 2

Visual Paradigm for UML 8.0 Enterprise Edition破解文件

VP_Suite_Windows_8.0版本破解,经测试成功。

2011-10-02

空空如也

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

TA关注的人

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