With The Case Of  Release The Power OF  Visual C++ !   Home Products | Purchase Support | Downloads  
Download Evaluation
Pricing & Purchase?
E-XD++Visual C++/ MFC Products
Features Tour 
Electronic Form Solution
Visualization & HMI Solution
Power system HMI Solution
CAD Drawing and Printing Solution

Bar code labeling Solution
Workflow Solution

Coal industry HMI Solution
Instrumentation Gauge Solution

Report Printing Solution
Graphical modeling Solution
GIS mapping solution

Visio graphics solution
Industrial control SCADA &HMI Solution
BPM business process Solution

Industrial monitoring Solution
Flowchart and diagramming Solution
Organization Diagram Solution

Graphic editor Source Code
UML drawing editor Source Code
Map Diagramming Solution

Architectural Graphic Drawing Solution
Request Evaluation
VX++ Cross-Platform C/C++
ActiveX COM Products
Technical Support
  General Q & A
Discussion Board
Contact Us


Get Ready to Unleash the Power of UCanCode .NET

[ First | Prev | Next | Last ]

Shape Essentials

1 CFODrawShape

CFODrawShape is the base class for all visual Shapes and components in XD++. A Shape has properties, two-dimensional bounds, and can draw itself onto a device context. Every Shape is associated with a unique name and Shape type. 

The CFODrawShape class is derived from FOIUnknown

2 Shape Name

Each Shape has a name that distinguishes from the other Shapes on the form. 

3 Type

This identifies the type of Shape. The type is set for primitive Shapes. For example, a button Shape is automatically assigned a type of FO_CUSTOM_COMP, You can change the type of a Shape by calling its SetType() method.

4 Caption

Every Shape has a Caption. By default, the Caption is the same as the name. You can set the name through the Shape's SetObjectCaption() method.

5 Shape Properties

Each Shape can have zero or more properties associated with it. Properties help to define the appearance and behavior of a Shape. Property values are stored as a list of pointers to property value objects, which are instances of classes derived from CFOBaseProperties.

Developers can add their own custom properties to a class of Shapes.

6 Control Points

There are nine control points on a Shape. They are situated around the Shape's bounding box: one on each corner, one halfway along each side, plus there is one in the center of the Shape.

7 Handles

The grab handles appear on a Shape when it is selected by the end-user. These handles allow the end-user to see what is selected and then scale the Shape or move its vertices.

On most Shapes, the grab handles are the eight control points around the edges of the bounding box. 

8 Bullets (new)

The bullets appear when there are some hierarchies and menu items in each hierarchy ,to make clear relationship between items ,we use bullets just like in office software.

9 User Data

A Shape also has a generic CObject pointer that you can set to hold anything you like. There is no specific use for this pointer other than to allow the programmer to associate application specific data with a Shape. The object assigned to the user data pointer must be derived from CObject and support MFC serialization.

10 Region

Each Shape knows the amount of logical space it fills as defined by the canvas. The regions of a Shape's children are combined with its own to form one logical region. This region is used extensively for hit testing and screen invalidation. The bounding box for a Shape is calculated from this region object.

Current XD++ ships with the following basic drawing Shapes, you can create your own Shape using XD++ Class Generator.

11.Basic Drawing Shapes

(Includes drawing basic shape (Line, Bezier Line, Rectangle, Ellipse etc), and normal link line, corner link line, UpRight link line and Bezier link line)

12.Custom shapes

Add over 50 custom Shapes, as following:

13.Composite Shapes:

With E-XD++ Enterprise Suite, there are more than 1000 composite shapes are shipped, as below:

For Visual C++ 6.0, Visual 7.0, Visual 7.1, Visual C++ 8.0, Visual C++ 10.0, Visual C++ 11.0

You can create composite shape with shapedesigner application ships with full source kit.

Class Name


CFOButtonShape Button Shape.
CFOCalendarShape Calendar Shape.
CFOCheckShape CheckBox Shape.
CFOComboBoxShape ComboBox Shape.
CFOEditBoxShape EditBox Shape.
CFOEditWithButtonShape EditBox with a select button Shape.
CFOFrameShape Frame Window Shape.
CFOHorzScrollBarShape Horizontal ScrollBar Shape.
CFOImageShape Image Shape.
CFOListBoxShape ListBox shape.
CFOListCtrlShape ListCtrl Shape.
CFOMarqueeShape Marquee Shape.
CFOProgressCtrlShape ProgressCtrl Shape.
CFORadioShape RadioBox shape.
CFORoundButtonShape RoundButton Shape.
CFOSeparatorShape Separator Shape.
CFOSliderShape Slider shape.
CFOSpinEditShape EditBox with spinctrl Shape.
CFOStaticShape Static Text Shape.
CFOStaticRectShape Static rectangle Shape.
CFOTabShape Tab Shape.
CFOVertScrollBarShape Vertical scrollbar Shape.

[ First | Prev | Next | Last ]

Ask any questions by MSN: Yahoo:


Copyright ?1998-2022 UCanCode.Net Software , all rights reserved.
Other product and company names herein may be the trademarks of their respective owners.

Please direct your questions or comments to