01 2010 档案

函数指针与typedef
摘要:关于C++中函数指针的使用(包含对typedef用法的讨论)(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表)char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数glFun()。该函数正好是一个以int为参数返回c... 阅读全文

posted @ 2010-01-31 22:19 Hibernate4 阅读(258) 评论(0) 推荐(0)

VC中用GDI函数实规高速平滑动画
摘要:摘要:许多游戏软件的开发中,实现高速平滑的动画需要许多比较深的技术,如:OpenGL、DirectX,并且可能还要开发人员有深厚的数学功底。但是,我们在开发一些小游戏,或为应用程序的界面实现一些动画效果,就可能不用以上这些技术了,我们更多的是用Windows API提供或MFC封装后的GDI绘图函数来实现。为此我们可不可以用GDI来实现高速平滑的动画呢?答案是肯定的。本文教您如何用GDI函数来开发平滑无闪的动画,并以一个应用实例来介绍这些用法。 关键词:GDI,MFC,Bitmap,内存设备环境一、动画原理。大家都知道播放电影的原理:在规定时间(一般为1秒)播放24幅连续的画面,由于人的视觉. 阅读全文

posted @ 2010-01-29 15:16 Hibernate4 阅读(209) 评论(0) 推荐(0)

TransparentBlt、StretchBlt与BitBlt三个函数的区别
摘要:BOOL StretchBlt( int x, //指定目的矩形区域左上角的X坐标 int y, //指定目的矩形区域左上角的Y坐标 int nWidth, //指定目的矩形区域的宽度 int nHeight, //指定目的矩形区域的高度 CDC* pSrcDC, int xSrc, //指定源矩形区域左上角的X坐标 int ySrc, //指定源矩形区域左上角的Y坐标 int nSrcWidth, //指定源矩形区域的宽度 int nSrcHeight, //指定源矩形区域的高度 DWORD dwRop //此参数参考MSDN,SRCCOPY类型为直接拷贝); //此函数将一个位图资源从一. 阅读全文

posted @ 2010-01-27 17:30 Hibernate4 阅读(160) 评论(0) 推荐(0)

应用程序只有一个实例
摘要:在项目开发中,经常要求系统在同一时刻在同一台机器上只能运行一个实例,可以通过这种方式实现在InitInstance()函数中添加如下代码(可以函数最前边添加,也可以放后边点,不过最好放最前边): Sample CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->HANDLEm_hMutex=::CreateMutex(NULL,TRUE,m_pszName);// m_pszName为互斥体 名 如"132"或者&qu 阅读全文

posted @ 2010-01-25 20:03 Hibernate4 阅读(147) 评论(0) 推荐(0)

GDI+编程基础
摘要:一、GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作。它把windows系统中的图形输出转换成硬件命令然后发送给硬件设备。GDI是以文件的形式存储在系统中,系统需要输出图形时把它载入内存,如果转换成硬件命令时遇到非GDI命令,系统还可能载入硬件驱动程序,驱动程序辅助GDI把图形命令转. 阅读全文

posted @ 2010-01-25 19:43 Hibernate4 阅读(153) 评论(0) 推荐(0)

ShellExecute用法 以及静态文本超链接
摘要:打开一个文件 :ShellExecute(NULL, NULL, "c://mfc类库详解.chm", NULL, NULL, SW_SHOWNORMAL);打开一个文件夹: ShellExecute(NULL, NULL, "c://", NULL, NULL, SW_SHOWNORMAL);在资源管理器中打开:ShellExecute(NULL, "explore", "c://", NULL, NULL, SW_SHOWNORMAL);搜索一个文件夹 : ShellExecute(NULL, "fi 阅读全文

posted @ 2010-01-22 11:46 Hibernate4 阅读(159) 评论(0) 推荐(0)

提高写代码的效率
摘要:首先让我们看一看刚入软件公司会出现的情况:1. 你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟)──别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心,对每一行代码进行仔细人阅读并改正,这个很重要,这可以培养你的理解代码能力,所以要常读程序,不要等到程序运行以后才知道你的程序的结果。──如何避免:在写代码以前,要认真的学习计算机语言的语法,如关键点,易错点,易忘点。同时要自已动手写自已的测试代码,而尽量不要抄别人的代码示例。即使抄,在学习阶段也尽量不要每一行一模一样的对着抄。而应对着代码示例写有所不同的例子。比如:在学java 知识点时,你最好建一 阅读全文

posted @ 2010-01-20 13:41 Hibernate4 阅读(215) 评论(0) 推荐(0)

如何实现最小化后出现右下角图标
摘要:(目前只能用在基于对话框的程序,SDI测试失败,待解决,在SDI中响应OnSize消息则可)1、最小化的原理:首先要将窗口隐藏,然后 在右下角绘制图标。2、恢复的原理:将窗口显示,再将托盘中的图片删除。(二)程序实现1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1)2、在MFC的(的dlg类中)OnSysCommand(UINT nID, LPARAM lParam)函数体中增加一个命令响应 if(nID==SC_MINIMIZE) ToTray(); //最小化到托盘的函数3、在消息映射中添加 ON_MESSAGE(WM_SHOWTASK 阅读全文

