Welcome 微信登录

首页 / 软件开发 / C++

CB中消息处理过程及应用

CB中消息处理过程及应用

CB中消息处理过程及应用2008-01-05C++ Builder作为一种RAD方式的程序开发工具,其全新的可视化编程环境、面向组件的开发模式无疑会大大地提高编程效率。它对繁杂的Windows 消息及API作了较全面的封装,者在大多数情况下不需理会Windows消息的细节,只要将心思放在组件的事件处理函数上即可。然而,毕竟Windows操作系统是一个以消息驱动的系统,运行其上的应用程序,自然无法脱离系统之外,因此掌握并运用消息处理,对一些问题的处理会有事半...
如何对BCGControlBarPro进行换肤

如何对BCGControlBarPro进行换肤

如何对BCGControlBarPro进行换肤2010-07-11阙海忠效果图图一我们知道使用VC开发大型的应用系统时,都会碰到一个界面设计和风格布局的问题。如果一切都重头开始设计和编写的话,将会是巨大的工作量。在短时间内很难写出一个比较健壮功能强大的界面系统出来。对软件项目进度也带来了不可预测的风险。在这种形势下BCG库就应运而生了。目前BCG可以做出诸如Visual Studio .Net 2003 ,Outlook等大型界面系统。几乎可以满足目前市场...
拦截Windows消息

拦截Windows消息

拦截Windows消息2008-01-05---- Borland C++ Builder的API后门---- 引子---- C++ Builder不愧为Borland公司的优秀产品,用它来开发Windows程序非常快捷高效,但在编程过程中你也会发现它的一些限制性,让你无法实现自己的想法。比如你无法在修改表单的系统菜单;比如使用跟踪栏时,你找不到StartTrack和EndTrack事件,而偏偏你的程序需要这两个事件。Windows API编程中,你就不会...
自定义控件—特效列表控件

自定义控件—特效列表控件

自定义控件—特效列表控件2010-07-11 vckbase 吴磊一、创建目标建立类似于Windows XP窗口中左部的列表控件,如下图所示用户可自由添加列表成员控件可以折叠和伸展,折叠时只显示标题栏控件可显示在由CWnd派生的窗口类中每个成员可响应鼠标事件,并向用户提供编程接口二、设计与实现1、对象特效列表控件(TaskListBox)——提供用户编程接口,处理与窗口对象衔接。特效列表(TaskList)—&mdash...
让应用程序禁止Windows屏幕保护

让应用程序禁止Windows屏幕保护

让应用程序禁止Windows屏幕保护2008-01-05如果在你的程序中需要一个很长的时间段来进行大量的数据处理,这段时间长得足以使Windows因检测不到用户动作而激活屏幕保护程序,一旦启动了屏幕保护程序,你的程序运行实际上就变慢了,这会大大影响程序的正常运行。有没有一种方法,使程序在进行长时间的数据处理前关掉屏幕保护呢?答案是肯定的。Windows在启动屏幕保护程序前会向当前激活的应用程序发送WM_SYSCOMMAND消息,其中wParam参数指定了即...
在VC项目中使用自定义资源

在VC项目中使用自定义资源

