引言
CeLib
是一套类库,介于ATL和MFC窗口类之间,并添加了一些额外功能,以实现MFC的一些功能(字符串、网络和UI)。
我最早为Windows CE 2.0 for HPC和2.01 for Palm-sized PC编程。当时可用的工具只有C++的Visual Studio 5.0插件和VB的Visual Basic 5.0插件。MFC适用于2.0 HPC平台,但不适用于2.01 Palm-sized PC,而且它需要300多KB的额外安装空间,并且当时大多数ROM中都没有包含它。我需要编写能同时运行在两者上的应用程序,所以MFC和ATL都不适用。因此,我查看了MFC和ATL以及其他一些窗口类库的源代码,窃取了它们 ideias,并编写了自己的库。
一个功能强大的应用程序可以用20k的体积创建。包含的数据库浏览器大约有50k,并且不需要任何未安装的DLL。
版本信息
这些库可以为操作系统版本2.0、2.01和2.11构建。它们已在HPC 2.0、Palm-sized PC 1.0、Palm-sized PC 1.2、HPC Pro 3.0以及兼容模式下的PocketPC上进行了测试并工作正常。
一些重要文件
CePlatform.h | 编译时定义,用于简化库包含中版本差异带来的麻烦,包含了COM和普通窗口功能所需的所有库。CE不同版本之间以及模拟器和非模拟器版本之间,库名称都不同,此头文件隐藏了这些差异。 另外请注意,在Windows CE中,Windows 95/NT的许多库函数(如WINSOCK和TAPI)都包含在标准库中,而不是在特殊库中。
|
CeDebug.h | 调试支持,例如TRACE 、ASSERT |
CeMisc.h | 杂项辅助类 |
类描述
字符串
CeString | 引用计数的string 类,类似CString 并支持数字转换 |
用户界面
CeBaseWnd | HWND 的封装,提供窗口调用功能,但**不**处理消息。 |
CeMsgWnd | 通过多重继承为任何类提供消息处理功能。 |
CeWnd | 派生自CeBaseWnd 和CeMsgWnd ,提供类似CWindowImpl (ATL) 或CWnd (MFC) 的功能,是一个基本的窗口封装。 |
CeCmdBar | CE命令栏的封装类 |
CeCombo | 组合框的封装类 |
CeSplitFrame | 框架分割器类 |
CeTabCtrl | 标签控件封装 |
CDialogScroll | 带滚动条的对话框 |
CeStatic | 静态控件封装 |
CeChildMgr | 一个用于管理父窗口内子窗口定位的类 |
CePropertySheet | 属性表封装 |
CePropertyPage | 属性页封装 |
CeDialog | 对话框封装类 |
CeFontDlg | 字体选择器对话框封装 |
CeStaticGroup | 分组框类 |
模块、控件和线程
CeCriticalSection | CRITICALSECTION 封装 |
CeWaitableHandle | 支持WaitForXXXXObject ()的HANDLE 封装。 |
CeManualEvent | 手动复位EVENT 类 |
CeAutoEvent | 自动复位EVENT 类 |
CeWaitObjects | 一个用于构造一组可同时等待的对象(WaitforMultipleObjects 、MsgWaitforMultipleObjects 等)的类。 |
CeWorkerThread | 线程封装类 |
CeAppModule | 应用程序实例的封装 |
网络
CeSocket | 套接字封装类 |
CeSockAddr | 套接字地址(SOCKADDR )封装 |
CeFtpClient | FTP客户端类,基于CeSocket 类的原生实现 |
操作系统
CeFindFile | FindFile 封装 |
CeRegKey | 注册表API封装 |
CeResource | 简单的资源访问 |
CeVersionInfo | 版本信息提取 |
公用事业
CeArray | 简单的数组类 |
CeSimpleMap | 简单的映射(哈希表)类 |
CeRect | RECT 封装类 |
CePoint | POINT 封装类 |
数据库
实验性
CeInkCtrl | 封装Ink控件 |
CeRichInkCtrl | 封装Rich Ink控件 |
CeRas | RAS API封装 |
CeToolTip | 提示框类 |
历史
- 2000年10月5日 - 更新了功能和PocketPC支持的更改