Objective Chart : PART I User’s Guide : Chapter 2 Basic Concepts : Objective Chart Basics
Objective Chart Basics
Objective Chart uses a component-based drawing architecture. Components are display-panel primitives that include attributes that manage background, border, and foreground appearance. Available components provide background panels, titles, labels, legends, and graph displays. Charts are constructed by allocating components of various types, setting desired attributes, and adding the configured components to a list. Data objects are stored in another list.
A serviceable chart can be produced by a few lines of code that create a single display component, select a graph type, and provide some data to be plotted. Objective Chart automatically configures the chart to fit the data. The axes are properly scaled. Lines, bars, and other filled polygons are drawn in various colors and styles according to the amount of data displayed. This configuration is done for each draw cycle, so that the chart responds instantly to changing data and style settings.
More complex, presentation-style charts can be produced by creating additional components. The developer can specify various style settings to enhance the appearance of the chart. Several sample programs are provided to demonstrate the various ways to enhance charts.
End-users can manipulate the components at run time using the Objective Chart Editor or the Chart Wizard. The Chart Editor presents users with a Microsoft Explorer-like way of modifying existing charts; the new Chart Wizard provides an even more interactive way to configure graphs. The results of changes are displayed immediately. Users can easily experiment with various chart and axis types to determine the best combination for representing the data.
If the provided classes do not support a desired feature, you can easily add a new, custom graph type by overriding a few virtual functions.
Where possible, Objective Chart takes advantage of advanced MFC features such as the Document/View architecture. When a chart is displayed in a view window, it can use the mouse-related messages to perform interactive actions like data zooming, highlighting, dragging, and providing feedback via chart tips. However, charts may be displayed in any CWnd-based window object including dialogs, button controls, and Objective Grid cells.