Click here to Skip to main content
11,487,979 members (77,744 online)
Click here to Skip to main content

A comprehensive CE class library to replace ATL and MFC

, 4 Oct 2000 CPOL 227.7K 795 70
Rate this:
Please Sign up or sign in to vote.
A collection of classes for CE that do not use ATL or MFC, plus an FTP client, database viewer, and sample application that solves beam deflection equations.

Introduction

CeLib is a collection of classes that are a cross between ATL and MFC Window classes with some additional functionality thrown in to get some of the functionality you get from MFC (string, network and UI).

I first started programming for Windows CE version 2.0 for HPC and 2.01 for Palm-sized PC. The only tools, available were a Visual Studio 5.0 plugin for C++ and a Visual Basic plugin for 5.0. MFC was avialble for the 2.0 HPC platform, but not for 2.01 Palm-sized PC, in addition it was a 300+ K additional installation and wasn't yet included on most ROMs. I needed to write applications that would run on both so MFC and ATL were out. So I looked at the source for MFC and ATL and some other window class library and stole the ideas and wrote my own.

An application with significant functionality can be created in 20k. The database browser that is included is about 50k and requires no DLLs that aren't already installed.

Version Information

These libraries will build for operating system versions 2.0, 2.01 and 2.11. They have been tested and work on HPC 2.0, Palm-sized PC 1.0, Palm-sized PC 1.2, HPC Pro 3.0, and PocketPC in compatibilty mode.

Some important files

CePlatform.h Compile time defines to make life easier for version differences in library includes all libraries required for COM and normal Window functionality. Library names are different across different version of CE as well as between the emulator and non-emulator versions, this header hides those differences.

Also note that in Windows CE, many library functions from Windows 95/NT like WINSOCK and TAPI are included in the standard libraries, NOT in a special libraries.

CeDebug.h Debug support such as TRACE, ASSERT
CeMisc.h Miscellaneous helper classes

Class Descriptions

String

CeString reference counted string class, CString plus numeric conversion

User Interface

CeBaseWnd A wrapper around HWND that provides for windows calls, but does not handle messages at all.
CeMsgWnd Message Handling for any class through multiple inheritance.
CeWnd Derived from both CeBaseWnd and CeMsgWnd to create the functionality of CWindowImpl (ATL) or CWnd (MFC), a basic Window wrapper
CeCmdBar Wrapper class for CE command bars
CeCombo Wrapper class for comboboxes
CeSplitFrame Frame Splitter class
CeTabCtrl Tab control wrapper
CDialogScroll Dialog with scroll bars
CeStatic Static control wrapper
CeChildMgr A class for managing child window positioning within a common parent
CePropertySheet Property sheet wrapper
CePropertyPage Property page wrapper
CeDialog Dialog wrapper class
CeFontDlg Font chooser dialog wrapper
CeStaticGroup Group box class

Modules, Control and Threads

CeCriticalSection CRITICALSECTION wrapper
CeWaitableHandle HANDLE wrapper with WaitForXXXXObject() support
CeManualEvent Manual Reset EVENT class
CeAutoEvent Auto Reset EVENT class
CeWaitObjects A class for constructing a list of object that can be waited for in concert (WaitforMultipleObjects, MsgWaitforMultipleObjects, etc)
CeWorkerThread Thread wrapper class
CeAppModule wrapper for an application's instance

Network

CeSocket Socket wrapper classes
CeSockAddr Socket Address (SOCKADDR) wrapper
CeFtpClient FTP client class, a native implementation on the CeSocket class

Operating System

CeFindFile FindFile wrapper
CeRegKey Registry API wrapper
CeResource Simple Resource access
CeVersionInfo Version info extraction

Utility

CeArray Simple array class
CeSimpleMap Simple map (hashtable) class
CeRect RECT wrapper class
CePoint POINT wrapper class

Database

CeDb CE native database support

Experimental

CeInkCtrl Wraps the Ink control
CeRichInkCtrl Wraps the Rich Ink control
CeRas RAS API wrapper
CeToolTip Tooltip class

History

Oct 5 2000 - Updated with both functional and PocketPC support changes.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Kenny G

United States United States
No Biography provided

