Differences Between MFC and MFC for Windows CE

Windows CE is a more compact operating system than operating systems for Windows-based desktop platforms, so it supports a streamlined subset of the standard MFC library. For information about standard MFC features that MFC does not support, see the following topics:

MFC for Windows CE supports some classes that standard MFC does not support. These classes encapsulate features that are unique to Windows CE. For example, MFC for Windows CE contains four database classes that support the simple Windows CE database functionality. These classes are CCeDBDatabase, CCeDBRecord, CCeDBProp, and CCeDBEnum.

Another class that is unique to MFC for Windows CE is CCeSocket. Windows CE does not support true asynchronous socket communication, but the CCeSocket class simulates asynchronous notification for certain socket events. Use this class instead of CAsyncSocket for Windows CE-based socket applications.

One Windows CE feature that is unsupported on Windows-based desktop platforms is the command bar. The command bar is a common control that combines the functionality of a menu bar and a toolbar. It also includes the standard Windows Close (X) button and, optionally, the Help (?) button and the OK button. This control is very useful for devices with small displays. MFC for Windows CE supports command bars with the CCeCommandBar class. For more information about command bars in MFC for Windows CE, see Control Bar Classes.

Windows CE also defines a new window message, WM_HIBERNATE, that notifies an application when system resources are running low. When an application receives this message, it should attempt to release as many resources as possible. Every Windows CE-based application must implement a handler for the WM_HIBERNATE message. Place the handler for the WM_HIBERNATE message in a class derived from CWnd.

For more information on features unique to Windows CE, see the following topics: