随笔分类 -  C/C++/VC++

上一页 1 ··· 6 7 8 9 10 11 12 下一页

C++ Exercises(六)
摘要:《数据结构算法与应用--C++语言描述》第一章习题解答 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1.1#include using namespace std;const int MAX_TRY = 3;template bool ... 阅读全文

posted @ 2007-11-19 16:20 Phinecos(洞庭散人) 阅读(522) 评论(0) 推荐(0) 编辑

一个字符串转换类
摘要:在C++中将字符串类转换为整型,浮点型并不像java,C#那样简单,这是件烦心的工作,而且不同的函数接口让代码维护起来也麻烦,所以写个自动进行字符串转换成所需要的类型的程序很有意义,下面这个类只有加入你想要的类型,并为之提供操作符重载就可以了。 注:如果你没有使用boost库,把#define USE_BOOST_LIBS注释掉 字符串转换类Code highlighting produce... 阅读全文

posted @ 2007-11-18 22:31 Phinecos(洞庭散人) 阅读(900) 评论(0) 推荐(0) 编辑

一个COM示例程序
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void CEx24cView::OnTestSpaceship() { CLSID clsid; LPCLASSFACTORY pClf; LPUNKNOWN pUnk; IM... 阅读全文

posted @ 2007-11-17 22:12 Phinecos(洞庭散人) 阅读(1209) 评论(0) 推荐(0) 编辑

一个模拟的COM示例程序
摘要: 我认为这是《Visual c++技术内幕》这本书中讲的最为出色的一个示例,将COM的“面向接口”的思路讲述得相当清晰,再加上嵌套类和引用计数的使用,让COM初学者能一窥其实质。 阅读全文

posted @ 2007-11-17 20:55 Phinecos(洞庭散人) 阅读(927) 评论(3) 推荐(0) 编辑

解决Visual Studio 2005中找不到MFC80UD.dll的问题
摘要:今天用VS2005建立一个MFC项目,在运行时遇到下面这个找不到MFC80UD.dll的问题。 这个问题可能是Manifest 引起的,因此我们可以通过修改项目->属性->清单工具->输入输出,把“嵌入清单”选“否”,然后编译、链接、运行即可。 阅读全文

posted @ 2007-11-13 21:13 Phinecos(洞庭散人) 阅读(3182) 评论(1) 推荐(0) 编辑

C语言的变参函数设计
摘要:在C语言中,函数参数的传递方式有值传和址传.值传是把实参的一个专用的、临时的复制值给被调函数中相应的形参被调用函数使用、修改这个传来的复制值,不会影响实参的值.址传则是把变量(实参)的地址传给被调函数.被调函数通过这个地址找到该变量的存放位置,直接对该地址中存放的变量的内容进行存取操作.因此,在被调用函数中可以修改实参的值.这也是函数参数址传的优点.无论是值传还是址传,都要求实参的数目及类... 阅读全文

posted @ 2007-08-24 16:11 Phinecos(洞庭散人) 阅读(10537) 评论(2) 推荐(2) 编辑

【翻译】Use a bitmap as a background image
摘要:原文链接 第1步: 使用自绘制列表控件 自定义的列表控件必须是自绘制的,因此需要在资源编辑器中设置LVS_OWNERDRAWFIXED标志,而且还必须在自定义的控件类中实现DrawItem函数。第2步: 增加成员变量 当每一项都需要重绘的时候去重新加载位图或重新创建逻辑调色板的话,效率不高。因此我们增加成员变量来保存位图,逻辑调色板以及位图的尺寸信息。Code highlighting... 阅读全文

posted @ 2007-08-17 18:08 Phinecos(洞庭散人) 阅读(1343) 评论(0) 推荐(0) 编辑

OpenGL中的鼠标控制
摘要:昨天在《OpenGL中的光照和键盘控制》中的代码的基础上加入了用鼠标来控制旋转,不过自己觉得思路是不正确的,纯属瞎弄。。。 为了识别出用户想要旋转的方向和角度,增加了下面的变量: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/... 阅读全文

posted @ 2007-08-14 10:31 Phinecos(洞庭散人) 阅读(4284) 评论(1) 推荐(0) 编辑

颜色干扰的问题解决了
摘要:昨天被纹理贴图的颜色干扰问题弄的很是郁闷,自己也知道OpenGL是个状态机,状态设定好后就一直是有效的,但就是想不明白后面设置的状态怎么会影响到前面呢? 在csdn上请教了高手后,终于知道问题改怎么解决了,只需要在绑定纹理前开启纹理,并且在使用完纹理后就关闭纹理,否则的话纹理就一直处于开启状态,所以会影响到不使用纹理贴图的那个物体的绘制,修改后代码如下:Code highli... 阅读全文

posted @ 2007-08-10 12:42 Phinecos(洞庭散人) 阅读(1497) 评论(1) 推荐(0) 编辑

OpenGL中的混合(Blending)
摘要:这篇是在上一篇的基础上修改而来的,对应着Nehe教程的第8课,代码仍然采用MFC框架来实现。其中InitGL需要做些修改,加入混合操作所需要的代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->BOOLCOpenGLDemoView::Init... 阅读全文

posted @ 2007-08-09 21:54 Phinecos(洞庭散人) 阅读(1469) 评论(1) 推荐(0) 编辑

OpenGL中的光照和键盘控制
摘要:这一篇基本上是从Nehe的第7课改编而来的,我将他的Win32代码改写为MFC框架下来实现。 第一个遇到的问题就是MFC窗口中如何响应键盘消息,搜索了下资料,发现只需要重载PreTranslateMessage函数就可以让窗口监听按键消息了。 BOOL COpenGLDemoView::PreTranslateMessage(MSG* pMsg) { // TODO: Add y... 阅读全文

posted @ 2007-08-09 21:19 Phinecos(洞庭散人) 阅读(2271) 评论(1) 推荐(0) 编辑

纹理贴图的干扰问题
摘要:源代码下载前几天对旋转闪屏这个问题很头疼,网上都是些Win32的demo,我又分不清它移植到MFC上到底哪里出毛病了,今天总算找到了一篇有价值的文章,分析了它的代码,发现自己以前写的那个MFC里的框架基本上是对的,旋转也是采用定时器的方式来实现的,只是在设置像素格式的时候犯了一个小错误,才导致了闪屏的现象,修改后就没有这个毛病了。 但今天又发现了一个奇怪的现象:如果要画两个物体,... 阅读全文

posted @ 2007-08-09 16:55 Phinecos(洞庭散人) 阅读(1105) 评论(3) 推荐(0) 编辑

一点小疑问
摘要:记得我第一次看Nehe教程里第9课的时候,就被他下面这段代码弄晕了: glRotatef(tilt,1.0f,0.0f,0.0f); // Tilt The View (Using The Value In 'tilt') glRotatef(star[loop].angle,0.0f,1.0f,0.0f); // Rotate T... 阅读全文

posted @ 2007-08-07 16:25 Phinecos(洞庭散人) 阅读(791) 评论(1) 推荐(1) 编辑

《VC++深入详解》笔记(一)
摘要:1,SendMessage将消息直接发送给窗口,并调用窗口的窗口过程进行处理。等消息处理完后,函数才返回(它发送的消息为不进队消息)。 PostMessage则是将消息方到消息队列中就 返回了。PostThreadMessage函数用于给线程发送消息。 2,下面这段代码会出问题,当关闭程序后,会出现cpu占用100%的状况。 HWND hWnd; hWnd = CreateW... 阅读全文

posted @ 2007-08-01 00:35 Phinecos(洞庭散人) 阅读(1465) 评论(0) 推荐(0) 编辑

MFC中OpenGL旋转的问题
摘要:要求用户不干涉的情况下让物体自由旋转,这如果用win32的sdk直接来实现的话,就像Nehe的教程上那样是比较容易做的,可以在空闲事件的情况下调用绘图部分代码; Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> if (PeekM... 阅读全文

posted @ 2007-07-29 20:14 Phinecos(洞庭散人) 阅读(3603) 评论(3) 推荐(0) 编辑

一些课后思考
摘要:1,glTranslatef(-1.5f,0.0f,-6.0f);这里是被观察的物体在移动,还是视点的位置移动呢 我的理解是后者(就好像是照相机在移动位置来捕捉画面那样),默认的物体位置是屏幕中心,向左移动视图并将视图推远以便被观察的物体能进入,试着调整Z坐标的值,可以看到Z越往里面去,物体就越小,越往外面来,物体越大,这和照相机调整焦距类似。 2.使用Flat coloring(单调着色)... 阅读全文

posted @ 2007-07-29 15:48 Phinecos(洞庭散人) 阅读(1022) 评论(1) 推荐(0) 编辑

画图板---画多边形代码
摘要:源代码下载 多边形也就是由一些连续的直线组成的,所以绘图的代码还是前面的画直线的那两种算法,只不过在鼠标移动的过程中要特别注意记录终点的位置而已,代码中还是存在着bug,画多边形的时候出现了黄色的阴影线,真是奇怪的问题。为了判别是否是多边形的第一条边,加入了一个新变量:bool m_bIsFirstDone;//是否第一条边 Code highlightin... 阅读全文

posted @ 2007-07-29 14:56 Phinecos(洞庭散人) 阅读(3170) 评论(1) 推荐(0) 编辑

Nehe的OpenGL框架(MFC版)
摘要:Nehe的几个OpenGL框架都是Win32 sdk版本的,我现在需要在MFC下学习OpenGL,今天看了他写的第一个OpenGL框架,就在MFC中实现了下。为了简单起见,把全屏那部分就抛弃掉了,毕竟重点不在这上面,而且MFC要实现这个全屏的功能也不像sdk那么容易。。。 Code highlighting produced by Actipro CodeHighlighter ... 阅读全文

posted @ 2007-07-29 14:43 Phinecos(洞庭散人) 阅读(8012) 评论(6) 推荐(0) 编辑

基于MFC的OpenGL绘图
摘要:GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC")。每一个GDI命令需要传给它一个DC,但与GDI不同,OpenGL使用当前绘制环境(RC)。一旦在一个线程中指定 了一个当前RC,在此线程中其后所有的OpenGL命令都使用相同的当前RC。虽然在单一窗口中可以使用多个RC,但在单一线程中只有一个当前RC。下面我将首先产生一个OpenGL RC并使之成为当前RC,这将分为三个步骤:设置窗口像素格式;产生RC;设置为当前RC。 阅读全文

posted @ 2007-07-28 20:04 Phinecos(洞庭散人) 阅读(62745) 评论(86) 推荐(15) 编辑

VC++中OpenGL的配置
摘要:一、下载并安装glut库 opengl的glut库 GLUT不是OpenGL所必须的,但它会给学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip Windows环境下安装GLUT的步骤: ... 阅读全文

posted @ 2007-07-28 16:03 Phinecos(洞庭散人) 阅读(19560) 评论(6) 推荐(4) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 下一页

导航