Comments and Discussions

 
GeneralMy vote of 1 Pin
hjgode27-May-13 5:18
memberhjgode27-May-13 5:18 
QuestionA little Trouble on CToken Class (in CeFtp.cpp) ? Pin
tangi maury5-Jan-11 5:07
membertangi maury5-Jan-11 5:07 
QuestionHow to use RecvFile? Pin
harizon926-May-08 5:53
memberharizon926-May-08 5:53 
QuestionHow about support for Windows Mobile 5 Pin
panachepitts17-Nov-06 11:38
memberpanachepitts17-Nov-06 11:38 
QuestionVS 2005 support Pin
hojjat_rele24-Jul-06 0:30
memberhojjat_rele24-Jul-06 0:30 
GeneralWaitForMultipleObject Pin
ammasramesha29-Jul-05 21:14
memberammasramesha29-Jul-05 21:14 
GeneraleVC++ 4.0 support Pin
Stober23-Mar-05 6:20
memberStober23-Mar-05 6:20 
GeneralWrite behind stack buffer in CCeSocket::GetHostByName() Pin
Christoph Weber21-Oct-04 23:05
memberChristoph Weber21-Oct-04 23:05 
GeneralI don't want to use ADOCE in my PocketPC. Pin
Gopabandhu26-Apr-04 23:01
memberGopabandhu26-Apr-04 23:01 
GeneralRe: I don't want to use ADOCE in my PocketPC. Pin
Heng cao5-Jun-04 8:55
memberHeng cao5-Jun-04 8:55 
GeneralFTP app and sorting Pin
Amit Dey26-Dec-03 13:06
memberAmit Dey26-Dec-03 13:06 
GeneralFtp class Pin
Simone197618-Dec-03 6:09
memberSimone197618-Dec-03 6:09 
QuestionHow can use it in evc++ 3? Pin
Simone Sanfilippo14-Nov-03 0:50
sussSimone Sanfilippo14-Nov-03 0:50 
AnswerRe: How can use it in evc++ 3? Pin
Andreas Muegge1-Dec-03 21:52
memberAndreas Muegge1-Dec-03 21:52 
GeneralRe: How can use it in evc++ 3? Pin
Simone Sanfilippo1-Dec-03 23:59
memberSimone Sanfilippo1-Dec-03 23:59 
QuestionHow to use CeVersioninfo class? Pin
Mark Findlay7-Sep-03 14:01
memberMark Findlay7-Sep-03 14:01 
GeneralPocketPC tapi problem HELP !!! Pin
thitoune24-Mar-03 1:04
memberthitoune24-Mar-03 1:04 
GeneralRe: PocketPC tapi problem HELP !!! Pin
Anonymous15-May-03 10:59
sussAnonymous15-May-03 10:59 
Generalwireless transfer Pin
ronaldo8313-Mar-03 17:45
memberronaldo8313-Mar-03 17:45 
GeneralATL for SmartPhone Pin
NickBln13-Feb-03 5:50
sussNickBln13-Feb-03 5:50 
GeneralRe: ATL for SmartPhone Pin
Anonymous11-Mar-03 22:31
sussAnonymous11-Mar-03 22:31 
GeneralWireless comm and TAPI Pin
Tushar_Zaware30-Sep-02 1:38
memberTushar_Zaware30-Sep-02 1:38 
Questioncan't add items to Tree view in evc++ ?? Pin
giancarlo Molina31-May-02 7:58
membergiancarlo Molina31-May-02 7:58 
GeneralCeDbRecord::AddProp is broken Pin
Anonymous10-Apr-02 23:32
memberAnonymous10-Apr-02 23:32 
GeneralSome Problems Pin
Anonymous20-Mar-02 6:51
memberAnonymous20-Mar-02 6:51 
GeneralSend To IrDA printer in Pocket PC Pin
Mesut3-Mar-02 5:14
memberMesut3-Mar-02 5:14 
GeneralCeFtp and File not existing Pin
Greg Berlin7-Oct-01 7:40
memberGreg Berlin7-Oct-01 7:40 
Generalembedded c++ database app Pin
Anonymous29-Jun-01 4:31
memberAnonymous29-Jun-01 4:31 
GeneralCeFtpClient question (CeSocket, actually) Pin
Scott Leonard25-Jun-01 6:55
memberScott Leonard25-Jun-01 6:55 
Generaldial up connection Pin
Steven Gielen25-Jun-01 5:46
memberSteven Gielen25-Jun-01 5:46 
GeneralViewing PWI data on the desktop computer Pin
Wlodek11-May-01 21:50
memberWlodek11-May-01 21:50 
GeneralWaitForMultipleObjects Pin
Dror Kremer1-Apr-01 8:18
memberDror Kremer1-Apr-01 8:18 
GeneralRe: WaitForMultipleObjects Pin
Anonymous23-Apr-03 8:02
sussAnonymous23-Apr-03 8:02 
GeneralRe: WaitForMultipleObjects Pin
Anonymous15-May-03 10:57
sussAnonymous15-May-03 10:57 
GeneralRe: WaitForMultipleObjects Pin
Anonymous24-Jan-05 17:35
sussAnonymous24-Jan-05 17:35 
Generalproject.h file's FindFirstFlashCard Pin
Kevin Cao22-Nov-00 20:43
memberKevin Cao22-Nov-00 20:43 
GeneralRe: project.h file's FindFirstFlashCard Pin
Kenny Goers23-Nov-00 19:27
memberKenny Goers23-Nov-00 19:27 
GeneralWorth supporting 9x/nt Pin
anonymous6-Oct-00 7:18
sussanonymous6-Oct-00 7:18 
GeneralRe: Worth supporting 9x/nt Pin
Kenny Goers9-Oct-00 7:22
sussKenny Goers9-Oct-00 7:22 
GeneralDoes this work on H/PC 3.0 using eMbedded VC++ Pin
Michael Chapman2-Oct-00 5:51
sussMichael Chapman2-Oct-00 5:51 
GeneralRe: Does this work on H/PC 3.0 using eMbedded VC++ Pin
Kenny Goers5-Oct-00 11:11
sussKenny Goers5-Oct-00 11:11 
GeneralRe: Does this work on H/PC 3.0 using eMbedded VC++ Pin
Shane Dewing31-Oct-00 14:48
sussShane Dewing31-Oct-00 14:48 
GeneralPocketPC not yet supported ;( Pin
Kenny Goers25-Aug-00 7:24
sussKenny Goers25-Aug-00 7:24 
GeneralRe: PocketPC not yet supported ;( Pin
cao@orbworks.com28-Aug-00 12:36
susscao@orbworks.com28-Aug-00 12:36 
GeneralRe: PocketPC IS NOW SUPPORTED Pin
Kenny Goers6-Oct-00 5:48
sussKenny Goers6-Oct-00 5:48 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150520.1 | Last Updated 5 Oct 2000
Article Copyright 2000 by Kenny G
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid