- 博客(134)
- 资源 (3)
- 收藏
- 关注
原创 (原)VC开发ActiveX OCX控件的个人总结
VC开发ActiveX OCX控件的个人总结1.派生至Colecontrel的OCX控件类,可以响应自定义消息,方法与应用程序一样,在BEGIN_MESSAGE_MAP中响应即可.2.OCX控件取得自身句柄的方法:this->m_hwnd.前提是在生成向导时选择有窗体.3.在odl文件中的version(1.0)中可以改版本号.或在资源文件中的改Version串.4.在odl文件的
2010-01-18 10:55:00 1804 3
原创 (原创)VB调用DLL(VC)使用结构体参数时的内存对齐及分配的问题.
VB调用DLL(VC)使用结构体参数时的内存对齐及分配的问题.结构内存对齐的相关说明:第一: 首先要先计算结构中成员对齐:(VC编译器默认的一般是8字节对齐)用以来分配成员空间及偏移地址。结构体成员的对齐的取值来就是是用这个成员本身的大小和#pragma pack(push,n)中的n中较小的数对齐,例如如果成员大小为2,而你指定的对齐方式是4,则该成员按2对齐;注意是每个成员
2010-01-18 10:53:00 1386
原创 (原创)串口监视过滤驱动程序开发详解(1)
串口监视过滤驱动程序开发详解(1) 1 系统综述及架构分析1.1 系统综述 串口监视主要由串口过滤驱动程序及串行数据监视显示应用程序两部分组成。首先请允许我解释一下滤驱动程序:WDM模型假定硬件设备可以有多个驱动程序,每个驱动程序都有自己管理设备的方法。WDM根据设备对象堆栈来完成驱动程序的分层。一个过滤器驱动程序,该驱动程序可位于功能驱动程序的上面或下面,它通过过滤流经它的IRP来修改设
2010-01-15 08:57:00 1974 1
原创 (原创)VB开发ActiveX OCX控件供Delphi使用时的注意事项
VB开发ActiveX OCX控件供Delphi使用时的注意事项核心提示: 使用VB开发ActiveX OCX控件是一种非常便捷的开发手段,但其带来的问题也非常多,特别其开发的OCX供Delphi使用经常会出现不兼容出错的现象。VB开发ActiveX OCX控件供Delphi使用时的注意事项Delphi 7导入VB 开发的OCX的方法步骤:1.点击Tools菜单->Environme
2010-01-15 08:54:00 1222
原创 个人VC串口通信经验及相关知识总结(原)
0.多用异步通讯方式,个人一般开一个线程来监视串口数据接收;1.个人通常采用基于ComStat.cbInQue的循环查询+WaitCommEvent等待EV_RXCHAR相结合的方式,循环查询方式准确,不丢失数据,但占CUP时间,WaitCommEvent不占时间但只能读取调用其后接到的字符.两者结合,则可以互补.必请醒的是,当进行连续大数据串行数据时,这种方式中的用WaitCommEve
2009-02-08 20:23:00 2643 2
转载 VC++中使用内存映射文件处理大文件
摘要: 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍。 引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大
2007-12-04 16:35:00 669
转载 C++/VC++编程的疑难问题及解答
我“C++/VC++编程的疑难问题及解答”给出了三个关于C++/VC++编程的问题及其可能的解决方法。这篇文章再给出几个问题,大家多给我提意见啊,有问题可以给我发信啊!标准程序库问题,再谈list的迭代器是否可以随机移动? 标准程序库问题,vector的resize()和reserve()函数的区别 标准程序库问题,vector的内存重分配问题 动态链接库与静态链接库 标准程序库问题,再谈li
2007-12-04 16:34:00 585
转载 关于volatile关键字的说明以及测试
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint; 当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前
2007-12-04 16:32:00 633
转载 用DirectShow实现QQ的音视频聊天功能
当下比较流行的即时通信工具,比如MSN,QQ等都实现了视音频的功能,通过视频,音频,我们可以更好的和朋友通过网络进行沟通,本文通过DirectShow技术模拟QQ实现了视频和音频的采集,传输,基本实现了QQ的视音频聊天的功能。 网络视音频系统主要功能就在于视音频的采集,网络传输两个方面,通过Video Capture系列API函数,你就可以轻松的搞定视频捕捉,但是对于视频的网络传输,则要费一
2007-12-04 16:28:00 1184
转载 使用InterDev调试ASP页面及用户自定义DLL
最近一直在做ASP的项目,用来用去,觉得还是用Microsoft的InterDev开发起来比较方便。也许还有其它大家惯用的IDE,但是从使用InterDev以后,明显的降低了键盘上“r、e、s、p、o、n、.、w、r、i、t、d、m、g、b、x、a、l”等键的损耗程度,为什么?因为终于不用再写 response.write, msgbox, alert等调试语句了。也经常看到网上有人问起Inter
2007-12-01 15:43:00 1511
转载 在运行该程序时如何检测与sql server是否能够连接
问题: 有一个需要与服务器sql server连接的程序,我希望能够在运行该程序时首先检测与sql server是否能够连接,并根据返回值判断程序是否继续运行,请问专家,应该怎样解决? 水平: 刚入门 回答: 这个问题很好解决的,只要你对数据库执行一个查询操作,如果出错,就说明不能连接。(你执行的查询语句一定要正确)。 更多分享请关注:软信网-编程-http://w
2007-12-01 15:41:00 841
原创 攻克Interdev6.0不能正确建立工程
系统软件:windows2000 专业版,同系统同时安装的iis5.0 frontpage 服务器扩展. interdev6.0 (en) Interdev6.0不能正确建立工程是一个困扰我好久的问题.今天上网一查,发现同感者甚多,为解决这一问题,救大家于水火之中,在认真总结各位的经验后,经多次尝试,终于进
2007-12-01 15:39:00 525
转载 一些防止闪烁的方法
在作界面的时候经常碰到一些比较复杂的作图情况,由于作图过于复杂和频繁,所以时常出现闪烁的情况,几经磨练,虫虫找到一些防止闪烁的方法,写下来和大家共享。 1、将Invalidate()替换为InvalidateRect()。 Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内
2007-11-01 13:09:00 1418
转载 对图像的局部进行放大
在有些应用中需要对图像的局部进行放大,本例程用VC++ 5.0编写,用CDC的StretchBlt实现图像放大镜,主要有以下功能:1.移动MOUSE放大显示图像的不同部位,2.左击增加放大倍率,3.右击减少放大倍率。 当放大倍率较大时产生抖动。 ---- 实现过程: ---- 1.使用AppWizard生成SDI应用IMAGE。 ---- 2.为CImageView增加以下成员数据:
2007-11-01 13:07:00 947
转载 Visual C++中的图形特技
Visual C++中的图形特技 出处:计算机世界网 随着计算机信息表示及实现的多媒体化,在许多学习软件、游戏软件,以及多媒体课件制作软件中,经常使用各种图形显示技巧,如图形的推拉、交错、雨滴状、百页窗、积木随机堆叠等显示模式。这样使画面变得更为生动活泼,更能吸引用户,也为更好地发挥软件的功能奠定了基础。本文就Visual C++ 6.0中实现图形的各种显示技巧的原理及具体方法做些探讨。
2007-11-01 13:06:00 535
转载 Visual C++-图像平滑滚动效果的VC实现
Visual C++-图像平滑滚动效果的VC实现 前言: 在图像的编程中,经常会遇到这样一种情况,在有限的区域中显示了一幅大图,这时要浏览图像的各个部分,这就需要用到图像的滚动。关于它的实现,许多书都有提及,但其中的关键点和难点,即拖动中的刷新和闪烁问题,却讲述的不多,这也是我写本文的目的所在,下面我将详细分析实现方法。 实现效果及实现方法: 在图像区域中按下鼠标左键,
2007-11-01 13:04:00 1729
转载 获得OnOK退出控制
读者朋友可能知道,CDialog的OnOK虚函数控制了OK按钮,它负责触发数据交换以及从对话框中退出,然而,Enter键碰巧也具有同样的效果。也许这是我们所需要的,也可能我们不需要这一功能,就是说不希望用户在编辑框中按Enter键后出现关闭程序的情况。怎么解决这一问题? 一、原因 当用户按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线
2007-08-22 10:22:00 680
转载 基于Visual C++的Winsock API研究(一)
为了方便网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Socket实际在计算机中提供了一个通信
2007-08-22 10:16:00 733 1
转载 利用VC++编程实现程序自动启动
内容提要 在工作中经常遇到一些程序,当计算机启动时会自动将该程序加载,以实现对计算机的监控等特殊的目的。本文就针对这个问题,阐述了系统加载特定程序的原理和方法,同时利用VC++ 6.0编程实现这种特定的功能的,并对其中的关键代码进行了分析。 文章正文 工作中经常遇到一些程序,它们在系统启动的过程中,自动打开并运行,以便实现对系统的监控或者病毒的检测等特定的目的,典型的例子就是常用的一些杀毒软件
2007-08-17 09:51:00 1178
转载 灵活运用c语言实现高级功能
C语言以其简洁、灵活、表达能力强,产生的目标代码质量高,可移植性好而著称于世。巧妙、灵活地运用C可以进一步挖掘出其潜在的功能。 1、字符数组和字符指针 指针和数组是C最具特色的一部分。数组是占用预分配的连续空间,C语言中对连续空间的访问可以有以下几种方法:加下标构成数组是最直接的;常量字符串也可以类似访问,例如,下面语句就可将字符串打印出来。 for(i=0;i putcha
2007-08-17 09:49:00 822
转载 明明白白看MFC之程序框架(一)
对于程序员来说,如果要提高编程效率,一个好用的,功能强大的并且可以得心应手使用的编程工具往往会给我们程序员带来莫大的方便。其实对于现在的编程工具来说,使用哪一种工具都不是问题的关键,重要的是你能够使用到什么程度,毕竟现在的工具都是非常的强大,对于一般的编程任务来说还没有不能够胜任的工具,否则的话恐怕他就不可能在这个世界上存在哪怕是只有一个月的生命。但是根据个人所好以及周围的人的影响,我们都会去使用
2007-08-17 09:46:00 634
转载 明明白白看MFC之程序框架(二)
二、 MFC应用程序结构 在《明明白白看MFC之程序框架(一)》中我分析了一个经典的SDK应用程序的结构,现在可是要进入主题“MFC应用程序结构”了。MFC应用程序有好多种,为了能够更清楚地与前面的文章形成对比,我们在这里看一个SDI的应用程序,当然例子还是经典的“Hello World”了。在使用向导生成应用程序后,会发现有好几个文件,首先我们不管有哪些文件,按照程序执行得主线抽取主要的源程
2007-08-17 09:40:00 659
转载 明明白白看MFC之程序框架(三)
三、MFC程序结构大剖析 在前面我分别给出了SDK和MFC应用程序的框架,并且稍微理了一下它们之间的对应关系。但是对于MFC程序来说,要想真正搞懂它的框架的话,还是不够的。现在我要做的事就是继续去分析一下上面的MFC程序,期望能够如我的标题所言,明明白白的看透MFC的应用程序框架。 首先就是看一下应用向导生成的MFC应用程序都有哪些主要的文件,包含哪些类以及相关类的对应功能和他们之间
2007-08-17 09:39:00 765 1
转载 如何控制窗口框架的最大最小尺寸
处理消息WM_GETMINMAXINFO,结构MINMAXINFO设置了整个窗口类的限制,因此记 住要考虑工具条,卷动条等等的大小. // 最大最小尺寸的象素点 - 示例 #define MINX 200 #define MINY 300 #define MAXX 300 #define MAXY 400 void CMyFrameWnd::OnGetMinMaxInfo(MINMA
2007-08-16 11:49:00 732
转载 经验总结之防止窗口闪烁的方法
1、将Invalidate()替换为InvalidateRect()。 因为Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所需时间会少一些。所以替换之后在很大程度上会减少闪烁。如果你确实需要改善闪烁的情况,计算一个Rect所用的时间比起重画那些不需要重画的内容所需要的时间要少得多。 2、不要让系统擦
2007-08-16 11:46:00 1096 1
原创 如何让两个对话框的同时显示
对于VC++初学者,可能会遇到这样一个问题:一个基于Dialog的MFC AppWizard应用程序,再Insert一个对话框,如何同时显示这两个对话框呢? 其实这个问题很简单,想要在屏幕上同时显示两个对话框,并且这两个对话框都可以被激活,则至少第二个对话框应该为非模态对话框。启动非模态对话框的方法与启动一个普通窗口的步骤是一样的,即先调用窗口类的Create()函数创建一个窗口对象,再用Sh
2007-08-16 10:27:00 1357
原创 如何制作Windows自定义边框的对话框
在Windows应用程序中,对话框是应用最广泛也是比较难控制其风格(外表)的 一类窗口。Windows 3.x所提供的传统的对话框一般都有一个单调的蓝色的边框 和白色窗口背景,即使采用Borland C++所提供的BorDlg风格的对话框,用自定义 控制(BWCC)来美化对话框的背景及内容,呆板的边框还是一成不变的。相信用过 Windows 95的朋友在享受其强大功能的同时,一定也为它所提供的具有
2007-08-16 10:25:00 744
转载 设计网络服务器ISAPI
阅读本文需要具备基本的Web/CGI 、MFC 以及Visual C++ v4.1或更新版本的知识。 ISAPI 与CGI 很长时期以来,CGI都作为交互web开发的一个标准工具。CGI脚本允许使用者用各种语言来编写简单的应用程序,它在网络服务器上运行并直接输出到用户的网络浏览器上。用户的数据通过环境变量或者标准输入设备输入,程序则会通过标准输出返回HTML文本。这么一个简单的
2007-08-16 10:24:00 630
转载 深度解析VC中的消息传递机制(上)
摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知
2007-08-14 09:38:00 677
转载 深度解析VC中的消息传递机制(下)
消息的接收 消息的接收主要有3个函数:GetMessage、PeekMessage、WaitMessage。 GetMessage原型如下:BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax); 该函数用来获取与hWnd参数所指定的窗口相关的且wMsgFilterMi
2007-08-14 09:34:00 620
转载 深入剖析MFC中Windows消息处理、运行机制
序: 本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VISUAL C++的Application FrameWork十分精制[不敢用“完美”一词]。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书也没能得到解决,近日,通过在CSDN上网友的帮助,和查阅MSDN,
2007-08-14 09:29:00 741
转载 鼠标光标制作程序
该程序使用特定算法几次转换将图形转成16位16进制数据存储在磁盘文件上在使用时将其重文件读出放于相应的结构中就可使用中断来改变光标。我没加多少注释请各位朋友自己找出转换算法,请注意I,J的变化#include #include #include #include void Init();/*初始函数*/void Cursor();/*光标移动函数*/void Save();/*记
2007-08-14 08:41:00 606
转载 完整的读写函数
一旦我们建立了连接,我们的下一步就是进行通信了.在Linux下面把我们前面建立的通道 看成是文件描述符,这样服务器端和客户端进行通信时候,只要往文件描述符里面读写东西了. 就象我们往文件读写一样. 4.1 写函数write ssize_t write(int fd,const void *buf,size_t nbytes) write函数将buf中的nbytes字节内容
2007-08-14 08:39:00 602
转载 文档 视图 框架窗口间的关系和消息传送规律
在MFC中M$引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。(这一结构在MFC中的OLE,ODBC开发时又得到更多的拓展)因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。(VC6中支持创建不带文档-视的应用) 在程序运行时CWinApp将创建一个CF
2007-08-14 08:37:00 589
转载 应该使用哪个框架?用ATL和MFC来创建ActiveX控件1
本文假定你熟悉MFC, ATL, and COM 摘要目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框架在它们对于开发ActiveX的用途上会合了。我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自
2007-08-02 10:08:00 929
转载 应该使用哪个框架?用ATL和MFC来创建ActiveX控件2
虽然基于MFC的COM类总是可聚合的(内置了对它的支持),ATL ObjectWizard使得你可以指定你的控件支持聚合,只是可聚合的,或者是独立的对象。根据你选择的聚合选项,ATL ObjectWizard使用一个宏来执行聚合策略。例如,缺省的COM类的实现是可聚合的——对象将既运行在独立的模式,又作为一个聚合的一部分。如果你使你的COM对象不可聚合,ObjectWizard把DECLARE_N
2007-08-02 10:05:00 706
转载 应该使用哪个框架?用ATL和MFC来创建ActiveX控件3
下面的代码显示了MFCMsgTraffic控件是怎样将它的颜色和时间间隔属性保存起来的: void CMFCMsgTrafficCtrl::DoPropExchange(CPropExchange* pPX) { ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor)); COleControl::DoPropExchange(p
2007-08-02 09:50:00 706
转载 形形色色的自定义消息(上)
摘要:自从发了5篇关于消息的文章,有的网友来信希望我讲一些比较实用的消息机制用法,这里我想就用户的自定义消息做一个全面的论述,希望能够解除你心头的困惑。 一、普通的自定义消息方法。 根据我在前面的几篇文章中提到的消息值的范围,我向大家都很清楚用户自定义消息的范围,不过,虽然说用会自定义消息从WM_USER开始,但是由于我们的工程里面一般还有很多其他的控件,他们也要占用一部分WM
2007-08-02 09:45:00 591
转载 形形色色的自定义消息(下)
在前面,我们讨论了自身类中消息的传递方法和成组的消息传递,接下来的问题就是如何向不同的类中传递消息。其实在《解析VC++6中的指针 》中,我们讨论了如何在不同的类中获取其他类的指针的方法,,我们借用这种获取指针的方法就可以轻松的随心所欲的在各个类中传递消息了。 首先,定义消息的方式和我们在上面所说的是一样的(例如在框架类中向视图类发送消息): (1)在视图类.cpp中定义消息值: #de
2007-08-02 09:34:00 605
转载 用VC++和Winsock实现与HTTP服务器通话
一、引 言 ---- Windows Socket API是一套开放的、支持多种协议的Windows下的网络编程接口,它包 括一个标准的 Berkeley Socket功能调用的集合,以及为Windows所作的重要扩充。 Windows Socket经过不断完善并在众 多公司的全力支持下,已成为Windows网络编程 的事实上的标准。 ---- 本 文 将 在VC++ 5.0 环 境 下 介
2007-08-02 09:29:00 577
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人