自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mfreesky的专栏

谢谢指导,多多来访

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应

自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应一般情况下,我们都是在 dialog 里面 放一个 list 控件,然后 用自己的类绑定自己的自绘对象,如同下面:1.  在 dialog 里面 加一个 list 列表2. 然后 绑定这个列表哈哈...

2018-08-23 16:00:48 1742

原创 在 固定式 三维双目测量系统中 使用 CTreeCtrl 完成 Group 的操作 概念

最近 要做一款 产品, 涉及到分组显示,以前采用 Outlookbar,分组 能简单处理,但是要 做到像Gemagic 那样组的管理就很难了,Outlookbar 就必须 用 Tree 来替换掉。但是 MFC 中 CMFCListCtrl 很容易 实现 单行 高亮,多选的操作,但是 CTreeCtrl 却很难了,我们必须根据自己的需求重新 绘制 CTreeCtrl。 经过 3天的努力,在参考若干 ...

2018-08-05 16:41:31 185

原创 std::_Unforced 错误

严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2664 “bool libbz3ds::IScanningService::StartScan(libbz3ds::PScanningSet,std::function<void (libbz3ds::E_SCANNING_PROCESS_STATUS)>,std::function<void (libbz3ds::PSc...

2018-06-30 12:46:02 965

原创 怎么给MFC 某个控件 修改 字体 属性

1. 头文件定义 CFont  m_titleFont;2. 初始化,比如在 Cdialog::OnInitDialog(),然后 设置 当前的 控件字体属性   m_titleFont.CreateFont(26, // nHeight         0, // nWidth         0, // nEscapement         0, // nOrientation       ...

2018-06-14 10:56:37 2878 1

原创 确保你的 float,double 值 不被 改变

<br />最近在做一套系统的时候,发现数据不对,原来是float的初始值已经被改变了。<br />float f1 =1543.56f;<br />调试跟踪的时候发现 f1 = 1543.5601了。<br /><br />分析原因: <br />1.float 在初始化的时候进行了运算,是2e次幂。f1 = 2048.64f就不会有这个问题。<br />2.超出float 的精度的时候,float也会做出处理,使你的值被改变。<br /><br />解决办法:<br />1.自定义数据结构体,如C# 的

2010-12-31 16:04:00 631

原创 数字证书基本概念

(1)什么是证书? 在一个电子商务系统中,所有参与活动的实体都必须用证书来表明自己的身份。证书一方面可以用来向系统中的其它实体证明自己的身份(每份证书都是经“相对权威的机构”签名的),另一方面由于每份证书都携带着证书持有者的公钥(签名证书携带的是签名公钥,密钥加密证书携带的是密钥加密公钥),所以,证书也可以向接收者证实某人或某个机构对公开密钥的拥有,同时也起着公钥分发的作用。(2)什么是C

2010-04-02 14:23:00 1072

原创 CA/RA简介

开放网络上的电子商务要求为信息安全提供有效的、可靠的保护机制。这些机制必须提供机密性、身份验证特性(使交易的每一方都可以确认其它各方的身份)、不可否认性(交易的各方不可否认它们的参与)。这就需要依靠一个可靠的第三方机构验证,而认证中心(CA:Certification Authority)专门提供这种服务。  证书机制是目前被广泛采用的一种安全机制,使用证书机制的前提是建立CA(Certifi

2010-04-02 14:21:00 7954

转载 Crypto API加密通信流程

 应用程序使用Crypto API进行加密通信的一般步骤如下:  1,include wincrypt.h 2,调用CryptAcquireContext()获得某个CSP模块中的密钥容器(key container)的一个句柄; 3,发送方使用CryptImportKey()将接受方的证书导入CSP中,从而获得接收方的公钥; 4,发送方式用CryptGenKey()随机产

2010-04-02 14:20:00 1533

转载 CAPI写密钥对到USBKey CSP中

在前面了解了CryptoAPI和CSP的相关概念之后,我们具体分析了CryptoAPI的相关函数,实现了写证书、私钥的过程和更新证书的过程。写证书和私钥到CSP的方案:首先将CA返回给RA的证书和私钥进行封装,将它们封装成P12结构证书,然后将P12结构证书导入到一个临时的证书库中。在该临时库中找到证书的上下文,通过证书上下文获得一个临时的CSP句柄和证书对应的私钥的类型,然后根据这个CSP句柄和

2010-04-02 13:23:00 3569 1

转载 密钥容器和证书的关系

其实CSP主要是对容器里的密钥对操作的,和证书关系不大。容器里的密钥对有两种类型:一种是AT_KEYEXCHANGE,表示加密的密钥对,一种是AT_SIGNATURE表示签名的密钥对。由于美国的出口限制,在MS的CSP中加密的密钥对可以取的密钥最大长度通常会比签名的密钥对短。通常加密的密钥对只会用于加密,签名的密钥对只会用于签名,由于某些原因(例如产生证书请求),加密的密钥对也可以用于签名。我把A

2010-04-02 13:22:00 4769

转载 证书的申请过程(usbkey)

Q:有为usbkey写过csp的吗?请问如何实现用usbkey来保存证书?csp的CPSetKeyParam()需要注意什么?(MSDN上的没看懂)是否需要设定PK_CERTIFICATE这个参数?比如,需要将产生的证书存在D盘根目录下面(暂时代替usbkey),需要哪里设定?A:分别通过调用CryptSetKeyParam和CryptGetKeyParam来调用CSP实现的CPSet

2010-04-02 13:21:00 3927

原创 CRYTOAPI 库调用出错

调试中,出现以下错误:Compiling...Keycos.cppd:/soft work/other/devinterface/keycos.cpp(34) : warning C4101: ifData : unreferenced local variabled:/soft work/other/devinterface/keycos.cpp(383) : error C2065:

2010-03-31 17:27:00 2633 1

原创 了解 volatile 的用法

volatile的本意是一般有两种说法--1.“暂态的”;2.“易变的”。其实Volatile是由于编译器优化所造成的一个Bug而引入的关键字。 int a = 10; int b = a; int c = a; 理论上来讲每次使用a的时候都应该从a的地址来读取变量值,但是这存在一个效率问题,就是每次使用a都要去内存中取变量值,然后再通过系统总线传到CPU处理,这样开销会很大。所以那些编译器优

2008-12-09 10:35:00 650

转载 pragma指令简介

原文地址 http://www.cnblogs.com/cdo/archive/2005/06/08/170442.html 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系

2008-12-09 09:57:00 822

原创 C预处理和宏

 预处理,宏,常量,变量1.预处理.预处理常量1.1__FILE__显示源文件完整路径和名称代码如printf("the ocde in the file %s/n",__FILE__);1.2__LINE__显示源文件当前行号代码如printf("the ocde in the line %d/n",__LINE__);1.3__DATE__,__TIME__显示编译时的日期和时间代码如prin

2008-09-05 14:41:00 1760 1

原创 Stl vector,map set简单用法

C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。.一. vector1.声明:          一个vector类似于一个动态的一维数组。          vector a; //声明一个元素为int类型的vector a

2008-09-02 21:49:00 1990 1

转载 vc6.0 序列化

使类可序列化需要五个主要步骤。下面列出了这些步骤并在以后章节内进行了解释: 从 CObject 派生类(或从 CObject 派生的某个类中派生)。 重写 Serialize 成员函数。 使用 DECLARE_SERIAL 宏(在类声明中)。 定义不带参数的构造函数。 为类在实现文件中使用 IMPLEMENT_SERIAL 宏。 如果直接调用 Serialize 而不是通过

2008-06-17 09:00:00 1748

转载 c++五种内存分配、堆与栈区别

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。    栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。    堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作

2008-03-26 10:44:00 5461

原创 关于回调函数2

   三,精妙比喻:回调函数还真有点像您随身带的BP机:告诉别人号码,在它有事情时Call您。       回调用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调,例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。其实回调和API非常接近,他们的共性都是...

2008-03-26 10:40:00 695

转载 关于回调函数

 一,回调函数   我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地...

2008-03-26 10:36:00 613

转载 全面解读WM_NOTIFY

控件通知消息在《深度解析VC中的消息(上)》中,我们提到了消息的分类有3种:窗口消息、命令消息和控件通知消息,我们这里要谈的是最后一种:控件通知消息。控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、

2008-02-29 10:19:00 595

转载 VC用ADO访问数据库全攻略

VC用ADO访问数据库全攻略,介绍了VC用ADO来访问数据库的各个对象及各方法,很经典,也很实用,很值得一看。   正文一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹

2007-10-31 15:50:00 750

转载 STL 编程

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、container(容

2007-10-03 11:32:00 1053

原创 strcpy ;memcpy;memset 操作说明

strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#i nclude 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 memcpy 原型:extern void *memcpy(void *des

2007-09-10 14:30:00 959 1

转载 Windows系统下的多显示器模式开发

这几天研究了一下Windows系统的多显示器模式的编程,实现了Windows下支持10显示器模式的通用com组件,这里做一个整理和回顾,希望能对再这方面开发的兄弟们有些启发和帮助:(一) Windows系统下的多显示器模式的原理     Microsoft新的操作系统(Windows 98/Windows 2000/Windows XP)内置了对多监视器的支持,即用户可以在一台计算机上安装

2007-08-27 10:16:00 1471

转载 VC/MFC如何设置对话框背景颜色

1.重载OnCtlColor    (CDC*    pDC,    CWnd*    pWnd,    UINT    nCtlColor),即WM_CTLCOLOR消息。      ----    ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量:        class    CExampleDlgDlg    :    public    CDialog   

2007-08-27 10:13:00 13688 3

原创 VC中类的强制性转化,通过派生来控制自己想要的类

在c++入门的时候,常常看见很多类的强制性转换,比如看看CFrameWnd *pFrame = (CFrameWnd*)AfxGetMainWnd();CView *pView = (CView*)pFrame->GetActiveView(); 再通过pView实现其他的操作等,为什么pView可以实现其他的操作呢?因为很多的视图类都从CView中继承或派生来的,我们就可以通过其他类强制

2007-08-02 11:40:00 965

原创 MFC 的CList,CPtrList,CObList,CStringList 用法之CStringList

CStringList存放CString字符串类型,相当于CListCString str1;CString str2;CStringList m_lsFiles;  for ( int uFile = 0; uFile {str1.Format("%d" ,uFile);                  m_lsFiles.AddTail(str1);} // end forf

2007-08-02 11:11:00 2282

原创 MFC 的CList,CPtrList,CObList,CStringList 用法之CPtrList

CPtrList类支持void指针列表。CPtrList类的成员函数类似于CObList类的成员函数。由于这种类似性,可以使用CObList参考文档作为成员函数的说明。无论在任何时候使用一个CObject指针作为函数参数或返回值,都可以将指针替换为void。例如,CObject* & CObList::Gethead() const;可以替换成:void * CPtrList::Gethead()

2007-08-02 11:10:00 11484 2

转载 MFC 的CList,CPtrList,CObList,CStringList 的用法之CList

CList 类 C++中实现通用数据结构在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中可以使用多个队列、树、图等结构来组织数据。同种结构的不同实例,也许只在数据元素的类型或数量上略有差异,如果对每个实例都重新定义,则非常麻烦且容易出错。那么能否对同种类型数据结构仅定义一次呢?答案是肯定的,C++提供的类模板(Class Template)就可以实现该功能。一、类模

2007-08-02 11:09:00 4898 2

原创 MFC 的CList,CPtrList,CObList,CStringList 的用法

一直在编程中使用stl进行编程,但是最近感觉微软提供的模版类也是很好,出错机率更低,建议在mfc的工程使用。相关介绍如下,参照msdn搞清接口即可使用CList是通用型的列表类,你可以存放指定的数据类型,用法如下:CList list;这样就指定了CList中存放的是CPoint类型的引用;CPtrList,CObList,CStringList都是具体的用于某种类型的集合类型而CPtrL

2007-08-02 11:04:00 1423

原创 CDC 与 HDC

CDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。         通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。它还为获取和设置绘图属性、映射,处理视点、窗口扩展、转换坐标,处理区域、剪贴、绘制直线及绘制简单椭

2007-07-15 10:53:00 1041

原创 使用const提高函数的健壮性

看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Us

2007-07-11 16:51:00 674

转载 基于VC.NET的GDI+编程之CImage(VC图像处理新招)

我们知道,Visual C++的CBitmap类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。因此,想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码。现在,MFC和ATL共享的新类CImage为图像处理提供了许多相应的方法,这使得Visu

2007-07-04 14:04:00 3136

原创 MFC类中各种类的指针的获取和应用

关于MFC下的文档和视图以及框架之间的访问, 这些问题已经是老生常谈了,但我觉得还是都没有详细的说明,特查看了一些blog,总结了一下!希望对和我一样的人有点帮助! 一:      1:   因为对于SDI程序,主框架窗口就是文档框窗(如果这个也不知道,就要查看一下MFC下的单文档的构成原理了).           下面所说的是关于单文档的.                         

2007-07-03 12:03:00 711

转载 各种自定义消息通讯

 一、普通的自定义消息方法。        大家都很清楚用户自定义消息的范围,不过,虽然说用会自定义消息从WM_USER开始,但是由于我们的工程里面一般还有很多其他的控件,他们也要占用一部分WM_USER消息范围,所以我们必须为他们留出一部分范围,这里,我们保留100个消息,一般情况下,这可以满足我们的要求。        (1)定义消息的值。在我们要发生消息的地方(例如CMyView.cpp的开

2007-06-30 16:56:00 898

转载 Windows中的消息详细列表

消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的: type TMsg

2007-06-30 16:44:00 655

实现CTreeCtrl 多行选择,单行高亮显示

MFC 中 CListCtrl 已经有 集成类 CMFCListCtrl,实现 单行高亮,多行选择。但是 CTreeCtrl 却没有,纵观网络 也没有完整的实现,今天 贡献给大家

2018-08-05

白皮书PDM案例分析 doc

本文将对50件PDM实施案例深入剖析,展示清软英泰PDM对企业竞争力六要素的有效改善

2010-04-18

数子水印 c++ vc

针对加密技术的缺陷,人们提出了一种信息安全新技术--数字水印。论文首先概述了数字水印技术的产生、应用、发展现状。另外还介绍了数字水印系统的基本框架,分析了典型的数字水印算法。并在此基础上,运用最低有效位算法在VC++6.0环境下实现了基于BMP位图的数字水印系统。该系统实现了数字水印的嵌入和提取功能。测试表明系统取得了预期的结果

2010-04-18

医院门诊收费系统 VC++

用VC++做的医院门诊收费系统,详细见代码

2010-04-14

空空如也

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

TA关注的人

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