MFC
文章平均质量分 51
aidy22
学历代表过去,能力代表现在,学习力代表将来!
虚心请教,用心学习;真心付出,开心收获!(*^__^*)
展开
-
DELPHI调用VC写的DLL经验
由于项目的需要,必须使用DELPHI调用VC编写的DLL,而我是编写DLL的。 这里总结几个出现过的问题,以后再遇到就会用了。 一、需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState()); AFX_MANAGE_STATE(AfxGetStaticModuleState())这是用来实现DLL资源的切换!原创 2009-12-09 14:26:00 · 3348 阅读 · 0 评论 -
关于CString总结(转) CString好用但太容易出错了
本文转贴于:http://www.ecjtu.org/forum/read.php?tid=16259 前言:字符串操作是编程中最常用也最基本的操作之一. 做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MFC中提供的这个类对 我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用转载 2009-09-15 14:56:00 · 1645 阅读 · 0 评论 -
如何防止密码被非法获取?
从下载的文档中看到的,不知道出处。如作者看到,请联系我修改,谢谢合作! [问题提出] 这两天大家比较专注在获取Edit密码框的密码.在盗取时,我们如何防范呢? [解决方法] 此方法针对于通过SendMessage向此窗口发送WM_GETTEXT或EM_GETLINE消息来取得密码.跟我来. [程序实现] 方法很简单,用CWnd::DefWindowProc函数拦截得到的消息(向Ed转载 2009-09-15 15:56:00 · 716 阅读 · 0 评论 -
程序只启动一个实例的几种方法
有些时候,我们要求一个程序在系统中只能启动一个实例。比如,Windows自带的播放软件Windows Medea Player在Windows里就只能启动一个实例。原因很简单,如果同时启动几个实例,却播放不同的文件,那么声音和图像就会引起混乱。在设计模式中,就有一个SINGLETON模式,该模式就是让类只有一个实例。 对于程序而言,我们只有在程序启动的时候去检测某个设置,如果程序没有启动,就原创 2009-09-12 17:02:00 · 753 阅读 · 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 · 942 阅读 · 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 · 1860 阅读 · 2 评论 -
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 · 624 阅读 · 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 · 419 阅读 · 0 评论 -
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/699672.html 上节给大家介绍了静态链接库与库的调试与查看(动态链接库(DLL)编程深入浅出(一)),本节主要介绍非MFC DLL。4.非MFC DLL4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态转载 2009-09-08 15:08:00 · 478 阅读 · 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 · 479 阅读 · 0 评论 -
使用COM、OLE的注意事项
不断更新中:2009年9月7日:1、注意初始化与解除初始化//初始化CoInitialize(NULL);AfxOleInit();AfxEnableControlContainer();//解除初始化CoUninitialize(); 这个是我在项目中得到的收获,在测试例子中,记得初始化,而导为DLL以后,忘记初始化,结果导致一直内存出错!原创 2009-09-07 17:49:00 · 609 阅读 · 0 评论 -
旧的代码在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 评论 -
MFC各类指针的引用方法
说明:以下内容均来自互联网 1) 在View中获得Doc指针2) 在App中获得MainFrame指针3) 在View中获得MainFrame指针4) 获得View(已建立)指针5) 获得当前文档指针6) 获得状态栏与工具栏指针7) 在Mainframe获得菜单指针8) 在任何类中获得应用程序类转载 2009-09-21 16:53:00 · 804 阅读 · 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 · 3065 阅读 · 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 · 830 阅读 · 0 评论 -
GetTextMetrics与GetTextExtent的区别
GetTextMetrics:获取当前字体的信息GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度CDC::GetTextMetrics作用:返回当前设备描述表中的当前所用的字体的信息函数原型:BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;参数: lpMetrics (是一个指针)返回指向TEXTMETRIC 结原创 2009-11-23 09:41:00 · 2863 阅读 · 1 评论 -
在Vista操作系统中通过manifest文件使VC应用程序获得管理员权限
这是我在项目中遇到的,项目中的服务器在VC2005和XP环境下开发的,没有加MANIFEST文件,使得在VISTA下当服务器时出现外面的客户端无法访问的问题,问我师傅,才知道是要添加manifest文件来使得VC应用程序获得管理员权限,(*^__^*) 嘻嘻问题也就解决了。1.打开应用程序的源代码工程2.添加一个“custom”资源,"resource type"填24,把资源ID改为1,原创 2009-11-14 14:53:00 · 1195 阅读 · 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 评论 -
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 · 4677 阅读 · 0 评论 -
实现单文档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 评论 -
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 评论 -
Windows API函数大全
本文转贴于:http://i.cn.yahoo.com/05665370211/blog/p_145/ 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连转载 2009-09-22 10:44:00 · 904 阅读 · 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 · 806 阅读 · 1 评论 -
CArray类的学习
因为项目的需要,今天学习并且应用了CArray这个类,下面将我的心得讲出来。 首先定义 CArray arryPChar; 这里以定义char*的为例子。接下来我们来熟悉CArray这个类里的函数。 INT_PTR GetCount() const;获得当前这个数组有多少个元素。 void SetSize(INT_PTR nNewSize, IN原创 2009-08-28 14:58:00 · 1075 阅读 · 2 评论 -
给文档注册类名
前面已经就对话框更改类名进行讲解了,现在我们先来修改基于MFC的单文档的类名。其实很简单,只需要将BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)这个函数里面的实现内容更改为下面的代码就OK了。 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWnd::Pr原创 2009-08-27 16:25:00 · 489 阅读 · 0 评论 -
COM 组件设计与应用(十七)——持续性
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2784 本文转载于:http://www.vckbase.com/document/viewdoc/?id=1546作者:杨老师一、前言 我们写程序,经常需要实现这样的需求:例一、程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置,以便下次运行时保持位置不变;例二、由于程序运转载 2009-08-15 14:27:00 · 408 阅读 · 0 评论 -
COM 组件设计与应用(十一)IDispatch 及双接口的调用
本文源代码地址:http://www.vckbase.com/code/downcode.asp?id=2744本文转载于http://www.vckbase.com/document/viewdoc/?id=1518作者:杨老师一、前言 前段时间,由于工作比较忙,没有能及时地写作。其间收到了很多网友的来信询问和鼓励,在此一并表示感谢。咳......我也需要工作来养家糊口呀.....转载 2009-08-15 09:56:00 · 575 阅读 · 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 评论 -
COM组件设计与应用(十六)连接点(vc.net)
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2776本文转载于:http://www.vckbase.com/document/viewdoc/?id=1539作者:杨老师一、前言 上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象) 看着好复杂转载 2009-08-15 14:21:00 · 554 阅读 · 0 评论 -
COM组件设计与应用(十五)连接点(vc6.0)
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2775本文转载于:http://www.vckbase.com/document/viewdoc/?id=1538作者:杨老师一、前言 上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象) 看着好复杂转载 2009-08-15 14:14:00 · 637 阅读 · 0 评论 -
COM组件设计与应用(十四)事件和通知(vc.net)
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2753本文转载于:http://www.vckbase.com/document/viewdoc/?id=1526作者:杨老师一、前言 我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者; 我的 COM 组件用线程方式下载网络上的一个文件,当我完成任转载 2009-08-15 11:55:00 · 476 阅读 · 0 评论 -
COM组件设计与应用(十三)事件和通知(VC6.0)
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2752本文转载于:http://www.vckbase.com/document/viewdoc/?id=1525作者:杨老师一、前言 我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者; 我的 COM 组件用线程方式下载网络上的一个文件,当我完成任转载 2009-08-15 11:49:00 · 622 阅读 · 0 评论 -
UNICODE 编程入门
本文转载于http://www.vckbase.com/document/viewdoc/?id=642 作者:NorthTibet简介 如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用户,那么必须考虑代码转载 2009-08-13 14:17:00 · 443 阅读 · 0 评论 -
字符串类型的Unicode码转化为中文
这里的aa是字符串的unicode码,例如“6210”表示“成”中aa=“6210”,而szTemp则是“成”。 CString aa = info.Mid(pos2+2,4); int a; sscanf(aa, "%04X", &a); wchar_t szTemp[3] = {0}; memcpy(szTemp, &a, 2);原创 2009-08-10 09:07:00 · 817 阅读 · 0 评论 -
VC橡皮筋绘图技术的实现
在我们在使用微软的绘图程序时。当要画一条直线,先用鼠标确定起始位置,然后鼠标在屏幕上来回移动时,我们会发现,这条直线就像橡皮筋一样,随着鼠标在屏幕中的位置,长短和终点都随之变化。我们在编制自己的程序时,有时也需实现类似的功能,本文将通过简单的编程实例,并说明实现原理。一。实现原理: 利用了WINDOWS绘图模式中的“异或”的绘图特性。即在屏幕上用异或的模式画图形转载 2009-08-06 17:33:00 · 1056 阅读 · 0 评论 -
VC的内存绘图防止屏幕闪烁技术的实现
在工业控制系统中,经常需要实时的显示一些曲线,运用传统的绘图方法,会引起屏幕的强烈闪烁。现在常用的解决方法是:利用内存绘图的技术,将需显示的图形绘制在内存位图中,然后再拷贝到屏幕上,很好的解决了屏幕闪烁的问题。并且处理速度快。其实VC的内存绘图的资料网上也很多,本人根据自己的实践经验,并结合网友的文章,给出一个简单的编程实例,仅供网友参考。编程实现:第一步:用VC6.0生成一个基于对转载 2009-08-06 17:31:00 · 2123 阅读 · 0 评论 -
COM组件设计与应用(十八)——属性包
本文源代码下载地址:http://www.vckbase.com/code/downcode.asp?id=2785本文转载于:http://www.vckbase.com/document/viewdoc/?id=1547作者杨老师一、前言 书接上回,本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包,是以“名称 - 值”的方式提供组件持续性转载 2009-08-15 14:28:00 · 763 阅读 · 0 评论