引言:
其实,在很久之前,就想涉足Native C++的WM开发,无奈自身的C++水平仅限于大学时的应试阶段,所以,特别的潜心修炼,重新炒炒回锅肉,终于,小有成就,特此拿出来,供各位朋友一起分享,特别是针对初学c++又想搞WM开发的朋友。我的这一系列的文章,也会以一个初学者(我也不是高手)的角度,一步一步介绍如何在Native C++语言环境下,进行WM的一般开发。
当然,为了照顾到和我一样的入门学者,我在随笔中也会花部分精力为大家将就介绍一些c++的知识,稍显罗嗦,不过还请海涵啊~呵呵!再一点,本文也是针对那些已经有c#语言开发WM应用的朋友,如果没有这方面的基础,估计是有点难!
正文:
世界上最俗气的入门程序,莫过于“你好,世界!”(Hello World!)了(发现中文要比英文少敲好几个按键啊~呵呵),在此呢,Jack也是不能免俗,拿这个最通俗易懂的例子,来和大家一起进入今天的随笔。我们要用vs2008,使用c++语言,建立一个智能设备项目,而项目模板则使用MFC,如下图:
1-选择语言、项目模板以及项目类型,输入我们的项目名称“HelloWorld”
2-注意我们选择Windows Mobile 5.0 Pocket PC这个SDK来作为我们的实例SDK:
3-选择应用程序类型为“基于对话框”
什么是MFC呢?我建议大家自己查查资料吧,说起来,真的太多太广了!当然,我也是初学,红皮书这么告诉我的,那么我也就按部就班的建立起这个项目了。
tips:什么是MDI、SDI及对话框?
参考链接(有图有真相):http://book.51cto.com/art/200901/105523.htm
至此,我们建立了一个新的基于“对话框”的MFC移动应用程序,可以看到,右侧的解决方案资源浏览器,有几个文件夹,什么头文件、源文件这些的,请你参考<Visual Studio 2005 c++ 入门经典>一书,上面详细的介绍了这些文件夹的作用以及关系。在此就不赘述了。
我们打开一个叫做“资源视图”的窗体,应该如下图所示:
你可能会对这写内容感兴趣,但是在此限于篇幅,请各位朋友自行查阅一些资料,去了解这个“资源”是回什么事儿,它对于这个项目有什么用,我们可以怎么来用它~等等。那么,我们双击上图中标出的菜单,在主编辑区可以看到一个熟悉的界面打开了,还可以从工具栏拖动控件到这个界面上,是不是有点Delphi的味道?到这里,我就不多说了。想必大家已经把一个Button按钮放到界面中了吧。
好的,如果我们要对这个按钮进行事件的添加,突然发现,不能像c#中双击控件了,这里,我们要按照MFC的规则,来给控件添加“事件处理程序”,在MFC中,这种方式很常见,它用一个向导型的过程,帮助我们创建这些方法及代码。具体流程如下图:
1-右键单击我们的Button1按钮,在上下文菜单中选择“添加事件处理程序”:
2-在新窗口中,设置消息类型、此消息位于哪个类,以及函数处理程序的名称:如下图红色框所示
OK,至此,我们学会了如何在MFC中为控件创建相应代码和方法,那么我们就开始来写代码吧,很简单,就是在刚才的那个方法体内,写入如下代码:
void CHelloWorldDlg::OnBnClickedButton1() { MessageBox(L"Hello World",L"Tips",0); }
接下来,编译、生成、运行一下!
是不是成功了呢?!别高兴,在此我们还有些东西不明白,不过不急,我们是初学者,先有个感性的认识再说其他的吧。这篇随笔就到这里,下一篇中,我将和大家一起分享如何使用类、函数以及成员变量,来扩充我们的这个“你好,世界!”程序!
总结:
我们学会了:
- 使用VS2008创建一个基于MFC的智能设备应用项目
- 我们了解了MDI、SDI及对话框的概念
- 我们学会了为控件添加“事件处理程序”
- 我们学会了为程序添加功能代码
问题:
我们看到:
- 为什么那个MessageBox方法中的那些字符串之前要加个L呢?其实我们自己下来查下资料就知道了。这里推荐一篇吧:http://www.cnblogs.com/wanghao111/archive/2009/05/25/1488816.html
- 为什么添加事件那么麻烦,还引入了一个“消息处理”的概念?其实这个跟MFC的一些基础知识有关,我们也许要自己下来查阅一下关于MFC的基础知识,相信大家能够理解。
后记:
在下一篇随笔中,我会去扩展这个基础的程序功能,我们将新建一个类,为这个类添加方法、属性,让程序调用这个类,来进行一些简单的计算。