C/C++
文章平均质量分 51
aidy22
学历代表过去,能力代表现在,学习力代表将来!
虚心请教,用心学习;真心付出,开心收获!(*^__^*)
展开
-
VC 从网页上下载图片
显示网页上图片的方法:(1)首先获取网页上我们所需要图片的链接地址(即URL);(2)根据链接地址下载图片并保存在一个temp文件夹中;(3)把刚刚下载的文件保存在所要显示的控件上;(4)程序最后删除刚刚所下载的文件,即temp文件夹中的所有文件。 这里我主要是实现第二步,第一步的地址我们假设已经知道,例如本例中所用到的地址是http://hiphotos.baidu.原创 2009-08-17 10:29:00 · 5604 阅读 · 9 评论 -
Windows API函数大全
本文转贴于:http://i.cn.yahoo.com/05665370211/blog/p_145/ 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连转载 2009-09-22 10:44:00 · 903 阅读 · 0 评论 -
MFC各类指针的引用方法
说明:以下内容均来自互联网 1) 在View中获得Doc指针2) 在App中获得MainFrame指针3) 在View中获得MainFrame指针4) 获得View(已建立)指针5) 获得当前文档指针6) 获得状态栏与工具栏指针7) 在Mainframe获得菜单指针8) 在任何类中获得应用程序类转载 2009-09-21 16:53:00 · 803 阅读 · 0 评论 -
如何防止密码被非法获取?
从下载的文档中看到的,不知道出处。如作者看到,请联系我修改,谢谢合作! [问题提出] 这两天大家比较专注在获取Edit密码框的密码.在盗取时,我们如何防范呢? [解决方法] 此方法针对于通过SendMessage向此窗口发送WM_GETTEXT或EM_GETLINE消息来取得密码.跟我来. [程序实现] 方法很简单,用CWnd::DefWindowProc函数拦截得到的消息(向Ed转载 2009-09-15 15:56:00 · 716 阅读 · 0 评论 -
关于CString总结(转) CString好用但太容易出错了
本文转贴于:http://www.ecjtu.org/forum/read.php?tid=16259 前言:字符串操作是编程中最常用也最基本的操作之一. 做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MFC中提供的这个类对 我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用转载 2009-09-15 14:56:00 · 1644 阅读 · 0 评论 -
程序只启动一个实例的几种方法
有些时候,我们要求一个程序在系统中只能启动一个实例。比如,Windows自带的播放软件Windows Medea Player在Windows里就只能启动一个实例。原因很简单,如果同时启动几个实例,却播放不同的文件,那么声音和图像就会引起混乱。在设计模式中,就有一个SINGLETON模式,该模式就是让类只有一个实例。 对于程序而言,我们只有在程序启动的时候去检测某个设置,如果程序没有启动,就原创 2009-09-12 17:02:00 · 746 阅读 · 0 评论 -
VC对话框使用OnEraseBkgnd函数位图背景并透明
本文转载于:http://blog.163.com/guohaiyang/blog/static/3213403720081021126424/ 1、使用OnEraseBkgnd函数实现对话框位图背景BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or转载 2009-09-11 10:44:00 · 941 阅读 · 0 评论 -
VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)
本文转载于:http://guohaiyang.blog.163.com/blog/static/3213403720081027104147/ 1、首先,为了下面使用擦除背景的方便,先增加OnEraseBkgnd函数(WM_ERASEBKGND ),但好多新手都不知道对话框在那里找增加这个函数,来跟我来快捷键Ctrl+W打开ClassWizard对话框(菜单->view->Class转载 2009-09-11 10:41:00 · 1859 阅读 · 2 评论 -
VC++动态链接库(DLL)编程深入浅出(四)
本文转载于:http://www.pconline.com.cn/pcedu/empolder/gj/vc/0511/720057.html 这是《VC++动态链接库(DLL)编程深入浅出》的第四部分,阅读本文前,请先阅读前三部分:(一)、(二)、(三)。 MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用M转载 2009-09-08 15:19:00 · 561 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(一)
本文转载于:http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/698632.html 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链转载 2009-09-08 15:04:00 · 623 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(三)
本文转载于:http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/703607.html 联系作者:e-mail:21cnbao@21cn.com 我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本转载 2009-09-08 15:14:00 · 418 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(二)
本文转载于:http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/699672.html 上节给大家介绍了静态链接库与库的调试与查看(动态链接库(DLL)编程深入浅出(一)),本节主要介绍非MFC DLL。4.非MFC DLL4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态转载 2009-09-08 15:08:00 · 478 阅读 · 0 评论 -
使用COM、OLE的注意事项
不断更新中:2009年9月7日:1、注意初始化与解除初始化//初始化CoInitialize(NULL);AfxOleInit();AfxEnableControlContainer();//解除初始化CoUninitialize(); 这个是我在项目中得到的收获,在测试例子中,记得初始化,而导为DLL以后,忘记初始化,结果导致一直内存出错!原创 2009-09-07 17:49:00 · 609 阅读 · 0 评论 -
获取系统当前时间
一、使用MFC可以用以下代码得到CTime time = CTime::GetCurrentTime();///构造CTime对象int m_nYear = time.GetYear();///年int m_nMonth = time.GetMonth();///月int m_nDay = time.GetDay();///日int m_nHour = time.GetHour()原创 2009-09-04 08:58:00 · 478 阅读 · 0 评论 -
VC编程小技巧20个
本文转贴于:http://topic.csdn.net/u/20080509/15/3bfad216-4644-440d-a540-fbcde4cb4405.html一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door clos转载 2009-09-04 11:49:00 · 805 阅读 · 1 评论 -
CArray类的学习
因为项目的需要,今天学习并且应用了CArray这个类,下面将我的心得讲出来。 首先定义 CArray arryPChar; 这里以定义char*的为例子。接下来我们来熟悉CArray这个类里的函数。 INT_PTR GetCount() const;获得当前这个数组有多少个元素。 void SetSize(INT_PTR nNewSize, IN原创 2009-08-28 14:58:00 · 1074 阅读 · 2 评论 -
旧的代码在2005下使用的注意点
本文转贴于:http://www.diybl.com/course/3_program/c++/cppsl/20081011/149983.html 将以前的代码在vc2005下编译,经常会遇到类似如下的警告: warning C4996: strcat was declared deprecated. 通常这类警告都是由于调用了字符串相关函数引起的。虽然这警告无伤大雅,仅仅只是转载 2009-09-21 09:46:00 · 605 阅读 · 0 评论 -
Windows消息大全
本文转贴于:http://i.cn.yahoo.com/05665370211/blog/p_146/ Windows消息目录 1. WM_NULL=$0000: 2. WM_CREATE=$0001: 应用程序创建一个窗口 3. WM_DESTROY=$0002: 一个窗口被销毁 4. WM_MOVE=$0003: 移动一个窗口 5. WM_SIZE=$0005:改变一个窗口转载 2009-09-22 10:46:00 · 953 阅读 · 2 评论 -
实现单文档ListView类型的打印、预览功能
先到http://download.csdn.net/source/1732651下载一个打印类,这个是类是在codeproject里找到的,然后将里面的 #include "AutoStuMisDoc.h"#include "AutoStuMisView.h" 改为你要应用的程序的头文件。 然后在你要用的视图.h中添加两个变量 CListCtrl& m_cLis原创 2009-10-11 14:47:00 · 1651 阅读 · 1 评论 -
ARGB32位转化为RGB24位的函数
在运用这个函数之前,在网络上找到了一个函数,可是转换后的图像是反了180度的,经过研究将其修改。 bool CVMR_Capture::Convert24Image(BYTE *p32Img, BYTE *p24Img,DWORD dwSize32){ if(p32Img != NULL && p24Img != NULL && dwSize32>0) {原创 2009-12-15 10:45:00 · 7808 阅读 · 7 评论 -
DirectShow 修改CCaptureVideo类,使其支持多次打开
修改类的下载地址:http://download.csdn.net/source/1901412 网络上有很多关于这个类的修改,但还是不彻底。具体如下: 对于网上流传的CCaptureVideo类而言,它是有问题的,假设我们声明了一个CCaptureVideo类的指针CCaptureVideo * m_cap ; 然后,在OnInitDialog函数中创建该对象,m_cap = n原创 2009-12-15 08:45:00 · 3491 阅读 · 0 评论 -
DELPHI调用VC写的DLL经验
由于项目的需要,必须使用DELPHI调用VC编写的DLL,而我是编写DLL的。 这里总结几个出现过的问题,以后再遇到就会用了。 一、需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState())这是用来实现DLL资源的切换!原创 2009-12-09 14:26:00 · 3345 阅读 · 0 评论 -
解析LOGFONT
首先我们先来了解LOGFONT这个结构体:LOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格式,其定义如下:typedef struct tagLOGFONTA{LONG lfHeight;LONG lfWidth;LONG lfEscapement;LONG lfOrientation;LONG lfWeight;BYTE lfItalic;BYTE lfUnderline原创 2009-11-27 09:20:00 · 3062 阅读 · 0 评论 -
真彩位图工具栏的实现
本文转载于:http://221.199.150.103/jsj/Html/vc/wen/vcwen08.htm 源代码下载地址:http://download.csdn.net/source/2011080 VC++6.0直接支持256色工具栏的编辑和使用,若想建立真彩(24位位图)工具栏,必须借助其它绘图工具绘制工具栏位图。 制作真彩工具栏的主要步骤:①用绘图工具(我用转载 2010-01-21 11:03:00 · 827 阅读 · 0 评论 -
GetTextMetrics与GetTextExtent的区别
GetTextMetrics:获取当前字体的信息GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度CDC::GetTextMetrics作用:返回当前设备描述表中的当前所用的字体的信息函数原型:BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;参数: lpMetrics (是一个指针)返回指向TEXTMETRIC 结原创 2009-11-23 09:41:00 · 2861 阅读 · 1 评论 -
各种排序算法的稳定性和时间复杂度小结
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所有内部排转载 2009-11-23 11:43:00 · 2249 阅读 · 2 评论 -
在Vista操作系统中通过manifest文件使VC应用程序获得管理员权限
这是我在项目中遇到的,项目中的服务器在VC2005和XP环境下开发的,没有加MANIFEST文件,使得在VISTA下当服务器时出现外面的客户端无法访问的问题,问我师傅,才知道是要添加manifest文件来使得VC应用程序获得管理员权限,(*^__^*) 嘻嘻问题也就解决了。1.打开应用程序的源代码工程2.添加一个“custom”资源,"resource type"填24,把资源ID改为1,原创 2009-11-14 14:53:00 · 1194 阅读 · 0 评论 -
(转)常用C++网址
因为想要收藏,结果收藏不了,只好复制过来了!转载于:http://topic.csdn.net/u/20090623/22/418ab9c0-07fc-4ecc-84d5-0069084cd94f.html 孙鑫vc视频教程 http://www.codeguru.cn/VC%26MFC/sunxinvc C函数实例参考手册 http://www.codeguru.cn/CPP/CE转载 2009-10-29 15:23:00 · 760 阅读 · 0 评论 -
Visual C++中很实用但是大家很少用的一些功能
本文转贴于:http://topic.csdn.net/u/20091015/01/b68517c2-5b02-414f-ba12-bf221ad8e518.html作者:jackyjkchen 1.CRT中内存泄漏检测的宏 有几个初学者写有大量动态内存分配不泄露的?又有几个老鸟敢嚣张的自称写那种多次分配多个函数出口的程序从来都是一次就完美的? 头文件处包含 #ifdef _DEBUG转载 2009-11-05 11:40:00 · 957 阅读 · 0 评论 -
VC环境下对EXCEL的操作
EXCEL操作类,作者是徐景周,未来工作室 编写的。下载地址:http://download.csdn.net/source/1769899 写入EXCEL表中 // 新建Excel文件名及路径,TestSheet为内部表名 CSpreadSheet SS("c://Test.xls", "TestSheet"); CStringArray sampleArray, t原创 2009-10-26 14:28:00 · 137 阅读 · 0 评论 -
CSpinButtonCtrl用法
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sding/archive/2009/08/26/4485429.aspx 在VC中CSpinButtonCtrl用法,整理下来控件的设置在Edit控件上面设置group属性(特别注意)在Spin控件上设置 Auto Buddy 为 true Set Buddy Integer 为 true转载 2009-10-21 17:35:00 · 1217 阅读 · 0 评论 -
八大排序算法总结
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i,j;//分别为有序区和无序区指针for(i=1;i{j=i+1转载 2009-10-19 16:06:00 · 1159 阅读 · 0 评论 -
DELPHI调用VC编写的DLL 函数参数为LPTSTR
注意点:LPTSTR 对应的是PAnsiChar 或者PWideChar 你问问他的编译选项,要是定义了unicode就是PWideChar 否则是PAnsiChar 这里我是用UNICODE编程的,所以用到的是PWideChar 在VC写的A.dll里添加一个函数为extern "C" __declspec(dllexport) LPTSTR WINAPI Do(LPTSTR原创 2009-10-15 10:47:00 · 2310 阅读 · 0 评论 -
VC8.0编译的程序出现The application failed to initialize properly (0xc0000005)
最近开发了一个系统,在简体中文和繁体中文下都可以正常运行,但是到了英文版本下一打开会出现The application failed to initialize properly (0xc0000005)这个错误,可能是因为英文版本的系统太低了,还没有更新所导致的,因为我尝试把源码用VC6.0编译的不会出 现这个错误,但是用VC8.0编译以后拿过去测试还是会错,于是我开始寻找解决原创 2009-10-12 10:56:00 · 4676 阅读 · 0 评论 -
给文档注册类名
前面已经就对话框更改类名进行讲解了,现在我们先来修改基于MFC的单文档的类名。其实很简单,只需要将BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)这个函数里面的实现内容更改为下面的代码就OK了。 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWnd::Pr原创 2009-08-27 16:25:00 · 489 阅读 · 0 评论 -
给对话框注册类名
用MFC写的对话框程序的默认类名是#32770,现在我要将这个类名改成自定义的类名(如:FSL的对话框)。在调用CreateWindow之前一般都进行RegisterClass的操作,就是说建立一个窗口实例前,得先将这个窗口类注册。其实MFC只是将这些操作封装在里面去了而以,原理上我们只要将RegisterClass(CONST WNDCLASS *lpWndClass)中的lpWndClas原创 2009-08-27 14:22:00 · 1551 阅读 · 0 评论 -
COM组件设计与应用(十)IDispatch 接口 for vc.net
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2735本文转载于http://www.vckbase.com/document/viewdoc/?id=1507作者杨老师一、前言 终于写到了第十回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由转载 2009-08-14 14:18:00 · 753 阅读 · 0 评论 -
UNICODE 编程入门
本文转载于http://www.vckbase.com/document/viewdoc/?id=642 作者:NorthTibet简介 如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用户,那么必须考虑代码转载 2009-08-13 14:17:00 · 443 阅读 · 0 评论 -
COM组件设计与应用(九)IDispatch 接口 for vc6.0
本文转载于http://www.vckbase.com/document/viewdoc/?id=1506作者:杨老师本文源码下载地址:http://www.vckbase.com/code/downcode.asp?id=2734一、前言 终于写到了第九回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由转载 2009-08-12 09:54:00 · 443 阅读 · 0 评论 -
COM组件设计与应用(三)数据类型
本文转载于http://www.vckbase.com/document/viewdoc/?id=1488作者:杨老师一、前言 上回介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要转载 2009-08-10 11:40:00 · 581 阅读 · 0 评论