VC++.net
lyl_98
这个作者很懒,什么都没留下…
展开
-
Windows下多线程编程技术及其实现
Windows下多线程编程技术及其实现本文首先讨论16位Windows下不具备的线程的概念,然后着重讲述在32位Windows 95环境下多线程的编程技术,最后给出利用该技术的一个实例,即基于Windows95下TCP/IP的可视电话的实现。 一、问题的提出 作者最近在开发基于Internet网上的可视电话过程中,碰到了这样一个问题。在基于Internet网上的可视电话系统中,同时要进行语转载 2006-08-24 09:03:00 · 1293 阅读 · 0 评论 -
OLE Drap/Drop(5)
欢迎来到OLE拖放旅程系列的第五部分,我们机会到了OLE拖放实现的最后阶段,现在需要做的事情就是实现IDropSource和IDropTarget接口;一般我们完成这些,我们就可以在任何程序中添加拖放操作了。本部分的目的在于实现一个用作拖放源的简单程序,它不能接收任何拖放的数据,但这不要紧,因为我们能使用任何平常支持拖放操作的windows程序(例如:WordPad)来测试,程序就是一个w转载 2007-02-09 18:45:00 · 1593 阅读 · 0 评论 -
演练VC中的COMMON一族
转自:http://www.uumbbs.com/show_topic.aspx?topicid=2368&forumid=208#Header1.表头控制 Header Control2.图像列表控制 Image List3.列表控制和视 List Control&List View4.树控制和视 Tree Control&Tree View5.标签控制和视 Tab Control&转载 2007-02-06 22:12:00 · 4490 阅读 · 0 评论 -
使用IPicture接口读取和显示BMP,GIF,JPG,ICO,EMF,WMF图像
使用IPicture接口读取和显示BMP,GIF,JPG,ICO,EMF,WMF图像http://www.tongyi.net/develop/C/1007434.html问题的起源 很久以来,我都被一个问题困扰。关于程序中显示图像的问题,我在网络上搜索了很长时间,找到了无数的解决方案,比如分析文件格式,直接读取文件的; 用控件的(ImgEdit);以及不知道内部实现方法的库(Im转载 2007-02-07 21:46:00 · 2447 阅读 · 0 评论 -
OLE Drap/Drop(6)
欢迎你到OLE拖放操作的第六章!这里将着重于一个实现了drop-target的小程序,这就意味着我们的程序能够接收拖到它上面的对象(文件、图片、文本)了。我们实现一个IDropTarget的COM接口允许OLE程序拖动数据到我们的程序上;这里仅仅是一个简单的EDIT控件,所以他将CF_TEXT数据作为目标。成为一个“Drop Target”为了时窗口可以接收拖放操作的数据,窗口必须转载 2007-02-09 18:45:00 · 1552 阅读 · 0 评论 -
在MFC程序中显示JPG/GIF图像
在MFC程序中显示JPG/GIF图像 http://blog.chinaunix.net/u/30163/showart_233033.html转载 2007-02-07 21:45:00 · 1641 阅读 · 0 评论 -
显示JPG和GIF图片的简单方法
显示JPG和GIF图片的简单方法http://dev.21tx.com/2002/11/27/10074.htmlking fan2002/11/27 经常在论坛上看到有人问如何显示JPGE和GIF图片,我这里刚好有一段显示JPEG和GIF图片的代码。拷回去吧?说不定下次有的着呢。 CShowJpegView是我的的一个视图类,用的时候一定要将这个将成你自己的转载 2007-02-07 21:47:00 · 1844 阅读 · 0 评论 -
(二)VC界面显示图片(JPG JPEG GIF)
(二)VC界面显示图片(JPG JPEG GIF) http://bbs.xml.org.cn/blog/more.asp?name=joinclear&id=14375转载自: http://www.vclife.net/articles/article_view.asp?atlid=7简述实现步骤如下: 1、通过点击浏览按钮选择JPG图像文件 点击浏览按钮打开文件对话框选择JPG图转载 2007-02-07 21:48:00 · 2316 阅读 · 0 评论 -
OLE Drap/Drop(1)
转自:http://www.handytech.cn/main/ArticleShow.asp?ArtID=244该指南的目的在于读者能够在他们自己的程序实现完整的拖拽功能。自Window95以来,Drag和Drop已经成为Window程序的一个标准功能,随着COM和OLE成为主流技术,程序能和Window Shell甚至其他Window程序无缝交互。这个弹性是以高昂的代价为基础的,说的婉转转载 2007-02-09 18:42:00 · 2110 阅读 · 2 评论 -
OLE Drap/Drop(3)
上一张我们着重介绍了怎么样使用OLE和IDataObject来访问windows粘贴板。本章主要实现一个IDataObject接口,然后使用我们完成的数据对象来存储文本“Hello World”到粘贴板中。创建一个COM接口-IDataObject为了创建一个COM对象,我们需要定义一个实现所有这些函数的C++类,并且让COM的虚函数表为我们自动包含,我们使用C++类继承:c转载 2007-02-09 18:44:00 · 1326 阅读 · 0 评论 -
NM_CUSTOMDRAW
http://blog.sina.com.cn/u/4ad18f56010006s8此响应WM_ERASEBKGND消息BOOL MyList::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CRect rect; GetClientRect(rect); POINT mypoint; CBrush转载 2007-01-23 16:31:00 · 1366 阅读 · 0 评论 -
数据类型转换
1.CString to int:CString strNum;int nId = StrToInt((LPTSTR)(LPCTSTR)strNum); 2.CString to LPSTR:LPSTR pszText;CString str;pszText=(LPTSTR)(LPCTSTR)str;原创 2007-01-24 00:14:00 · 696 阅读 · 0 评论 -
VC中实现带有背景位图的树型控件
VC中实现带有背景位图的树型控件 --------------------------------------------------------------------------------By jonven 发表于 2006-2-18 11:42:00 当前许多应用程序都在使用树型控件时为其添加了背景位图,增强的控件的魅力,然而对于Visual C++编程爱好者来说,使用Visu转载 2007-01-25 09:19:00 · 1087 阅读 · 0 评论 -
VC中自定义消息实现
在VC项目开发中,很多时候需要自己定义消息进行事务处理。上次也刚好有同学问及,这里综合网络上的一些资料,集中起来供参考。u 自定义消息我们可以通过一下两种方法来自定义一个消息:1) 方法一Step 1:使用WM_TASKBARCREATED来确定一个没有被windows本身抢占的消息值,在想添加消息文件中添加代码:转载 2007-01-26 17:25:00 · 1200 阅读 · 0 评论 -
Drag & Drop 全解析 (一)
转自:http://dev.csdn.net/article/29/29185.shtm一、基本概念拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的转载 2007-02-05 17:03:00 · 1258 阅读 · 0 评论 -
define的用法
转:http://www.ninstein.com/showarticle.asp?id=1 今天整理了一些#define的用法,与大家共享!1.简单的define定义#define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CO转载 2008-10-31 14:35:00 · 750 阅读 · 0 评论 -
VC DLL的创建和使用
我建立了一个比较大小的DLL文件,如下: // MyDLL.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include"MyDLL.h" int Max(int a, int转载 2009-08-09 11:13:00 · 803 阅读 · 0 评论 -
指导性架构设计原则
FreeBSD 开发手册1.3指导性架构设计原则 下面的指导性设计原则描述了我们的设计理念只要某一功能的缺失不会导致无法完成某个实际的应用程序, 就不新增该功能。决定系统不做成什么样子, 与决定将它做成什么样子同样重要。 不去满足所有的需要,而是让系统具备可扩展性, 使其能够向上兼容。尽可能抽象代码中的通用部分, 除非没有可以用来抽象的转载 2009-08-27 15:56:00 · 546 阅读 · 0 评论 -
OLE Drap/Drop(4)
本章注重于实现一个暴露IEnumFORMATETC接口的COM对象,这里有两部分代码可以下载。第一包含一个完整的通用的IEnumFORMATETC实现,你可以将它用到你的程序中。另一部分代码是一个叫做IDataObject Viewer的所有代码。这是PlatformSDK同名程序的替代品,它是一个怎么样使用IEnumFORMATETC接口的基本介绍,而不是写这个接口。更重要的是,它在调式O转载 2007-02-09 18:44:00 · 1431 阅读 · 0 评论 -
OLE Drap/Drop(2)
欢迎来到OLE拖放指南第二部分;本部分的目的在于解释在OLE环境中,程序之间怎么样表示和传输数据。OLE数据传输的核心是IDataObject COM接口,一个IDataObject提供从一个程序到另一个程序传输和访问数据的方法。最通用的OLE数据传输是窗口粘贴板,当然也有拖放。IDataObject是一到多个数据的有效的COM包装。在我们调查IDataObject任何细节之前,两个转载 2007-02-09 18:43:00 · 1777 阅读 · 1 评论 -
解除心头的困惑--纯虚函数
选择自 hustli 的 Blog 摘要:虚函数里面有一个很特殊的东东,那就是纯虚函数,关于纯虚函数的问题也是bbs上常见的话题,这里我想对此作一个小小的论述,希望能给初学者一个满意的解释。一、引入原因: 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合转载 2007-02-06 12:26:00 · 820 阅读 · 0 评论 -
C#.NET 中的类型转换
C#.NET 中的类型转换 作者:边城狂人 文章来源:不详 点击数:10659 更新时间:2004-11-25 C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和转载 2006-09-27 13:27:00 · 1329 阅读 · 0 评论 -
Regex 正则表达式
#include typedef enum _FUN_TYPE{ //FUN_ERR = -2, FUN_NO = -1, FUN_DEC = 0, FUN_DEF, FUN_IS}FUN_TYPE;#define REX_MATCH_FUNDEC "{//b+%s//b*//(.*//)//b*;}"#define REX_MATCH_FUNDEF "{原创 2006-07-04 17:05:00 · 822 阅读 · 0 评论 -
C++的构造函数, 复制构造函数 和operator =
C++的构造函数, 复制构造函数 和 operator = 1.构造函数 构造函数的定义我就不说了,我想说的只有一点,看下面的例子:class C1 {public: //数据成员 int m_n; //构造函数 C1(int n = 0) { cout m_n = n; }};int _tmain(int argc, _TCHAR* argv[]){ C1 o转载 2006-07-06 16:19:00 · 1124 阅读 · 0 评论 -
集合类 CList的使用
集合类 CList的使用 今天,在项目中,需要使用集合类,考虑到使用简单、方便,所以选择了CList。可没想到在使用的过程中却出现了学多问题。 1.无法实现集合类的复制,需要重载类的=运算符;错误提示为无法从FunListNode 转换到FunListNode; 2.没有可用的复制构着函数; 3.没有默认的可用的构着函数 4.注释中1 2 3都是必须的 typedef CList原创 2006-07-06 17:14:00 · 2035 阅读 · 1 评论 -
Source Insight使用教程
作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数转载 2006-07-07 15:41:00 · 71620 阅读 · 13 评论 -
template
// Arrat.htemplate //定义类模板class Array{public: Array(int s); virtual ~Array(); virtual T& Entry(int index); virtual void Enter(int index,const T& value);protected: int size; T *element; //数据原创 2006-07-10 11:41:00 · 1396 阅读 · 0 评论 -
GRETA正则表达式模板类库
本文摘要翻译了几篇文章的内容,简单介绍 ATL CAtlRegExp,GRETA,Boost::regex 等正则表达式库,这些表达式库使我们可以方便地利用正则库的巨大威力,给我们的工作提供了便利。正则表达式语法 字符元 意义原创 2006-07-04 10:55:00 · 2617 阅读 · 0 评论 -
CFileFind
BOOL FindAllFiles(CString strDirectory){ CFileFind Finder; // build a string with wildcards CString strWildcard = strDirectory + _T("//*.*"); //strWildcard += _T("//*.*"); // start wo原创 2006-07-04 17:06:00 · 1149 阅读 · 0 评论 -
C++中 #define的用法
C++中 #define的用法 转自:http://www.dingge.com/main/article.asp?id=10今天整理了一些#define的用法,与大家共享!1.简单的define定义#define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为转载 2006-07-10 16:59:00 · 145808 阅读 · 2 评论 -
程序员的七种武器
程序员的七种武器 信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。 信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,转载 2006-07-20 09:15:00 · 892 阅读 · 0 评论 -
Visual C++初学者入门的一条捷径
首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般的小程序能搞定了。看到那些因为不知从何下手而苦苦挣扎的朋友,希望我的文章能给他们一些帮助。 学编程急不得,上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话也许能挺过来,但也是会缺乏后劲,不得不回过头来补习基础知识。意志不坚强的话,很有可能转载 2006-07-19 16:51:00 · 1086 阅读 · 0 评论 -
lnk2005
今天使用vs2003en开发一个项目,在debug编译、执行的时候都正常,但是在今天提交版本的时候,突然发现在做Release时,出现lnk2005错误(提示为new重复定义),我在工程中找了半天,也没发现有错误,后来Yahoo了一下,说是在连接的时候,和mfc和clr库连接的顺序错了,才导致出现重复定义的错误。后来把mfc方式改为“Use MFC in a Shared DLL”后,错误消原创 2006-07-28 17:06:00 · 1028 阅读 · 0 评论 -
自动化客户
自动化客户 自动化可以使你的程序使用别的应用程序中的对象,也可以把自己实现的对象让别人使用。自动化客户在这种使用与被使用关系中充当使用者角色的。而提供这种服务的称为自动化服务器。有两种自动化客户,一种客户动态地获得关于服务器信息和操作的信息;另一种则是静态获得这些信息。第一种类型的客户通过查询OLE系统的IDispatch机制获得相应的信息,对于IDispatch来说,它比较适用于动态客户转载 2006-08-07 18:52:00 · 994 阅读 · 0 评论 -
用VC 6.0实现串行通信的三种方法
用VC 6.0实现串行通信的三种方法摘要: 本文介绍了在Windows平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三种方法,并结合实际,实现对温度数据的接收监控。 在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。 在光学转载 2006-08-05 14:54:00 · 1161 阅读 · 0 评论 -
C#中调用Windows API的要点
C#中调用Windows API的要点在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:/Program Files/Microsoft Vi转载 2006-08-29 09:22:00 · 823 阅读 · 0 评论 -
C# 自定义EVENT
使用委托、事件 在C#中使用委托来实现事件的处理,以下代码实现了自定义事件,发起事件,接受事件,改变事件的参数。using System;/*RaiseEvent Written by OnRaiseEvent before eventRaiseEvent Written by ReceiveEventI have received it Writt原创 2006-08-25 13:58:00 · 1610 阅读 · 0 评论 -
非安全代码
非安全代码 我们知道,.NET通用语言运行环境为C#引入了一种托管的安全编程方式,指针存取、变量地址计算、对象销毁等等操作在托管编程环境下都是C#所不允许的,这大大改进了传统C/C++的安全性。但事物往往是多面性的,在摈弃指针等内存的直接存取方式的同时,也丧失了它在某些问题上的便利性,比如某些和操作系统底层的交互、内存映射设备的存取等等。在某些特殊的任务上,我们甚至不希望引入自动垃圾收集这种“转载 2006-08-28 13:11:00 · 1375 阅读 · 0 评论 -
Ecplise常见问题-对策
<!-- /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-a原创 2009-11-05 11:49:00 · 2562 阅读 · 2 评论