Visual C++,开发软件就是这么简单!

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:something190
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  上网冲浪的乐趣之一,就是下载各种各样的共享、免费软件试用,在惊叹软件作者的奇思妙想之余,你是否也想加入到软件开发者的行列?在一般人的眼中,程序员是一群拿着高工资的深不可测的人,想像着他们在0和1的数字世界中穿梭,似乎无所不知无所不能。其实,只要有兴趣并且有耐心,你同样也可以成为令人尊崇的程序员。怎么,你不相信?那就试着随我一起开发一款实用的工具软件吧,非常简单,没有多少编程基础也不要紧。
  
  


  实例:我的光驱精灵—实用的光驱开/关软件
  在Windows XP的“我的电脑”中,右击光驱盘符,选择“弹出”,即可弹出光驱。这一功能免去我们用手按光驱上按键的操作,可延长光驱的使用寿命。但是非常奇怪的是,Windows XP却没有提供相应的“关闭”功能,只能用手工方式按回光驱。下面我们要开发的“我的光驱精灵”软件,则可以自由地开/关光驱。我们使用是微软著名的开发套件Visual Studio.NET 2003中的Visual C++(以下简称VC++)。源项目文件及最终编译好的可执行程序,可从http://www.newhua.com/cfan/200606/CDcontrol.rar处下载。使用VC++ 6.0的朋友,同样可以借鉴。
  
  STEP1
  启动Visual Studio.NET 2003,执行“文件→新建→项目”菜单命令打开新建项目对话框,如图1所示,点击展开左侧的“Visual C++项目→MFC”,在右侧选中“MFC 应用程序”。接着输入项目名称(如:CDcontrol),并设置好项目的存储位置(如:E:\MyPrograms)。
  
  STEP2
  单击“确定”,将打开MFC应用程序向导,如图2所示,点击左侧“应用程序类型”,在右侧选中“基于对话框”项(见图2)。
  ★在“MFC的使用”项中,如果选择“在共享DLL中使用MFC”项,最后生成的程序会很小,但是要确保使用者的系统内已安装有MFC动态库文件;如选择“使用静态库中的MFC”项,则生成的程序会将MFC库文件一同包含到程序内,就不用担心用户的系统内是否有MFC动态库了,不过这样生成的程序文件也会大很多。
  ★VC++ 6.0的新建项目向导是以“下一步”的方式一步一步进行的,不过它的选项设置与VC++.NET 2003非常相似。
  ★在“MFC的使用”项中,如果选择“在共享DLL中使用MFC”项,最后生成的程序会很小,但是要确保使用者的系统内已安装有MFC动态库文件;如选择“使用静态库中的MFC”项,则生成的程序会将MFC库文件一同包含到程序内,就不用担心用户的系统内是否有MFC动态库了,不过这样生成的程序文件也会大很多。
  
  STEP3
  还可以继续设置“用户界面功能”及“高级功能”等项,这里取默认值,最后单击“完成”按钮返回VC++主界面,会发现已经自动生成对话框界面(见图3)。
  
  STEP4
  显然自动生成的界面与我们实际的要求相去甚远,下面就来修改一下,最后的效果如图4所示。
  1.执行“视图→工具箱”命令调出工具箱,选择“指针”工具,用它将原界面中的“确定”和“取消”按钮拖放到对界面的右下角。点选“确定”按钮,在右下角“属性”窗口(按F4键显示)中,找到Caption(标题)项,将它的值改成“关于”,回车确定后按钮上的文字随之改变。同样方法,将“取消”改成“退出”。
  2.选择工具箱上的Button(按钮)工具,在界面左上角拖画出两个按钮,通过修改Caption的方法,将两个按钮的默认文字分别改成“弹出”和“关闭”。
  3.原界面中的提示“TODO:在此放置对话框控件”,实际上就是一个静态文本控件,点击它,同样修改其Caption的值,改成图4所示中的“友情提示……”。如想在静态文本控件中输入多行文字,在需要回行处要加上转义符“\n”(不含引号)。文字太多,显示不出来的时候,可拖动控件四周的节点拉大它即可。选中工具箱中的Static Text(静态文本)工具,在左下角再拖画出一个文本控件,并将其Caption的值修改成自己需要的。
  ★VC++ 6.0中,控件属性是以独立的对话框形式出现,双击某控件即可打开相应的属性对话框。
  
  STEP5
  我们是通过Windows多媒体设备的程序接口MCI提供的功能来实现光驱开/关控制的,所以要加入必要的头文件及库。单击右上角窗格下的“解决方案资源管理器”选项卡(快捷键为Ctrl+Alt+L),双击“头文件”下的“CDcontrolDlg.h”,在左侧打开的文件开始处“#pragma once”之下加入以下两行代码,用来包含相应的头文件及库(见图5):
  


  #include
  #pragma comment(lib,"winmm.lib")
  ★VC++ 6.0中,首先需要在你开发的项目设置“Project→Setting→Link→Object/library modules”中加入库“winmm.lib”,并在头文件中加入代码包含多媒体控制头文件:"#include mmsystem.h"。
  
  STEP6
  单击右上角的“资源视图”选项卡(快捷键Ctrl+Shift+E),双击Dialog下的IDD_CDCONTROL_DIALOG回到对话框主界面中。双击“弹出”按钮,将自动跳转到该按钮所属的控制函数内,本例的函数名默认为OnBnClickedButton1(),如图6所示,在注释文字之下输入以下一行代码,它的作用是弹出光驱:
  mciSendString("set cdaudio door open",0,0,NULL);
  ★在VC++ 6.0中为按钮添加控制代码的方法稍有不同:右击按钮,选择Events,在弹出对话框中双击左侧的BN_CLICKED,又会弹出对话框,提示为响应函数取个名字,确定后,双击右上角窗格中新加入的BN_CLICKED,即可进入响应函数体内添加自己的代码了。
  
  STEP7
  以同样方法在“关闭”按钮的响应函数OnBnClickedButton2()内添加以下代码,它的作用是关闭弹出的光驱:
  mciSendString("set cdaudio door closed",0,0,NULL);
  至此,一个好玩又实用的工具软件就完成了,执行“调试→启动”(快捷键F5)运行程序,弹出如图7所示窗口,单击“弹出”或“关闭”按钮,就可以方便地弹出或关闭光驱了。将项目目录下“Debug”文件夹中的程序文件“CDcontrol.exe”发送给你的朋友们也试试,一定会镇他们一下的,呵呵。
  上面的实例,还有许多需要完善的地方,比如添加快捷键操作等,限于篇幅,等以后有机会再详细介绍吧。另外,这个实例的目的是为了打破初学者对编程的恐惧感,所以尽量描写得轻松易做,而实际上要做出一个好的软件来,绝非一朝一夕之功,对其艰难的程度一定要有足够的思想准备哦。
  
  职场论坛
  关于Visual C++前途的讨论
  网上关于VC++的争论很多,有人说“真正的程序员用VC”,也有人说,VC已是明日黄花,在它上面下工夫将会得不偿失。个人认为,VC作为微软最重要的开发工具之一,是不可能轻易被抛弃的,如果决意追随Windows平台搞开发,VC是一个相当重要的选择。以下摘自一位网名为iron的网友的话,我个人觉得很有道理:
  我们知道,在DOS时代,市面上固然有MS C/C++、Quick Basic等微软公司的开发工具,同时也有许多诸如:Turbo C/C++、Turbo Pascal、Foxbase、FoxPro之类的第三方开发工具,并且后者更出名、使用得更广泛!当从DOS时代升迁到Windows时代后,固然微软的MS C/C++、Quick Basic等开发工具被淘汰了,然而同属于那个时代的其他第三方开发工具不也同时被淘汰了?覆巢之下岂有完卵!因此,我们完全有理由相信,将来如果有一天,由于技术进步的原因导致VC被淘汰了,那么与VC同一时代的、只能在Windows平台上搞开发的这许多开发工具,如:VB、BCB、Delphi等等都逃脱不了被淘汰的命运!如果你是由于怕技术的进步而不想学VC,那你最好不要学编程,并且你干脆什么都不要去学!因为任何一种开发工具、任何一种技术最终都会过时、都会被淘汰的,这是客观规律。