在VC项目中使用自定义资源2010-07-11飘鸥一、前言在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。默认的皮肤压缩包或语言包。一些支持换肤的软件特别是一些媒体播放器常常有自定义的皮肤文件(你可以尝试将Media Player或千千静听等软件的Skins目录下的文件的扩展名改为.zip,然后使用WinZip打开...
在CB中响应消息及自定义消息

在CB中响应消息及自定义消息

在CB中响应消息及自定义消息2008-01-05在 Borland C++Builder 中,也可以象在 Delphi 中一样响应消息,只是看起来要稍复杂一点。对于已定义的消息,可以直接响应,而对于非系统消息可以照如下自定义://以下代码写在头文件中:#define WM_MY_OPEN_CMDLINE_FILE (WM_USER+1) //进程间通讯的自定义消息#define WM_MY_SEARCH_NODE (WM_USER+2) //查找命令的自定...
一个关于#include的问题

一个关于#include的问题

一个关于#include的问题2010-07-11 vckbase 赵湘宁问题:我试图将一个头文件包含在工程的资源文件中。为此在.rc文件中添加了如下一行代码:#include "MyFile.h"虽然运行没有问题,但是每次在Visual Studio中打开资源时,它都把这一行代码删除掉了。我之所以要包含这个头文件是因为想使用第三方定义的菜单项ID号。解答:讨厌的IDE环境有时总是以刁难你的代码为乐趣,你说是不是?请不要怕,莫高一尺、道...
如何捕获VCL没有处理的Windows消息

如何捕获VCL没有处理的Windows消息

如何捕获VCL没有处理的Windows消息2008-01-05---- C++ Builer的VCL提供了对大多数Windows消息的处理机制,这对于一般应用程序是足够了,但VCL也不是无所不包的,对于那些VCL没有处理的Windows消息,在需要时如何进行捕获呢?C++ Builder采用了消息映像表机制,通过消息映像表将特定的Windows消息与代码中的函数联系起来,当窗口捕获到消息时就会调用这个函数,这其实和事件句柄非常相似。---- C++ Bui...
利用window API实现matlab屏幕抓取函数

利用window API实现matlab屏幕抓取函数

利用window API实现matlab屏幕抓取函数2010-07-11 vckbase 陈祖尚摘要:结合如何用window API实现matlab屏幕抓取函数,介绍了在matlab中如何利用matlab与C/C++的接口,调用操作系统API,扩展matlab功能。引言MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。由于其完整的专业体系和先进的设计 开发思路,使得 MATLAB 在多种领...
WINDOWS键盘事件的挂钩监控原理及其应用技术

WINDOWS键盘事件的挂钩监控原理及其应用技术

WINDOWS键盘事件的挂钩监控原理及其应用技术2008-01-05WINDOW的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接各种反调函数(HOOK)的功能。这种挂钩函数(HOOK)类似扩充中断驱动程序,挂钩上可以挂接多个反调函数构成一个挂接函数链。系统产生的各种消息首先被送到各种挂接函数,挂接函数根据各自的功能对消息进行监视、修改和控制等,然后交还控制权或将消息传递给下一个挂接函数以致最终达到窗口函数。WINDOW系统的这种反调函数挂...
关于MFC和STL的使用

关于MFC和STL的使用

关于MFC和STL的使用2010-07-15赵湘宁问题:我在几个不同的地方读过有关STL的内容,但还是不知道在我的应用程序中到底是用STL还是用MFC?我的程序也处理string,vectors等东西。使用STL和MFC到底有什么不同?解答:要回答“我应该使用哪一个?”这样的问题,答案几乎都一样。它依赖于你想做什么,你的应用程序的种类以及你的知识。还有你的C++资格认证也很重要。当你需要快速做某件事情时,最好是利用你最熟悉的工具。如...
WIN95日志钩子(JournalRecord Hook)的使用

WIN95日志钩子(JournalRecord Hook)的使用

WIN95日志钩子(JournalRecord Hook)的使用2008-01-05钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以截获启动和关闭应用程序的消息,日志钩子可以监视和记录输入事件。钩子分为线程专用钩子和全局钩子,线程专用...
用VC++开发WinPopup的增强版

用VC++开发WinPopup的增强版

用VC++开发WinPopup的增强版2010-07-15李佑民在Internet Explorer 中,微软带有两个很好的局域网通信工具:Chat 和NetMeeting,它们能使局域网中的用户通过互发消息文本、电子白板,甚至语音和视频图像进行交流,但是它们都需要指定一个服务器才能正常工作。在通常由若干台Windows 95/98 组成的对等网中,真正适用的消息传送工具仍然是微软通过网络组件安装的WinPopup.EXE,但微软好像忘记了这个小程序,使它...
Windows中的消息详细列表

Windows中的消息详细列表

Windows中的消息详细列表2008-01-05消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在单元中是这样声明的:typeTMsg = packed record...
STL中仿函数(functors)、类成员和mem_fun的使用

STL中仿函数(functors)、类成员和mem_fun的使用

STL中仿函数(functors)、类成员和mem_fun的使用2010-07-15winter众所周知,STL使用起来非常方便,其中仿函数(functor)扮演了一个非常重要的角色。灵活运用仿函数的使用对于发挥STL强大功能非常关键。本文详细介绍了如何使用mem_fun和mem_fun1来绑定类成员函数,使之成为functor什么是仿函数?就是一个重载了"()"运算符的struct,例如:struct print_obj{ void...
初级WINDOWS API C++语言版编程(2)

初级WINDOWS API C++语言版编程(2)

初级WINDOWS API C++语言版编程(2)2008-01-05在上一篇中我着重介绍了WINDOWS API32程序的基本结构框架,您一定想完成自己的第一个WINDOWS程序吧?别忙我先向您介绍一下API的窗口函数,只有了解它您才能进行编程。什么是窗口函数呢?它又定义了什么呢?窗口函数定义了应用程序对接受到的不同消息的响应,其中包含了应用程序对各种可能接受到的消息的处理过程,是消息处理分支控制语句的集合。一般来说,窗口函数由一个或多个switch语句...
在STL列表(Lists)中插入不同类型的对象

在STL列表(Lists)中插入不同类型的对象

在STL列表(Lists)中插入不同类型的对象2010-07-15赵湘宁[问题]:我的目的是创建一个不同类型对象的容器。首先从同一个类派生了所有需要的类,然后将它们压入容器中。请看下列代码: synObject为基类,synPin 和 synPin 是从基类中派生的子类,class synObject {public :synObject();string GetClass();string className;};synObject::synObject...
初级WINDOWS API C++语言版编程(1)

初级WINDOWS API C++语言版编程(1)

初级WINDOWS API C++语言版编程(1)2008-01-05当我们使用着漂亮的界面,方便快捷的应用程序的时候。我们才会发现,以前曾编写的程序是多么的粗糙(TC编写的程序)。简单的界面,16色的显示系统,大大的落后于计算机的发展。简单的说就是杀鸡用牛刀。如何该改变这种情况呢?Microsoft公司在推出windows操作系统的时候给出了简单易行的解决方案。这就是WINDOWS平台API应用程序接口。当然API也是发展的,它从WIN 16 API发展...
再谈“在STL列表(Lists)中插入不同类型的对象”

再谈“在STL列表(Lists)中插入不同类型的对象”

再谈“在STL列表(Lists)中插入不同类型的对象”2010-07-15 vckbase 周公建看到贵网站上的一篇文章:“在STL列表(Lists)中插入不同类型的对象”。我觉得该文回答还没有指出问题的本质,所以本人提出我的观点,恳请指正。本人认为,错误产生的原因在于指针转化过程中,程序没有指出该指针最初的原型,或者说,由于未找到正确的子类函数地址才发生调用错误的,本人原代码如下:用Dev-cpp的g++编译通过。#include...
<< 51 52 53 54 55 56 57 58 59 60 >>