CCmdTarget is the parent class for the Microsoft Foundation Class Library message-map architecture. A message map routes commands or user messages to the member functions developers write to handle them. A command is a message from a menu item, command button, or accelerator key. These messages are generated when user does any activities with input devices or sometimes it comes from the backend of GUI server as operating system events.

Major framework classes derived from CCmdTarget include, CWinApp, CWnd, and CFrameWnd and CDocument, CView. Developers need not to derive classes from CCmdTarget to handle messages. However the above classes are already derived from CCmdTarget and available in MFC framework. So a class derived from CCmdTarget directly and getting used in an application is rarely.

Command or messages are routed through OnCmdMsg which is the main function in CCmdTarget. This mechanism is also known as Command Routing or message routing.

CCmdTarget includes member functions that handle the display of an hourglass cursor. Display the hourglass cursor when you expect a command to take a noticeable time interval to execute.

Dispatch maps, similar to message maps, are used to expose OLE automation IDispatch functionality. By exposing this interface, other applications (such as Visual Basic) can call into your application.

About our authors: Team EQA

Further readings

Where is WinMain() function in MFC application ?

MFC hides WinMain in its framework and includes source file on WinMain(). This explains how framework calls global CWinApp::Initinstance() from entry WinMain.

What is the utility of CWinApp class?

This is constructed during global C++ objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the ...

Basic steps in Win32 GUI Application with source code.

Define a custom Window class structure, Register the class name, CreateWindow, Show windows and write message get and dispatch loop statements. Define the Window CallBack procedure and write the handlers.

What is a Window CallBack procedure and what is its utility?

DispatchMessage() is a API which indirectly triggers the Window CallBack procedure. Message structure members from this function are passed to the CallBack procedure. CallBack procedure should implement event handlers depending on the need of the application.

What are LPARAM and WPARAM in window proc function?

LPARAM and WPARAM are the two parameters in Window CallBack procedure. They signifies parameters of various events. They are used in handing individual events.

What are the basic steps of a typical MFC based application?

We need to write WinMain and need to follow all these in a Win32 application. However we need not to write much if we are writing an application with MFC ...