VC获取并修改计算机屏幕分辨率(MFC)
摘要://检测当前分辨率 int Width = GetSystemMetrics(SM_CXSCREEN); int Height = GetSystemMetrics(SM_CYSCREEN); DEVMODE lpDevMode0; lpDevM...
阅读全文
posted @
2015-07-23 16:15
vinsonLu
阅读(4077)
推荐(0) 编辑
怎样从一个函数返回多个值
摘要:函数都是单一返回值的,没有多返回值的情况。如果说有的话,有以下两种方法勉强可以说是多返回值的情况:1,返回一个数组。数组可以存储多个数据,从而实现多返回值情况。2,利用引用参数达到返回的效果。函数返回值设置成BOOL型用以表明函数的返回状态,具体功能实现都用引用参数实现。个人推荐使用第二种方法,在P...
阅读全文
posted @
2014-04-14 17:21
vinsonLu
阅读(3467)
推荐(0) 编辑
图形设备接口(GDI)
摘要:图形设备接口(GDI,Graphics Device Interface)负责在显示器和打印机上显示图形。GDI 是由几百个函数和一些相关的数据类型、宏和结构构成的。Windows 98/NT 中的图形主要由GDI32.DLL 动态链接库输出的函数来处理。在Windows 98 中,这个GDI32.DLL 实际是利用16 位GDI.EXE 动态链接库来执行函数。在Windows NT 中,GDI.EXE只用于16 位的程序。因为PC 兼容机种上可以连接许多种不同的图形图像设备,所以GDI 的主要目的之一是支持与设备无关的图形。Windows 程序应该能够毫无困难地在Windows 支持的任意一
阅读全文
posted @
2014-03-20 16:44
vinsonLu
阅读(1697)
推荐(0) 编辑
Windows 消息机制
摘要:Windows 是一个消息驱动的操作系统。一个消息由一个消息名称(UINT 类型)和两个参数(WPARAM,LPARAM)构成。当用户进行了输入或是窗口的状态发生改变时,系统会发送消息到某一个窗口。例如当菜单选中之后会有WM_COMMAND 消息发送,WPARAM 的高字中(HIWORD(wParam))是命令的ID 号,对菜单来说就是菜单ID。当然用户也可以定义自己的消息名称,也可以利用自定义消息来发送通知和传送数据。一个消息必须由一个窗口接收。在窗口的消息处理函数中可以对消息进行分析,对自己感兴趣的消息进行处理。例如希望对菜单选择进行处理,那么可以定义对WM_COMMAND 进行处理的代码
阅读全文
posted @
2014-03-20 14:30
vinsonLu
阅读(408)
推荐(0) 编辑
游戏软件开发工具
摘要:目前游戏程序开发工具有很多,在不同游戏平台上有不同的开发工具。在个人计算机上,目前流行的软件开发工具有QBasic、TubroC、Visual C++、Delphi 和C++ Builder 等。下面简单介绍目前游戏开发的几款主流开发工具和集成环境。1. Visual C++Visual C++是Visual Studio 家族中的核心成员,利用Visual C++开发的游戏不胜枚举,代表作品有《暗黑破坏神》、《魔兽争霸》、《星际争霸》、《反恐精英》、《命令与征服》、《FIFA》等。Visual C++是微软的产品,用它来编写Windows 程序有强大的程序接口和丰富的开发资源的支持,加之V
阅读全文
posted @
2014-03-20 14:16
vinsonLu
阅读(4332)
推荐(0) 编辑
著名的游戏设计大师
摘要:在游戏设计界有一些令人敬仰的游戏设计大师,他们创造并推动了这个产业的发展。从某种意义上说,他们还在改变着我们的生活方式。更为重要的是,一大批游戏程序设计爱好者都是被这些设计大师的传奇经历和设计理念所打动,从而加入游戏开发的领域。1. John CarmackJohn Carmack 在游戏界被尊称为3D 游戏之父(见图1.9)。作为整个游戏界最知名的程序设计师,Carmack 的设计技巧是超乎常人的。在业界里,Carmack 的编程技巧是所有程序员的典范。他是BillGates 心目中为数不多的天才之一。Carmack 从来没有上过大学,他的编程技巧都是靠自学和钻研得来的。1990 年,年轻
阅读全文
posted @
2014-03-20 14:13
vinsonLu
阅读(6085)
推荐(0) 编辑
著名的游戏开发公司
摘要: 1.雅达利(Atari)游戏制作、开发的开山鼻祖,现在只能在历史的档案中找到该公司的足迹。但是雅达利留下了许多成熟的开发技术,这些开发技术至今还在应用,甚至影响了计算机图形学中的某些分支。 2.任天堂(Nintendo)FC、超级马里奥(Super Mario)、魂斗罗、最终幻想⋯⋯这些响当当的名字足以震撼整个游戏界,过多地介绍只会显得冗繁。 3.世嘉(Sega)世嘉和任天堂是同时起步的公司,两家都专注于家庭机市场。很长一段时间内任天堂一直是市场的主宰,直到《真人快打》的出现。那一年,世嘉五代主机(Sega Genesis)上《真人快打》的销量远远超出了任天堂的合家欢版。北斗神拳、战斧
阅读全文
posted @
2014-03-20 12:56
vinsonLu
阅读(1080)
推荐(0) 编辑
C++ 什么是句柄?为什么会有句柄?HANDLE
摘要:出处:http://www.cppblog.com/mymsdn/archive/2009/02/19/handle-in-windows.html从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是"Handle",本义就是"柄",只是在计算机科学中,被特别地翻译成"句柄",其实还是个"柄"。从一个小东西拎起一大堆东西,这难道不像是个"柄"吗?然后,指针其实也是一种"句柄",只是由于指针同时拥有更特殊的含义——实实在在地对应内存里地一个地址——所以,通常
阅读全文
posted @
2014-03-20 12:43
vinsonLu
阅读(13628)
推荐(2) 编辑
C++:复制构造函数在什么时候被调用?
摘要:1、对象在创建时使用其他的对象初始化Person p(q); //此时复制构造函数被用来创建实例pPerson p = q; //此时复制构造函数被用来在定义实例p时初始化p2、对象作为函数的参数进行值传递时f(p); //此时p作为函数的参数进行值传递,p入栈时会调用复制构造函数创建一个局部对象,与函数内的局部变量具有相同的作用域需要注意的是,赋值并不会调用复制构造函数,赋值只是赋值运算符(重载)在起作用p = q; //此时没有复制构造函数的调用!简单来记的话就是,如果对象在声明的同时将另一个已存在的对象赋给它,就会调用复制构造函数;如果对象已经存在,然后将另一个已存在的对象赋给它,调用的
阅读全文
posted @
2012-09-28 10:17
vinsonLu
阅读(16437)
推荐(2) 编辑
为含指针变量的类声明一个拷贝构造函数和一个赋值操作符
摘要:C++编译器会为每个类自动生成一个默认的构造函数、析构函数、赋值函数、拷贝构造函数,这当然是在你没有为你的类声明这些函数的时候。这些默认的功能函数在为你提供方便的时候,也会给你带来麻烦。例如:class string {public: string(const char *value); ~string(); ... // 没有拷贝构造函数和operator= private: char *data;}; string::string(const char *value){ if (value) { data = new c...
阅读全文
posted @
2012-09-27 18:02
vinsonLu
阅读(1713)
推荐(0) 编辑
冒泡排序算法
摘要://@冒泡排序算法 //@author: vinson//@date: 2012.9.20 //算法思想:从最后的数字开始依次与前面的两两比较,并将 // 较大(较小)放在前面(交换位置),一趟排序 // 就将最大(最小)的数字排在了前面。依次进行 // n-1趟排序,且前面排好的不管 。 #include <iostream> using namespace std; void Swap(int &x, int &y) { int t; t= x; x= y; y= t; } void Bubble...
阅读全文
posted @
2012-09-20 17:19
vinsonLu
阅读(261)
推荐(0) 编辑
c++文件結束符
摘要:一直奇怪下面一段程序怎樣才結束,按多少次回車也沒用。#include<iostream>int main(){ int amount=0,value; while(std::cin>>value) if(value<=0) ++amount; std::cout<<"Amount of all negative values read is" <<amount<<std::endl; return 0;}有人說要按兩次Ctrl+z再按回車,有人說直接輸入EOF就ok。試了下,原來是這樣的。Ctrl+z+回車+
阅读全文
posted @
2012-08-23 09:29
vinsonLu
阅读(2144)
推荐(0) 编辑