易网时代-编程资源站
Welcome
首页
/
软件开发
/
C++
和我一起写屏幕保护
2016-07-27
20
和我一起写屏幕保护2008-02-26Alon对于屏幕保护程序,大家应该不会陌生。屏幕保护程序的后缀名是.scr,其实它就是一个可执行的.exe文件。VC提供了一个支持屏幕保护的开发库scrnsave.lib,这个库已经定制了一个屏幕保护程序的框架结构,开发者只需要在完成相应的函数和提供相应的资源就可以写出自己的屏幕保护程序。我们所需要完成的函数有:// 屏幕保护程序的窗口函数,几乎所有的操作都在这里进行BOOL WINAPI ScreenSaverPro...
设计模式之观察者(Observer)模式与其C++通用实现(中)
2016-07-27
17
设计模式之观察者(Observer)模式与其C++通用实现(中)2010-09-14 CSDN博客 林石通过上篇的介绍我们知道了观察者模式的基本特点、使用场合以及如何以C++语言实现。有过多次编写观察者模式代码经验的你也许会发现,几乎所有的案例存在为数相当可观的重复性代码:定义一个观察者接口;定义一个主题并实现其诸如注册一/多个观察者,移除一/多个观察者,广播至所注册的观察者等基本行为。既然如此,我们有没有可能为所有观察者模式抽象出共有的接口与行为,以便日...
利用OpenGL实现动画效果
2016-07-27
17
利用OpenGL实现动画效果2008-02-26本程序主要通过不断改变视口位置来模仿动画效果,同时介绍了在进行opengl绘图时所做的一些不可或缺的准备工作。一、首先新建一个 “Win32 Application” 的空工程。二、然后将 “glu32.lib glaux.lib opengl32.lib” 引入工程之中。三、在工程->设置->General里将 “Microsoft F...
设计模式之观察者(Observer)模式与其C++通用实现(下)
2016-07-27
18
设计模式之观察者(Observer)模式与其C++通用实现(下)2010-09-14 CSDN博客 林石我们在《设计模式之观察者(Observer)模式与其C++通用实现(中)》一文中给出了一个以C++语言实现的通用观察者模式方案骨架。然而,实际的工程项目需求往往要比理想状态复杂得多,此篇便是与读者一起探讨在现实世界中可能遇到的各种棘手问题及解决方案。我把目前为止我所遇到的问题罗列如下:复合主题多线程更新方法修改观察者链表接下来我们一一给予讨论。(一)复合...
OpenGL入门介绍
2016-07-27
20
OpenGL入门介绍2008-02-261、OpenGL简介OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和...
图形模式下的汉字显示
2016-07-27
18
图形模式下的汉字显示2010-09-14我们在编写一些应用软件时,为了使软件更为通俗浅显、易学易用,具备汉字的用户界面是必不可少的条件。在文本模式下,只要有汉字操作系统的支持,显示汉字是不成问题的。只要用printf或cprintf就可以了。#include void main(){printf("我正在学习C语言!");}在图形模式下显示汉字就稍稍麻烦些。可幸的是有很多人从事这一问题的研究,并开发了一些用于汉字显示的函数。这些函数不需...
利用OpenGL实现三维绘图
2016-07-27
20
利用OpenGL实现三维绘图2008-02-26王刚在三维绘图蓬勃发展的过程中,计算机公司推出了大量的三维绘图软件包。其中SGI公司推出的OpenGL,作为一个性能优越的图形应用程序设计界面(API)异军突起,取得了很大的成就。它以高性能的交互式三维图形建模能力和易于开发,得到了Microsoft、IBM、DEC、Sun、HP等大公司的认同。因此,OpenGL已经成为一种三维图形开发标准,是从事三维图形开发工作的必要工具。1、初始化OpenGL绘图环境1....
如何分析网页元素并进行相应处理
2016-07-27
15
如何分析网页元素并进行相应处理2010-09-14如何分析网页元素,然后进行相应处理,比如填表,递交等等#include <Mshtml.h>AnsiString __fastcall TForm3::Submit(void){IHTMLDocument2 *pHTMLDoc = NULL;LPDISPATCH pDisp = NULL;pDisp =CppWebBrowser1->Document;if(pDisp) { if (S...
利用数码相机SDK开发图像采集应用程序
2016-07-27
16
利用数码相机SDK开发图像采集应用程序2008-02-26数码相机作为一种目前常见的消费类商品,其基本工作原理是利用CCD光耦器件将光信号转变为电信号,经过A/D转换、数据压缩等处理后经串口或USB口在PC端应用程序控制下将图片(多为JPEG格式)传送到PC机的硬盘中。目前PC端的应用程序都由相机制造商所提供。很少有人注意到一些数码相机制造商为开发人员提供了相对丰富的SDK(Software Development Kit)资源,便于有关人员利用数码相机进...
C++中如何动态调用dll杀进程
2016-07-27
18
C++中如何动态调用dll杀进程2010-09-14代码如下:#include <stdio.h>#include <windows.h>typedef int (*lpE_Pro_KillProcessByName)(IN const char* pchar_param_ProName);int main(int argc, char *argv[]){HINSTANCE hDll; //DLL句柄lpE_Pro_KillProc...
位图进度条
2016-07-27
17
位图进度条2008-02-26图一 例子效果玩过破天的朋友知道,游戏更新时进度是用位图表示的,我觉的挺漂亮的,于是自己动手做了一个类来实现那种效果。这个类的名字叫CBmpProgCtrl,继承于CStatic,使用方法如下。1、首先要将BmpProgCtrl.h和BmpProgCtrl.cpp添加到工程中。2、导入两幅位图,作为前景和背景。资源标识分别为IDB_FORE和IDB_BACK.3、在对话框上,放置一个"Static Text"...
通用结构复制函数
2016-07-27
17
通用结构复制函数2010-09-14余四清在C/C++语言中,将一个组合数据类型如结构各个字段的值复制到另一个相同类型的结构中,可以将其对应字段赋值。这种方法对于各种复杂的结构如多字段结构、嵌套结构,就要写很多行赋值语句,而且如果原来的结构定义更改,程序代码就要随着更改,使用很不方便。本文给出了一个通用的结构复制函数。假定结构的类型为STRUCT_TYPE。为了提高效率,用指针引入两个结构到函数中;为了通用,这两个指针用任意指针。函数设计的出发点是,每个结...
如何在vc++中旋转位图
2016-07-27
16
如何在vc++中旋转位图2008-02-26网上有很多关于位图旋转的资料,但是讲得很清楚的不多(我没有仔细查找).于是我也写了一个,希望能给向我这样的初学者一点帮助.第一步,你必须知道位图即BMP格式的文件的结构.位图(bmp)文件由以下几个部分组成:1.BITMAPFILEHEADER,它的定义如下:typedef struct tagBITMAPFILEHEADER { WORD bfType; //必须为"BM" ...
C++对象布局及多态之虚成员函数调用
2016-07-27
19
C++对象布局及多态之虚成员函数调用2010-09-14 VCHELP 潘凯在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() { foo(); this->foo(); } virtual foo() { cout << "<< C180.foo this...
根据所选择的TrueType字体生成点阵数据
2016-07-27
19
根据所选择的TrueType字体生成点阵数据2008-02-26胡峰TrueType字体在Windows平台下的应用很多,但是涉及到具体的操作层面上中文资料还是很少,遇到了不少问题苦恼了一阵子。1、通过 CFontDialog 进行字体选择,但是正常情况下得到的字体列表示当前系统中所有支持的字体,当然也包括其它一些非 TrueType 字体,要在 CFontDialog 的列表中剔出非 TrueType 的字体很简单,只需在配置 CFontDialog 时...
定义函数对象
2016-07-27
17
定义函数对象2010-09-14赵湘宁尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。函数对象(也称“算符”)是重载了“()”操作符的普通类对象。因此从语法上讲,函数对象与普通的函数行为类似。用函数对象代替函数指针有几个优点,首先,因为对象可以在内部修改而不用改动外部接口,因此设计更灵活,更富有弹性。函数对象也具备有存储先前调用结果的数据成员。在使用普通函数时...
如何在ActiveX控件中使用字体
2016-07-27
16
如何在ActiveX控件中使用字体2008-02-26韩耀旭字体的使用是ActiveX控件制作过程中不可缺少的部分。本文将深入浅出地介绍在ActiveX控件中制作过程中如何使用字体。本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作 ActiveX 控件本文不作讨论。本文专门设置了一些例程,以便您能够更好地掌握这些内容。这些例程都是完整的ActiveX控件制作源代码。为了突出重...
使用random_shuffle()算法随机化序列元素
2016-07-27
18
使用random_shuffle()算法随机化序列元素2010-09-14赵湘宁假设你需要指定范围内的随机数,传统的方法是使用ANSI C的函数random(),然后格式化结果以便结果是落在指定的范围内。但是,使用这个方法至少有两个缺点。首先,做格式化时,结果常常是扭曲的,所以得不到正确的随机数(如某些数的出现频率要高于其它数) 。其次,random()只支持整型数;不能用它来产生随机字符,浮点数,字符串或数据库中的记录。对于以上的两个问题,C++中提供了...
位图的淡入淡出显示
2016-07-27
23
位图的淡入淡出显示2008-02-26Ma我们经常在AboutBox中显示一幅关于公司或自己讯息的位图,有没有想过让这幅位图有更酷的效果?比如加上淡入淡出效果?只要有了这个CAlphaCtrl控件就可以轻松实现。CAlphaCtrl是从CStatic继承而来。使用时只要把CalphaCtrl加入窗体,然后调用LoadAlphaBitmap(UINT uID, int iTimer)函数就可以实现位图的淡入淡出。其中uID是位图的资源ID,iTimer是位图...
细论数组维度(dimension)的计算
2016-07-27
17
细论数组维度(dimension)的计算2010-09-14 CSDN博客 林石我们经常需要知道先前定义的数组维度,或是为了对其进行循环遍历,或是其它。当我们显示初始化数组而没有指定其维度时尤其如此:int is[]={1,2,3};有开发经验的读者可能经常使用如下方式来实现:int dimension=sizeof(is)/sizeof(is[0])这在大部分情况下都工作得很好。只是敲的键盘次数有点多。所以,有了如下这个宏的出现:#define DIM(...
<<
221
222
223
224
225
226
227
228
229
230
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图