Click here to Skip to main content
6,630,586 members and growing! (16,872 online)
Email Password   helpLost your password?
Platforms, Frameworks & Libraries » Mobile Development » General     Intermediate

A comprehensive CE class library to replace ATL and MFC

By Kenny G

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.
VC6, Windows, Win Mobile, Mobile, Dev
Posted:24 Aug 2000
Updated:4 Oct 2000
Views:175,744
Bookmarked:58 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
46 votes for this article.
Popularity: 7.72 Rating: 4.64 out of 5

1

2
2 votes, 16.7%
3

4
10 votes, 83.3%
5

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Kenny G


Member

Location: United States United States

Other popular Mobile Development articles:

  • Writing Your Own GPS Applications: Part 2
    In part two of the series, the author of "GPS.NET" teaches developers how to write GPS applications suitable for the real world by mastering GPS precision concepts. Source code includes a working NMEA interpreter and sample high-precision application in C# and VB.NET.
  • Writing Your Own GPS Applications: Part I
    What is it that GPS applications need to be good enough to use for in-car navigation? Also, how does the process of interpreting GPS data actually work? In this three-part series, I will cover both topics and give you the skills you need to write a commercial-grade GPS application.
  • Learn How to Find GPS Location on Any SmartPhone, and Then Make it Relevant
    A step by step tutorial for getting GPS from any SmartPhone, even without GPS built in, and then making location useful.
  • iPhone UI in Windows Mobile
    It's an interface that works with transparency effects. As a sample I used an interface just like the iPhone one. In this tutorial I am explaining how simple is working with transparency on Windows Mobile.
  • Pocket 1945 - A C# .NET CF Shooter
    An article on Pocket PC game development
Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 43 (Total in Forum: 43) (Refresh)FirstPrevNext
GeneralHow to use RecvFile? Pinmemberharizon95:53 26 May '08  
GeneralHow about support for Windows Mobile 5 Pinmemberpanachepitts11:38 17 Nov '06  
QuestionVS 2005 support Pinmemberhojjat_rele0:30 24 Jul '06  
GeneralWaitForMultipleObject Pinmemberammasramesha21:14 29 Jul '05  
GeneraleVC++ 4.0 support PinmemberStober6:20 23 Mar '05  
GeneralWrite behind stack buffer in CCeSocket::GetHostByName() PinmemberChristoph Weber23:05 21 Oct '04  
GeneralI don't want to use ADOCE in my PocketPC. PinmemberGopabandhu23:01 26 Apr '04  
GeneralRe: I don't want to use ADOCE in my PocketPC. PinmemberHeng cao8:55 5 Jun '04  
GeneralFTP app and sorting PinmemberAmit Dey13:06 26 Dec '03  
GeneralFtp class PinmemberSimone19766:09 18 Dec '03  
GeneralHow can use it in evc++ 3? PinsussSimone Sanfilippo0:50 14 Nov '03  
GeneralRe: How can use it in evc++ 3? PinmemberAndreas Muegge21:52 1 Dec '03  
GeneralRe: How can use it in evc++ 3? PinmemberSimone Sanfilippo23:59 1 Dec '03  
GeneralHow to use CeVersioninfo class? PinmemberMark Findlay14:01 7 Sep '03  
GeneralPocketPC tapi problem HELP !!! Pinmemberthitoune1:04 24 Mar '03  
GeneralRe: PocketPC tapi problem HELP !!! PinsussAnonymous10:59 15 May '03  
Generalwireless transfer Pinmemberronaldo8317:45 13 Mar '03  
GeneralATL for SmartPhone PinsussNickBln5:50 13 Feb '03  
GeneralRe: ATL for SmartPhone PinsussAnonymous22:31 11 Mar '03  
GeneralWireless comm and TAPI PinmemberTushar_Zaware1:38 30 Sep '02  
Generalcan't add items to Tree view in evc++ ?? Pinmembergiancarlo Molina7:58 31 May '02  
GeneralCeDbRecord::AddProp is broken PinmemberAnonymous23:32 10 Apr '02  
GeneralSome Problems PinmemberAnonymous6:51 20 Mar '02  
GeneralSend To IrDA printer in Pocket PC PinmemberMesut5:14 3 Mar '02  
GeneralCeFtp and File not existing PinmemberGreg Berlin7:40 7 Oct '01  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 4 Oct 2000
Editor: Sean Ewington
Copyright 2000 by Kenny G
Everything else Copyright © CodeProject, 1999-2009
Web19 | Advertise on the Code Project