1. 如何编写windows ce结构的应用程序 我选择编写的这一应用程序,虽然相对简单,但你却可以从中知道怎么去编写比较复杂的程序(比“Hello World.”复杂) 。
这一应用程序包括属性页和属性表,即所说的TAB控件,它含有自定义的图标和跳格符,能把参数选择保存到注册表中 。程序开发的一个关键之处是保持和微软用户界面相一致的特性 。
在开发过程中我尽可能的采用了微软的应用程序的字体和布局,商业开发人员更应该为他们的Windows CE应用程序设计出优美的界面 。获取代码 可以从这里下载这一例程的源代码类结构所有的代码加起来也有几千行,共分为5个文件 。
我选择用微软基础类库(MFC)来实现,软件也具有很好的扩展性 。CCNETConfig:这是程序的主线程,它起动与注册表的连接,建立与CPageTab1, CPageTab2, and CPageTab3的关联,然后利用属性表生成模态对话框,CCNETConfig是独立的 。
CPropertySheet: CpropertySheet类基本上是空的,当你点击不同的标签时,MFC会处理不同的属性页,CpropertySheet也是独立的 。CPageTab: CpageTab类包含了与各自标签相关的代码,它完成属性页上数据的保存,传递,校验 。
在默认状态下,Embedded Tools软件上传应用程序到/Windows/Start Menu目录下 。如果你把应用程序上传到/Windows/Start Menu/Settings目录下,在文件夹中也可以找到图标 。
【ce程序怎么写】这一结构程序具有三个属性页,如图C所示 。CPageTab1处理的是与数据更新相关的任务,CpageTab2处理参数选择相关的任务,CpageTab3传送到cnet.com的任务 。
从整体上看,程序并不是很复杂 。程序员可以很容易地把代码移植到诸如无线802.11b驱动程序上 。
每一个类都有它的特有成员变量表,这些变量能够通过MFC's DDX保持编译环境的设置 。在每一属性页的OnInitDialog函数中都执行UpdateData(FALSE)事件,然后在OnKillActive事件中通过UpdateData(TRUE)校验并把参数保存到注册表 。
当OnKillActive事件被触发时程序就会把所有的信息保存到注册表,即使在程序发生异常的时候 。而函数OnInitDialog则是对程序进行了初始化 。
通过利用资源编辑器,我建立了如图D所示的三个属性表 。标题栏遵循了其他程序的设计标准,标题栏下面的文字也采用了其他程序的字体和颜色 。
字体下面的直线是采用1bit位图实现并当成一幅图片,除此之外,我还添加了检查框,静态文本框,编辑框,组合框等 。自定义静态文本框的字体和风格为了获取静态文本框的合适字体,必需在CpageTab类中触发WindowProc事件,而只要发送WM_CTLCOLORSTATIC消息就可以更换静态文本框中的当前字体和字体的颜色了 。
WM_CTLCOLORSTATIC把hDC和hWnd传送到静态文本框,在函数中的这些变量如Listing A.所示 。你可以看到,我使用了一个静态变量来生成字体,然后重载这一指针变量就可以更改这些字体 。
如果你不想改变字体,即不要重载PropertyPages中的WindowProc事件,代码的其他部分都会正常运行 。除了要生成合适的字体外,我还注重把界面设计成具有Windows CE系统专业的水平 。
生成带有属性页的属性表对于以上我生成的附带属性页的属性表,你一定会迷惑这一整个过程 。我只是采用了MFC向导来自动生成四个独立的类,其中一个是派生于CpropertySheet类,其他三个是派生于CpropertyPage类 。
在CWinApp::InitInstance事件中,我在属性表中增加了属性页,如图Listing B所示 。我还举例说明了怎么样从CPropertySheet 和 CpropertyPage而不是从CPropertySheet 和CpropertyPage派生出对象 。
我初始化了所有的变量并把页和表关联起来,之后调用DoModal事件就可以生成模态对话框 。当InitInstance返回FALSE,MFC不再执行窗体消息循环 。
- 要约邀请怎么写
- 金双歧怎么样 比如金双歧
- 脑膜炎是怎么引起的 什么是脑膜炎
- 痛经怎么办快速解决痛经的原因痛经吃什么好 痛经吃什么调理最好窍门
- 经常玩手机怎么防辐射 玩手机辐射大吗
- 手表日语怎么写
- 见鬼英语怎么写
- 像英语单词怎么写
- 父亲da怎么写
- 春雨的古诗怎么写