资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.word可编辑.Windows Mobile 和 Wince(Windows Embedded CE) 下的 WTL(Windows Template Library) 界面(UI)开发参考文档 WTL for MFC Programmers使用 WTL 开发, 有一个系列的文章需要重点推荐,这系列文章比较全面的描述了 WTL 开发的各个方面,属于不得不看的好文章,文章的链接如下:WTL for MFC Programmers, Part I - ATL GUI ClassesWTL for MFC Programmers, Part II - WTL GUI Base ClassesWTL for MFC Programmers, Part III - Toolbars and Status BarsWTL for MFC Programmers, Part IV - Dialogs and ControlsWTL for MFC Programmers, Part V - Advanced Dialog UI ClassesWTL for MFC Programmers, Part VI - Hosting ActiveX ControlsWTL for MFC Programmers, Part VII - Splitter WindowsWTL for MFC Programmers, Part VIII - Property Sheets and WizardsWTL for MFC Programmers, Part IX - GDI Classes, Common Dialogs, and Utility ClassesWTL for MFC Programmers, Part X - Implementing a Drag and Drop Source同时有好心的国人 Simon 把文章翻译成中文,链接如下:http:/www.winmsg.com/wtl/Prologue.htm另外一个国人Dandy把 update 的文章也翻译了,链接如下:http:/sluttery.spaces.live.com/blog/cns!3569FEA80C717FD4!2382.entry我写这篇文章不是全面的介绍 WTL 的界面开发,说实在,我不会比Michael Dunn的 WTL for MFC Programmers写的好,基于不要重复做轮子的原则,要学习 WTL 请看他的 WTL for MFC Programmers。要深入,请直接看源代码。在我自己开发中出现了问题,这个系列文章也找不到答案时,也只能看源代码去解决了。文章主要介绍本人在使用 WTL 进行界面开发是的一些经验。辅助工具 WTL Helper进行 WTL 开发另外一个不可多得的工具是 WTL Helper, WTL Helper 是Sergey Solozhentsev开发的辅助工具,使用 WTL Helper 可以快速的生成 控件映射 (Variables mapping) 和 消息映射 (Message mapping) 的代码。 WTL Helper 的使用可以参考这篇文章WTL Helper。由于 Sergey Solozhentsev 一直没有更新, WTL Helpler 不支持我常用的 Visual Studio 2008,所以使用 VS 2008 不能直接安装原有的 WTL Helper。 下面文章讲述如何在 VS 2008 下使用WTL Helper Installing WTL Helper in VS 2008。一个好心的国人free2000fly把 WTL Helper 升级并放到 SF 去了,可以参考他的文章支持 VS 2008 的 WTL Helper,需要的话请到这里下载http:/sourceforge.net/projects/wtlhelper9浅谈 MS 技术下的界面开发非 MS 的世界谈到 MS 技术,需要谈一下开山始祖 MS-DOS,可是本人不是做 MS-DOS 出身的,常常听到中断之类的也不知所云,我十分欣赏在 DOS 下写游戏的人。我做界面开发从 AS400 入手,一个基于 菜单 (Menu) 的操作系统,每次写界面都需要写一个 DSP 文件, 这个文件还是可见即可得,很不错的。 然后转入 UNIX 阵营,使用 Shell 编写菜单界面,简单。到后来使用了Curses 库 和 C 开发,所有界面都是自己使用程序一点点画的,效率很低,但是学了不少东西,还尝试像 MFC 那样封装界面。MFC后来开始做 MFC, 如果在 MFC 下进行 Dialog-based (就是对话框或者FormView) 的界面是基于资源文件的,所谓资源文件说白了就是一个文本文件,例如下面一个Dialog的例子IDD_MOBILERADIO_FORMDIALOG0,0,156,167STYLEDS_SETFONT|DS_FIXEDSYS|WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGSFONT8,MSShellDlgBEGINCOMBOBOXIDC_COMBO_CITY,38,9,64,30,CBS_DROPDOWN|CBS_SORT|WS_VSCROLL|WS_TABSTOPCOMBOBOXIDC_COMBO_STATION,38,25,64,30,CBS_DROPDOWN|CBS_SORT|WS_VSCROLL|WS_TABSTOPGROUPBOXStatic,IDC_WMP,5,132,145,31CONTROL,IDC_PIC,Static,SS_BITMAP,42,64,15,13LTEXTCity:,IDC_STATIC,19,9,16,8LTEXTStation:,IDC_STATIC,9,26,26,8END例子中描述了一个 ID 为 IDD_MOBILERADIO_FORM 的 Form View,他的风格为DS_SETFONT, DS_FIXEDSYS等等,包含 COMBOBOX, LTEXT等控件。 资源文件就是使用文本描述界面的布局,风格以及属性等信息,程序在运行时根据资源文件的信息,实时生成页面。使用资源文件的一个好处是容易进行全球化 (Globalization) 和地区化 (Localization),也就是我们所说的英文界面和汉化。对使用资源文件的程序,进行汉化可以只是修改资源文件就可以了,不需要重新编译源代码。WinformWinform 已经把 UI 对象化,所有 UI 元素使用对象的方式进行描述,可以参考 MainForm.Designer.cs 文件,其中 MainForm 为 Form 的类名字,根据具体程序 Form 的类名字也不一样。下面展现 MainForm.Designer.cs 下的一段代码。#regionWindowsFormDesignergeneratedcode/RequiredmethodforDesignersupport-donotmodify/thecontentsofthismethodwiththecodeeditor./privatevoidInitializeComponent()this.connectionText=newSystem.Windows.Forms.TextBox();this.operationText=newSystem.Windows.Forms.TextBox();this.SuspendLayout();/connectionText/this.connectionText.BackColor=System.Drawing.SystemColors.Desktop;this.connectionText.Location=newSystem.Drawing.Point(3,3);this.connectionText.Name=connectionText;this.connectionText.ReadOnly=true;this.connectionText.Size=newSystem.Drawing.Size(261,23);this.connectionText.TabIndex=1;/operationText/this.operationText.BackColor=System.Drawing.SystemColors.Desktop;this.operationText.Location=newSystem.Drawing.Point(3,32);this.operationText.Name=operationText;this.operationText.ReadOnly=true;this.operationText.Size=newSystem.Drawing.Size(261,23);this.operationText.TabIndex=2;/MainForm/this.AutoScaleDimensions=newSystem.Drawing.SizeF(96F,96F);this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Dpi;this.AutoScroll=true;this.ClientSize=newSystem.Drawing.Size(271,63);this.Controls.Add(this.operationText);this.Controls.Add(this.connectionText);this.Location=newSystem.Drawing.Point(330,80);this.Name=
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号