posted @ 2010-01-17 21:52 Hibernate4 阅读(259) 评论(0) 推荐(0)

VC++中的Dlg,App,Doc,view
摘要:Dlg 是Dialog 的缩写,对话框App类就是这个SDI作为"程序"的入口有点像c的Main函数View是指编辑区里面的事就是那块白色的中间区域他负责绘制和乡音一些消息Doc就有点像数据库,他保存着编辑数据,用于view的Redraw的时候用,还有保存文件。反正动态的编辑数据都放在Doc里面。1) 在View中获得Doc指针 CYouSDIDoc *pDoc=GetDocument();一个视只能有一个文档。2) 在App中获得MainFrame指针 CWinApp 中的 m_pMainWnd变量就是MainFrame的指针 也可以:CMainFrame *pMain 阅读全文

posted @ 2010-01-13 10:18 Hibernate4 阅读(117) 评论(0) 推荐(0)

四种进程或线程同步互斥的控制方法
摘要:1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件: 用来通知线程有一些事件已发生,从而启动后继任务的开始。一,临界区(Critical Section): 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达... 阅读全文

posted @ 2010-01-12 15:21 Hibernate4 阅读(176) 评论(0) 推荐(0)

Visual C++ Debug 与 Release版本区别 怎样“调试” Release 版的程序
摘要:Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论) Debug 版本:/MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)/Od 关闭优化开关/D "_DEBUG" 阅读全文

posted @ 2010-01-11 15:20 Hibernate4 阅读(163) 评论(0) 推荐(0)

对战平台原理分析
摘要:游戏对战平台,在没有了解的情况下,总是给人一种很神秘的感觉,然而,当你对socket的理解到达一定程度之后,你就不会再觉得神秘。 用一句话来总结这种技术:虚拟局域网(VLAN)。 实现这种平台,主要是客户端,而客户端有很多种方法,就我所了解,可以用面三种方法实现: 1. 替换Windows socket DLL,然后,你想做什么就做什么吧。 2. 进程注入,HOOK WinSock函数调用。 3. 虚拟网卡驱动。 其实,前两种技术,也是许多木马使用的方法。正所谓技术是一面双刃剑,看你要用到什么地方了。现在的对战平台,就我了解,使用的是后两种方法。大多数是第2中----毕竟,驱动在有些用户权限下 阅读全文

posted @ 2010-01-11 14:44 Hibernate4 阅读(184) 评论(0) 推荐(0)

vs2003 快捷键一览
摘要:“全局”快捷键下列快捷组合键可用于集成开发环境 (IDE) 中的不同位置。命令名 快捷键 说明 编辑.复制 CTRL + CCTRL + INSERT 将当前选定的项复制到系统剪贴板。 编辑.剪切 CTRL + XSHIFT + DELETE 将当前选定的项移除到系统剪贴板。 编辑.循环应用剪贴板中的复制项 CTRL + SHIFT + INSCTRL + SHIFT + V 将项从“工具箱”的“剪贴板循环”选项卡粘贴在文件中的插入点,并自动选择粘贴的项。可通过重复按这些快捷键来查看剪贴板上的每个项。 编辑.转到下一个位置 F8 将光标移动到下一项,如“任务列表”窗口中的任务或“查找结果”窗口 阅读全文

posted @ 2010-01-06 17:08 Hibernate4 阅读(159) 评论(0) 推荐(0)

客户区和非客户区指的什么?窗口客户区和视图客户区的区别
摘要:客户区和非客户区指的什么?窗口客户区和视图客户区的区别! 1,什么是客户区/非客户区? 2, 窗口(框架/frame)的客户区和视图(view)的客户区的区别?这些都是初学者很容易迷惑的地方,我也是很迷惑,不过经过一番折腾终于弄明白这些问题了.对于这些问题,我想只用两个图片来说明最直观!如下:1,在一个MDI(多文档)应用程序中每个概念如下图所标示:效果如下图1,窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小/关闭按纽,左右两个框和底下的状态条.2,视图的客户区就是指图中绿色部分:即红色方框内的区域,视图 阅读全文

posted @ 2010-01-06 11:43 Hibernate4 阅读(203) 评论(0) 推荐(0)

职场加薪的7大策略
摘要:没有人会反对工作是为了赚取报酬,但是曾几何时,谈薪水却变成工作里最难开口的一件事。你心里是否也曾有过这样的困惑:“按公司规定”难道真是唯一的标准答案吗? 有一个趣的调查。875位接受调查的人力资源主管中,60%表示会在面谈时对薪水保留一些弹性,只有30%说绝对不能调整,其余10%要视对方的态度而定。另外一个调查则发现,高达80%的人力资源主管是愿意跟面试对象好好沟通薪水的。他们甚至并不排斥要进行一点“谈判”。 勇于对薪水发出声音 俗话说,“会吵的人有糖吃”,在谈薪水这件事,不能说是100%对,但对你的薪水发出声音,我认为是正面的,至少你的主管会多纳进一个考虑的因素。 当企业与员工的关... 阅读全文

posted @ 2010-01-04 10:26 Hibernate4 阅读(129) 评论(0) 推荐(0)

导航