其他文献
最近系统出了些故障,经常弹出“该内存不能‘Read’”的错误提示,运行任何软件都出现这个问题。看了CFan以前的文章后,我重新建立了—个用户账户,然后用新账户登录后,不再出现这些问题了。但我还得安装好多那些必须重装才能在新账户下用的软件,还有我的很多个人信息配置文件都在原来的账户,这该怎么办?
期刊
继2005年8月华南百家MP3工厂倒闭的消息后,众多的MP3工厂(包括此前一些已经倒闭的)纷纷转战MP4,苦守近半年之后,时至年关,渠道再次报料称,其中不少工厂已开始退出。另据报道,深圳多家制造MP4工厂因欠薪被公开曝光,有的老板潜逃,被警方以涉嫌经济犯罪刑事拘留。      阿健视点    2005年的MP4领域一窝蜂似地出现了很多品牌,迷信MP4能够遵循MP3的爆炸式增长模式是很多工厂倒闭的原
期刊
最近我在使用MSNMessenger7.5并登录时,总是弹出“Internet Explorer 脚本错误”提示窗口。请问该如何解决?    答:这可能是由于MSNMessenger中的其他组件(例如广告)启动时出现的故障,只要在IE浏览器中设置禁用脚本调试即可解决问题:  单击IE菜单“工具→Internet选项”,在打开的窗口中选择“高级”选项卡,选择“禁用脚本调试(Internet Expl
期刊
自己发现五笔字型的字根背起来很困难,而通过自己编排的方法完全可以避免背诵。2000年3月,姜涛编著的《五笔字型傻瓜学习法》出版。2004年5月,姜涛发现了2001年6月由五笔发明人王永民著编的《打字高手—五笔字型快速录入秘诀》。姜涛称,经辨识,这本书在汉字的排列顺序上、简码字的表达形式、识别码字的表达形式上剽窃了他的作品。姜涛称,由于王永民是五笔字型的发明人,而自己只是一个普通人。现在已经开始有读
期刊
动画片、游戏和漫画伴随着一代年轻人成长。我们酷,我们自由,我们想象丰富喜欢刺激,我们爱说一句话:我就喜欢!渐渐地,我们被动漫中的角色深深吸引,我们假定自己就是这些虚拟人物……于是,Cosplay(er)出现了。迷幻炫目的灯光,前卫怪异的造型,经久不歇的尖叫……这一切,都为Cosplay贴上了年轻时尚的标签。 Cosplay,时下最IN的玩法之一,年轻人的娱乐新宠,基本上可以解释为年轻人的自娱自乐:
期刊
一、电脑、电视二合为一    看电视、用电脑,如果你想二者兼顾,无聊时看看电视娱乐一下,工作时转头就对着电脑,除了二者俱备外,还可以通过电视卡将其“二合为一”。电视卡是必备的硬件,而在配套的软件方面,则需要斟酌一二了,各种电视软件都有着自己的特色,你可能熟悉WinDVR、PowerDVR,或者是MCE,但你未必知道Beyond TV。它不仅可以让你自己独享电视节目,甚至还可以通过网络实现全球直播。
期刊
我的系统是Windows XP,这几天任务栏系统托盘里的时钟图标竟然“升级”了,把鼠标悬停后出现了月历框,双击之后时间管理界面也变了(如下图)。请问这是Windows XP升级造成的吗?如果不是,应该如何变回原来的样子?(四川 王辉)      答:近期有很多读者都遇到了这个问题,这是由于安装了某些共享软件中捆绑的插件程序造成的,它篡改了Windows XP本身的时钟界面,但提供的功能还是不错的,
期刊
别人用我的电脑时经常会把我心爱的千千静听改得面目全非,令我很是气愤!一气之下就将我的千千静听“锁住”了。
期刊
刚刚开完选题会,心情好舒畅!蓝天白云为顶,青草为地,绿树为墙,五彩缤纷的花儿芬芳,画眉鸟儿歌唱,清澈的昆玉河静静流淌……这就是我们的“会议室”—写字楼旁的“文化广场”,阳光明媚的地方。皮肤深呼吸,大脑细胞活跃,喝着冰爽的绿茶,小编们七嘴八舌地讨论,好不热闹!这不,大爷大妈们牵着小狗,拿着风筝,好奇地过来了:这群年轻人拿着笔记本,高谈阔论的在做什么?一小编故意“嘘”了一声:小声点儿,选题机密,小心外
期刊
老李和小王经常出外开会,这天在吃午餐的时候,小王一个不小心把水杯碰倒在笔记本的键盘上面,水一下子全倒在键盘上面,流进了笔记本电脑。      一、进水千万不能慌移除电源第一步    “糟!”小王眼看笔记本尚未死机,他正准备动手去保存资料然后选择Windows的菜单去关闭电脑,这边老李已经冲了过来,拔掉小王笔记本上面的电源,同时手指按着笔记本电脑的开关按钮不放,数秒钟之后,小王的笔记本便被强行关闭了
期刊