璐村惂鐢ㄦ埛_005KZPJ馃惥 -
关注数: 3 粉丝数: 20 发帖数: 1,879 关注贴吧数: 4
MFC常用的类 CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的。该类很大,一开始也不必学,知道就行了。  CDocument文档,负责内存数据与磁盘的交互。最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)  CView视图,负责内存数据与用户的交互。包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。最重要的是OnDraw(重画窗口),通常用CWnd::Invalidate()来启动它。另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。你自己的许多功能都要加在里面,你打交道最多的就是它。  CDC设备文本。无论是显示器还是打印机,都是画图给用户看。这图就抽象为CDC。CDC与其他GDI(图形设备接口)一起,完成文字和图形、图像的显示工作。把CDC想象成一张纸,每个窗口都有一个CDC相联系,负责画窗口。CDC有个常用子类CClientDC(窗口客户区),画图通常通过CClientDC完成。  CDialog对话框  CWinApp应用程序类。似于C中的main函数,是程序执行的入口和管理者,负责程序建立、消灭,主窗口和文档模板的建立。最常用函数InitInstance():初始化。 
关于MFC老掉牙的网摘 好的开端是从设计用户界面开始。首先,你要决定什么样的用户能使用该程序并根据 需要来设置相应的用户界面对象。Windows 用户界面有一些标准的控制,如按钮、菜单、 滚动条和列表等,这对那些 Windows 用户已经是很熟悉了。 要记住的是,作为程序员必 须选择一组控制并决定如何把它们安排到屏幕上。传统上,你需要在纸上做一下用户界面 的草图,直到对各元素感到满意为止。这对于一些比较小的项目,以及一些大项目的早期 原型阶段是可以的。   下一步,是要实现代码。为任何 Windows 平台建立应用程序时,程序员都有两种选 择:C 或 C++。 使用 C,程序员是在 Windows 应用程序界面 ( API ) 的水平上编写代 码。该界面是由几百个 C 函数所组成,这些函数在Windows API 参考手册中都有介绍。 对于Windows NT, API 被称为 “Win32 API”,以区别于其用于Windows 3.1的16位 API    Microsoft 也提供了 C++ 库,它位于任何 Windows API 之上,能够使程序员的工作 更容易。它就是Microsoft基本类库 (MFC),该库的主要优点是效率高。它减少了大量在 建立 Windows 程序时必须编写的代码。同时它还提供了所有一般 C++ 编程的优点,例如 继承和封装。MFC 是可移植的,例如,在 Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。因此,MFC 很值得推荐的开发Windows 应用程序的方法  在本教程自始至终使用的都是 MFC。当是使用MFC时,你编写的代码是用来建立必要的用 户界面控制并定制其外观。同时你还要编写用来响应没Р僮髡庑┛刂频拇 搿@ 纾 ?果 用户单击一个按钮时,你应该有代码来响应。这就是事件驱动代码,它构成了所有应用 程序。一旦应用程序正确的响应了所有允许的控制,它的任务也就完成了 。    你可以看出,使用 MFC 进行 Windows 编程时是一件比较容易的的过程。本教程的目 的是比较详细地教你如何快速建立专业级的应用程序的技术。Visual C++ 应用程序开发 程序环境特别适合于使用 MFC (也有其它开发环境使用MFC,译者注),所以一起学习 MFC 和 Visual C++ 能够增强你的开发程序的能力。
OOP的未来 撰文/Bjarne Stroustrup & Tim Lindholm  编译/孟岩 把宝押在Java上?或是坚持C++不动摇?还是考虑考虑C#?你是否犹豫不决?那么不妨先听听下面这些专家的说法,对于面向对象程序设计语言的现状和未来作一番了解。 关键词:C++,Java,C#,OOP 科技进展一日千里,产品生产周期则越来越短,不少程序员已经完全没有时间掌握第二种语言。不论一个程序员的技术能力是否被考虑,对于他来说,将来能够参与什么类型的项目,加盟什么样的公司,在很大程度上,将取决于今天选择哪种程序设计语言。为了帮助大家清晰地了解C++和Java这两个最流行的OOP语言现在和将来的有关情况,我们采访了C++语言的设计者Bjarne Stroustrup,以及Sun公司著名工程师Tim Lindholm。下面是他们的观点,内容涉及程序设计的未来、语言之间的比较、OOP语言的发展与革新之取舍以及程序设计标准。 未来 在未来三年,程序员编写代码的方式会发生那些变化? Stroustrup: 在C++中,假如没有合适的库在背后支撑,完成任何重要的工作都可能是很复杂的。而一旦有了合适的库,任何东西都可以被我们操控于股掌之间。因此,构造和使用程序库的重要性与日俱增。这也暗示我们,泛型程序设计(generic programming)将会越来越多地被运用。只有通过GP,我们才能确保库的通用性和高效率。我还预期在分布式计算和“组件(components)”应用领域会出现喜人的增长。就大部分程序员而言,通过使用方便适用的程序库,这些开发工作会变得简单明了。 现在有一个趋势,编译器厂商试图把其特有的“对象模型”和图形界面(GUI)细节推销给用户。比如微软的COM和Inprise的类属性“properties”。对于用户来说,这既不必要,也不情愿。我所希望看到的程序库,应该是用标准C++打造,界面灵活,值得信赖的程序库。通常,这些界面应该是平台无关的。C++的表达能力极强,即使不使用大量的宏,也应该足以达成这一要求。就算有些地方无法百分之百的遵守这一原则,也应该将对于平台和厂家的依赖性限制起来。这个目标的完成情况,可以反映软件工具产业对于应用程序开发行业的关注程度。我怀疑目前对于那些独立的、跨平台厂商来说,并不存在相应的市场。如果能够建立这样的市场,也许能够促进厂商们为客户做出“真正有用的”产品。 Lindholm: 对于编写代码的开发者来说,主要的驱动力量仍将是两个:网络和分布式——也就是设计和开发非单机软件的需求。大部分的应用程序将不会是孤零零地运行在单一设备上,而是运用了类似EJB和JSP之类技术的,平台无关的分布式程序。程序员们将不得不面对分布式计算的重重险阻。这将对许多程序员所依赖的设计模式、技术和直觉构成严峻的挑战。这是选择编程语言之前必须认识到的,尽管不同语言的设计特性可能促进或者阻碍这一转化。 在网络应用的增长中,一个很重要的部分是小型移动设备和特殊Internet设备的爆炸性增长。这些设备各有各的操作系统,或者只在某种特定的设备领域内有共同的操作系统。我们现在还可以一一列举出这些设备——家庭接入设备、蜂窝电话、电子报纸、PDA、自动网络设备等等。但是这些设备领域的数量和深入程度将会很快变得难以估量。我们都知道这个市场大得惊人,PC的兴起与之相比不过小菜一碟。因此在这些设备的应用程序市场上,竞争将会相当残酷。获胜的重要手段之一,就是尽快进入市场。开发人员需要优秀的工具,迅速高效地撰写和调试他们的软件。平台无关性也是制胜秘诀之一,它使得程序员能够开发出支持多种设备平台的软件。 我预期的另一个变化是,我们对于代码(Java)和数据(XML)协同型应用程序的开发能力将会不断提高。这种协同是开发强大应用程序的核心目标之一。我们从XML的迅速流行和ebXML规范的进展中,已经看到了这个趋势。ebXML是一个针对电子商务和国际贸易的,基于XML的开放式基础构架,由联合国贸易促进和电子商务中心(UN/CEFACT)与结构性信息标准推进组织(OASIS)共同开发。
让.Net程序脱离.Net Framework框架运行 Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.Net程序脱离.NET框架的方法。现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker . 另外还有 MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等. 最后还有某网友(应其要求隐去网名) 兜售的一个实现方法. Xenocode的是使用了一个虚拟机环境,模拟框架需要的 注册表信息和文件信息.Xenocode号称的生成nativa代码功能实际上就是指的这个功能.我测试了几个程序打包,兼容性似乎不怎么好. 不知道是不是因为机器上已经安装了框架的原因。 Jason做的 framework linker,以前我也使用过, 他的实际上是利用了 Remotesoft的内核文件,然后自己实现了一个loader。好像是使用的早期的内核文件,兼容性也不太好。 Salamander .Net Linker ,Remotesoft的一个产品,没有可以下载的,但是其兼容性似乎很不错。移动的飞信软件就利用了它的核心。 某网友的方法似乎是利用remotesoft的核心和飞信的框架,因为他并没有免费公开方法,从他给出的样例可以看到有remotesoft的核心文件以及飞信的框架程序。 这里要介绍的方法是直接利用飞信的框架来实现脱离 .Net framework运行。 首先下载一个飞信的程序安装。在安装目录中会有 VMDotNet 目录。这个就是.Net框架虚拟环境需要的文件。 直接把整个目录提取出来。 如何利用这个虚拟环境运行 自己的 .Net 程序呢?很简单,一个命令行搞定。在 VMDotNet 目录里面会找到一个 FetionVM.exe 。这个是虚拟环境的loader。 使用方法: FetionVM.exe pathtoyoureexe。就是直接把你的 .Net 程序 作为命令行参数传递给 FetionVM.exe 就可以在这个虚拟环境中执行你的。net程序了。 最好再自己写一个启动程序,首先检查系统是否安装了。Net框架,如果有直接运行。没有调用虚拟环境运行。 这个启动程序飞信也有,如果不想自己写就直接拿飞信安装目录中的 Feition.exe,但是这样的话 你自己的.Net程序的名字必须叫 FeitionFX.exe 。把它和Feition.exe 放在同一目录下,直接执行 Feition.exe 即可。 另外,如果你对。Net程序使用了加密保护,需要注意一下,目前市面上的大部分。Net加密工具加密后的程序集不能在这个虚拟环境中运行的。 这个东西除了能实现脱离 。net框架运行外,还有另外一个副作用--让。net程序运行在指定版本的 。net 框架中. 以上内容未经最后证实。
周热点:云计算宣言引发云标准之争 RIM推出应用商店 【Csdn 4月6日讯】每周周热点,回顾一周要闻。在刚过去的一周内,我们关注的热点事件有:IBM带头签署云计算宣言,引发云标准新一轮的争议。RIM正式推出应用商店。华为成功进入美国市场等。 热点一:《开放云宣言》最早于3月25日被微软开发者平台产品管理高级总监史蒂芬-马丁(Steven Martin)曝光,并引发了广泛讨论。在上周一,IBM牵头,思科、EMC、Sun、VMware和大批重要的创业公司正式签署了这一宣言。但亚马逊,谷歌,微软和Salesforce却均未签署该宣言。但在稍后的论坛上,多数签署以及包括微软在内的未签署该协议的企业都将云集纽约共同探讨云计算标准的未来。《开放云宣言》的推出意味着解决云计算技术发展的最大障碍之一标准不统一的时机已初步成熟,它必将对云计算的发展有重要意义。但我们非常遗憾的看到在这次盛宴上,国内企业集体缺席。 热点二:前段时间,Csdn曾推出一个关于巨头扎堆手机应用商店的新闻专题,周三,RIM应用程序商店正式亮相,取名叫黑莓应用程序世界(BlackBerry App World)。毫无疑问,未来将有更多的厂商推出自己的应用商店。 热点三:多年来,华为拓展美国市场的努力一直因莫须有的安全担心而屡遭挫折。但上周消息称华为在美国已赢得了一份巨额合同,对此,《福布斯》杂志网络版发表评论文章指出,最近华为在美国取得的一系列进展或意味着一直以来北美地区对中国公司的安全担心就此消停。
什么是量子计算机? 什么是量子计算机? 量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机的概念源于对可逆计算机的研究。研究可逆计算机的目的是为了解决计算机中的能耗问题。 20世纪60年代至70年代,人们发现能耗会导致计算机中的芯片发热,极大地影响了芯片的集成度,从而限制了计算机的运行速度。研究发现,能耗来源于计算过程中的不可逆操作。那么,是否计算过程必须要用不可逆操作才能完成呢?问题的答案是:所有经典计算机都可以找到一种对应的可逆计算机,而且不影响运算能力。既然计算机中的每一步操作都可以改造为可逆操作,那么在量子力学中,它就可以用一个幺正变换来表示。早期量子计算机,实际上是用量子力学语言描述的经典计算机,并没有用到量子力学的本质特性,如量子态的叠加性和相干性。在经典计算机中,基本信息单位为比特,运算对象是各种比特序列。与此类似,在量子计算机中,基本信息单位是量子比特,运算对象是量子比特序列。所不同的是,量子比特序列不但可以处于各种正交态的叠加态上,而且还可以处于纠缠态上。这些特殊的量子态,不仅提供了量子并行计算的可能,而且还将带来许多奇妙的性质。与经典计算机不同,量子计算机可以做任意的幺正变换,在得到输出态后,进行测量得出计算结果。因此,量子计算对经典计算作了极大的扩充,在数学形式上,经典计算可看作是一类特殊的量子计算。量子计算机对每一个叠加分量进行变换,所有这些变换同时完成,并按一定的概率幅叠加起来,给出结果,这种计算称作量子并行计算。除了进行并行计算外,量子计算机的另一重要用途是模拟量子系统,这项工作是经典计算机无法胜任的。 无论是量子并行计算还是量子模拟计算,本质上都是利用了量子相干性。遗憾的是,在实际系统中量子相干性很难保持。在量子计算机中,量子比特不是一个孤立的系统,它会与外部环境发生相互作用,导致量子相干性的衰减,即消相干。因此,要使量子计算成为现实,一个核心问题就是克服消相干。而量子编码是迄今发现的克服消相干最有效的方法。主要的几种量子编码方案是:量子纠错码、量子避错码和量子防错码。量子纠错码是经典纠错码的类比,是目前研究的最多的一类编码,其优点为适用范围广,缺点是效率不高。 迄今为止,世界上还没有真正意义上的量子计算机。但是,世界各地的许多实验室正在以巨大的热情追寻着这个梦想。如何实现量子计算,方案并不少,问题是在实验上实现对微观量子态的操纵确实太困难了。目前已经提出的方案主要利用了原子和光腔相互作用、冷阱束缚离子、电子或核自旋共振、量子点操纵、超导量子干涉等。现在还很难说哪一种方案更有前景,只是量子点方案和超导约瑟夫森结方案更适合集成化和小型化。将来也许现有的方案都派不上用场,最后脱颖而出的是一种全新的设计,而这种新设计又是以某种新材料为基础,就像半导体材料对于电子计算机一样。研究量子计算机的目的不是要用它来取代现有的计算机。量子计算机使计算的概念焕然一新,这是量子计算机与其他计算机如光计算机和生物计算机等的不同之处。量子计算机的作用远不止是解决一些经典计算机无法解决的问题。 量子计算机是通过量子分裂式、量子修补式来进行一系列的大规模高精确度的运算的。其浮点运算性能是普通家用电脑的CPU所无法比拟的,量子计算机大规模运算的方式其实就类似于普通电脑的批处理程序,其运算方式简单来说就是通过大量的量子分裂,再进行高速的量子修补,但是其精确度和速度也是普通电脑望尘莫及的,因此造价相当惊人。目前唯一一台量子计算机仍在微软的硅谷老家中,尚在试验阶段,离投入使用还会有一段时间。量子计算机当然不是给我们用来玩电子游戏的,因为这好比拿激光切割机去切纸,其主要用途是例如象测量星体精确坐标、快速计算不规则立体图形体积、精确控制机器人或人工只能等需要大规模、高精度的高速浮点运算的工作。在运行这一系列高难度运算的背后,是可怕的能量消耗、不怎么长的使用寿命和恐怖的热量。 假设1吨铀235通过核发电机1天能提供7000万瓦伏电量,但这些电量在短短的10天就会被消耗殆尽,这是最保守的估计;如果一台量子计算机一天工作4小时左右,那么它的寿命将只有可怜的2年,如果工作6小时以上,恐怕连1年不不行,这也是最保守的估计;假定量子计算机每小时有70摄氏度,那么2小时内机箱将达到200度,6小时恐怕散热装置都要被融化了,这还是最保守的估计! 又此看来,高能短命的量子计算机恐怕离我们的生活还将有一段漫长的距离,就让我们迎着未来的曙光拭目以待吧!~
摄影基础知识 瞬间曝光留下下千姿百态,方寸之间容纳千言万语。用自己手中的照相机留住一个个美好的瞬间,留下一个个难忘的回忆,是很多校友的美好心愿. 为此,一些朋友已经品尝过很多失败和成功的甘苦.但是对更多的朋友来说,摄影似乎还是非常神秘的,可望却不可及。 一幅成功的摄影作品需要将摄影技术和艺术完美结合起来。摄影师应该是个"杂家"。 在这块版面上,将向朋友们介绍有关摄影的一些知识。若朋友们在摄影中遇到问题,可来信告之,我们会有针对性地予以解答。 照片上的影像是怎样产生的? 凡是拍过照片的朋友都知道,一幅完美照片的诞生,需要经历一个复杂的工艺过程。 影像的形成过程可用下图表示: 1. 拍摄曝光 首先,摄影人员必须通过相机的镜头将如诗如画的风景、多姿多彩的景物记录在相机内装的胶片上。这一步就是通常所说的拍摄曝光,是摄影全过程中不可缺少的一环。这时的胶片上存在着肉眼看不见的影像被称为"潜影",顾名思义就是"潜在的影像"。 2.负片的冲洗 拍摄完的胶片必须要经过冲洗加工才能将潜在的影像变成可见影像。冲洗胶片的工作可由专业冲扩店完成,也可自己来完成。如果使用的是彩色负片,在经过显影、漂白、定影等工序后,可以看到,胶片上留有一个和原景物明暗相反,色彩互补的影像,通常,我们把这个影像叫做"负像"。带有负像的胶片被称作"底片"。 在这里提醒朋友们注意: 胶卷是一种不同于画家、作家所用各种纸张的特殊记录材料。在没有经过冲洗加工之前,这种材料是不能在亮室打开的,这时打开也看不到任何影像。而且,如果此时打开暗盒,会使你的前期拍摄结果毁于一旦! 别小看小小的底片,只有它的质量好,照片上的影像才可能好。冲洗好的底片,一定要保持它的清洁,防止沾上脏物和被划伤。因此,湿底片在干燥时,要凉在清洁的环境中,不能让尘埃粘到胶片上,更不能随便用手或抹布等去捋底片,这样容易在胶片上留下指纹或造成划伤,冲洗好的底片不要裸露在外,应装在专用的底片袋中保存,以免沾上灰尘。因为一旦底片上有划痕,会在照片上留下为深色条道,底片上有脏物,会在照片上留下相应的白色影像。 3.印片或放大 看到负像不是摄影的最终目的,要想看到和原景物明暗及色彩一致的影像,还需要通过扩印机的镜头,将小小底片上的负像放大到所要的尺寸,曝光印放在彩色相纸上。放大时,可以对画面进行裁剪,可以对色彩进行校正,可以多张复制,还可以复制成不同的尺寸。印片后,照相纸上留下的也是肉眼看不见的"潜影"。 4. 相纸的冲洗 相纸的冲洗和负片的冲洗方法基本相似,但不完全一样。冲洗之后, 相纸上会出现和原景物明暗一致、色彩相近的彩色影像。 摄影过程涉及到许多具体的技术问题。如拍摄条件的把握、显影条件的控制等等,每个环节都不能忽视,因为它们都会影响画面的质量。 相机的使用和维护 相机是高精度的设备,经久耐用、可靠。如果你操作正确并适当保养,相机会很好地为你服务。但是,如果你不好好对待它,它常常会使你处于很尴尬的境地。因此,在使用相机时,要像爱护自己的眼睛一样爱护你的照相机。 以下注意事项希望朋友们予以重视: 1.不要尝试用手打开全自动相机的镜头盖。只有在开关处于开启状态时,镜头盖会自动打开,开关关闭时,镜头盖会自动关闭。 2.如果相机有日期显示模式,在电池没电之前不要取出电池,因为日期功能需要电池供电以保持连续。 3.全自动相机应使用带有DX码的胶片,购买胶片,要确保暗盒上带有DX码标记。如果装入了无DX码的胶片,感光度将自动设置在某一个数值上,而不管胶片的真实感光度是多少,因而可能引起曝光不正确。 4.使用和携带相机时,要十分小心,不要摔、砸相机,避免强烈震动、冲击或挤压。当在摩托车、汽车、船、飞机等上携带相机时,应使用厚垫子保护它。使用三脚架时,一定要立稳,特别要防止三脚架被踢翻或被大风刮倒。
玛丽莲·曼森 玛丽莲·曼森,著名的反基督明星。曼森不仅仅以夸张的舞台视觉效果感染观众,从他的音乐、歌词里,也不难看出,在他的眼中只有撒旦,从来没有天使。本场演出送给所有热爱Marilyn Manson的乐迷、送给所有曾经热衷于过曼森音乐的朋友们。演出请来6支风格各异的乐队,送给大家6首曼森的经典作品,其中包括来自1998年专辑《Mechanical Animals》中的“Rock Is Dead”、2003年专辑《Golden Age of Grotesque》中的“This Is The New Shit”、2000年专辑《Holy Wood》中的“The Love Song”、1996年专辑《Antichrist Superstar》中的“The Beautiful People”、1995年专辑《Smells Like Children》中的“Sweet Dreams”和2007年专辑《EatMe,DrinkMe》中的“They Said That Hell"s Not Hot”。相信这6支乐队会为大家带来更多的惊喜。我们也打算将此类演出作为一个系列,每月翻唱一只乐队。仅以此场演出,向Marilyn Manson致敬!上帝只活在电视里! 主办:暗夜妖娆&13CLUB酒吧 http://www.dunkelnacht.com/ 时间:2008年5月10日晚9点 地点:13CLUB酒吧 票价:40元 参演乐队: 月之影乐队(The Moon's Shadow) 恐惧阴影乐队(Fear Shadow) 灵火乐队(Soul Of Flamez) 面具乐队(Mask) 神经中枢乐队(Sweet Dreams) Noise-365乐队(Noise-365) 翻唱曲目: MM-Rock Is Dead MM-This Is The New Shit MM-The Love Song MM-The Beautiful People MM-They Said That Hell"s Not Hot 电话:010-60887715 地点:北京海淀区蓝旗营161号成府路西侧路南(北大东门向东,清华南门向西) 行车路线:乘731 331 656 749 355 307 726 375 319 712路公车到 “蓝旗营” 下车 贴子相关图片:
1 下一页