New V6 Charting Features for .NET, ActiveX, MFC Library, VCL
This section contains information about new features for version 6.0.
Brief Introduction of Key Improvements
Version 6’s primary enhancements involve three fundamental and global changes: 1) Text handling, 2) Core graphical rendering, and 3) a new dependency on GDI+. These features globally involved the implementation of all existing features and thus required the largest proportion of work in producing the version 6.0 update. ProEssentials v6 now provides the best of both worlds. GDI rendering when speed and metafile compatibility is required. GDI+ rendering when maximum visual quality is required. Setting the new RenderEngine property to GdiPlus allows for stunning visuals and maximum artistic creativity in producing your charts.
1) Version 6 is built Unicode which is different from previous versions which were built MBCS.
C++ developers porting to v6 may require attention with respect to character handling. Generally, this is as simple as declaring any char variables as TCHAR and wrapping any literal strings with TEXT macro (exp: TEXT(“hello”)) and compiling with the UNICODE pragma defined. For C++ developers not wanting to deal with WideChar strings, directly calling functions like PEszsetA instead of PEszset will automatically convert your short char data to Unicode as stored internally. Similarly PEszsetW calls a WideChar version directly. But normally the UNICODE pragma will handle such issues.
.NET developers will have improved internationalization support with ProEssentials v6.
Even though v6 is built UNICODE, ProEssentials still contains standard metafile export capability and metafiles (WMF) do not inherently support Unicode. So we've added CodePage and WideCharToMultiByte properties to work in conjunction with CharSet to allow the necessary automatic conversion of string data from Unicode to MultiByte when necessary. This should only be a concern if working with Multi-Byte character sets such as Far-East languages and you want to support Standard Metafile exports.
2) Version 6 needed a fundamental change in rendering to support GDI+ while simultaneously supporting legacy GDI. Gigasoft also wanted to support such features as thick dashed lines which was previously not possible as v5 and earlier were purely GDI/Metafile compatible. Version 6 introduces a new property called…
RenderEngine
|
PERE_GDI 0
|
Legacy Rendering, Pure GDI/Metafile compatibility
|
|
PERE_HYBRID 1
|
(New Default) Proprietary rendering with support for GDI thick dashed lines, and optional Anti-Aliased text. A mixture of GDI and GDI+ calls will be used if Anti-Aliasing is enabled. This mode only support Anti-Aliasing text. All other non textual graphical output will be GDI.
|
|
PERE_GDIPLUS 2
|
Proprietary rendering with all graphical commands outputted as GDI+. Anti-Aliasing Text and Graphics is supported. Colors are represented as 32bit with the alpha channel being interpreted.
|
Related to RenderEngine , is…
AntiAliasText
|
TRUE
|
Text is Anti-Aliased if RenderEngine is Hybrid or GdiPlus. See TextRenderingHint
|
|
FALSE
|
Text is not Anti-Aliased
|
AntiAliasGraphics
|
TRUE
|
Graphics are Anti-Aliased if RenderEngine is GdiPlus
|
|
FALSE
|
Graphics are not Anti-Aliased
|
This new rendering technology requires a potential change when porting older code that plays ProEssentials’ based metafiles. If RenderEngine is not PERE_GDI, then you must replace any Windows calls of PlayMetafile with our new function PEplaymetafile. Most likely customers are playing our metafile as part of custom printing logic. If you developed your own custom printing logic with v5 or earlier, then you must either set RenderEngine to PERE_GDI (as it defaults to PERE_HYBRID) or replace any PlayMetafile calls with PEplaymetafile.
3) GDI+ [GdiPlus.Dll] is now a dependency. Version 6 gets its image import/export and gradient logic from GDI+. So even if not using RenderEngine set to Hybrid or GDI+, GDI+ is still required. Version 6 replaces it's JPEG and PNG features with a new graphics engine as Version 5's PNG rendering was problematic on certain system.
Potentials to Break Code:
Version 6 does contain a few fundamental changes that may need addressing when porting.
1) As noted above, printing logic that calls PlayMetafile, will need to call the new ProEssentials DLL call PEplaymetafile in replace of PlayMetafile. The calls are very similar, but enable advanced rendering that the older PlayMetafile can not support. If the RenderEngine property is set to the PERE_GDI, then printing logic will not need to be altered.
2) .NET developers who used the functions GetRectGraph or GetRectAxis may need to slightly alter their logic based on the returned coordinates as v5 had a bug which was left unfixed until v6 to reduce the possibility of problems from upgrading to a new minor release. If using these functions, be sure to test your logic related to these calls.
Feature Expansions:
The following features have been expanded.
1) Multple Axes now support 16 axis sections, each with left / right axes, for a total of 32 multi-axis support.
2) Table Annotations now support 60 table annotations, as well as new pixel based locations moveable by user and a paragraph textmode.
3) New Enhanced Metafile, Enhanced Plus Metafile, and SVG export features.
New Global Properties applicable to all controls: Graph, Scientific Graph, 3D Graph, Polar, and PieChart.
|
AnisotropicSupport
|
We added this property so developers can set to TRUE when placing one of our ActiveX controls within an MS Access Report. This property causes the control to draw itself within the MM_ANISOTROPIC mapping mode. It may be likely that other report writers or other containers may prefer this property being set to TRUE when embedding our controls into a report or container. Though, only set to True if experiencing problems.
|
|
AntiAliasGraphics
|
Graphics can now be Anti-Aliased if RenderEngine is set to GdiPlus
|
| AntiAliasText |
Text can now be Anti-Aliased if RenderEngine is set to Hybrid or GdiPlus
|
| .NET AppendFromURL |
Call to implement incremental-data / real-time / strip-chart internet updating.
|
| OCX AppendFromURL Method |
Call to implement incremental-data / real-time / strip-chart internet updating.
|
| SDK/DLL PEappendfromURL |
Call to implement incremental-data / real-time / strip-chart internet updating.
|
| BorderTypes |
New thick line border type |
| CharSet |
Needed along with CodePage and WideCharToMultiByte to support Metafile exports containing Multi-Byte strings or special characters. |
| CodePage |
Needed along with CharSet and WideCharToMultiByte to support Metafile exports containing Multi-Byte strings or special characters. |
| WideCharToMultiByte |
Needed along with CharSet and CodePage to support Metafile exports containing Multi-Byte strings or special characters. |
| DataShadowsTranslucent |
If RenderEngine is PERE_GDIPLUS, then when DataShadowsTranslucent is non-zero, shadows are transulent (see-through). |
|
DeskGradientStyle
GraphGradientStyle
|
New gradient styles
LINEAR_BAR_VERTICAL
LINEAR_BAR_HORIZONTAL
LINEAR_BAR_DOWN
LINEAR_BAR_UP
LINEAR_DIAGONAL_DOWN
LINEAR_DIAGONAL_UP
RECTANGLE_CROSS
RECTANGLE_PLUS
RADIAL_CENTERED
RADIAL_BOTTOM_RIGHT
RADIAL_TOP_RIGHT
RADIAL_BOTTOM_LEFT
RADIAL_TOP_LEFT
|
|
EmfBitmapGradients
|
Controls if enhanced metafiles will include background bitmaps and gradients when exporting from the built-in export dialog.
|
|
EmfDC
|
Controls the Device Context used in recording the enhanced metafile when exporting from the built-in export dialog.
|
|
EmfType
|
Controls the format of enhanced metafile when exporting from the built-in export dialog: Gdi, GdiPlus, PlusDual, or PlusOnly.
|
| ExportImageDpi |
ProEssentials v6 adds the ability to control/embed DPI/size info when exporting images. The end user can gain access to this control by default as the ExportImageDpi setting is adjustable within the ProEssentials built-in export dialog. You can prevent the end user from accessing this property by setting HideExportImageDpi to TRUE. |
| ExportImageLargeFont |
This property allows for larger fonts to be produced when exporting metafiles and bitmaps. The end user will be able to adjust this setting within the built-in export dialog if HideExportImageDpi is FALSE |
| HideExportImageDpi |
This property controls the visibility of the ExportImageDpi end-user setting shown within the ProEssentials built-in export dialog. |
| LegendAnnotationType |
New legend annotation types for thick dashed lines and hatched areas. |
| LegendStyle |
New legend style PELS_1_LINE_LEFT_OF_AXIS (5) |
| .NET LoadFromURL |
Call to update the entire state of a control via the internet.
|
| OCX LoadFromURL Method |
Call to update the entire state of a control via the internet.
|
| SDK/DLL PEloadfromURL |
Call to update the entire state of a control via the internet.
|
| OneLegendPerLine |
Set to True to force one line per legend when LegendStyle is set to PELS_1_LINE. V6 now support longer subset labels so this property visually helps when one subset has an extra long label and other subsets have shorter labels. |
| PrintDpi |
Printing via a prepared bitmap is a new default approach to printing in version 6. With the addition of GdiPlus calls, our testing has found some printers do not render GdiPlus commands adequately. Preparing as a bitmap represents a more consistent method of printing. It also has the advantage of making dotted lines more visible on 1200 DPI printers. |
| PrintTechnology |
This property controls how the chart's image is prepared as a bitmap and sent to the printer when PrintDpi is non-zero. We added this feature to allow the developer to choose whether to use GdiPlus or Gdi. Ideally, GdiPlus is the best approach as this sends less data to the printer, however, GdiPlus may pose problems with some printers and this is why we offered this technology as an option. |
| HidePrintDpi |
This property controls the visibility of the PrintDpi end-user setting now shown within the ProEssentials built-in print dialog. |
| ProcessingMouseMove |
Read within a MouseMove event to learn if any ProEssentals based logic is also processing the mouse move event. |
| QuickStyle |
Styles were changed to take advantage of new background gradients. |
| RenderEngine |
New global rendering technology supports alpha-blending and anti-aliased text and graphics. |
| RenderedImageType |
Version 6 adds SVG to the existing PNG and JPG rendering types. |
| SDK/DLL PEplaymetafile |
New function to send graphic commands to a Device Context when RenderEngine is set to Hybrid or GdiPlus. |
| SDK/DLL PERGB(a,r,g,b) |
SDK/DLL developers, use this new macro to produce 32 bit colors for use with RenderEngine = GdiPlus.
ActiveX developers use Pego1. PEargb().
.NET developers use Color.FromArgb() |
| TABold |
New property array to control bolding of individual table annotation cell text. |
| TABorder |
New thick line border |
| TAFontSizeFixed |
Set to True to disable the auto-fitting logic which attempts to force table annotation text to fit inside chart. Generally use with caution, when the chart is not sized by the user, or when you don't care if text overlaps. |
| TAItalic |
New per cell control to italic cell text |
| TALocation |
New table annotation pixel based location: InsidePixelUnits |
| TAMoveable |
New feature to enable user to move table annotation when TALocation is set to InsidePixelUnits. If TATextMode is True, user can also size table. |
| TATextMode |
Set to True, and also set TARows=1 and TAColmumns=1, to create a paragraph annotation with auto word wrap and built-in sizing and moving. |
| TAType |
New annotation types for thick dashed lines and hatched areas. |
| TAUnderline |
New per cell control to underline cell text |
| TAWidth |
Used with new TALocation / InsidePixelUnits to control width of table |
| TAX |
Used with new TALocation / InsidePixelUnits |
| TAY |
Used with new TALocation / InsidePixelUnits |
| TextRenderingHint |
Controls the algorithm used to anti-alias text when AntiAliasText is True and RenderEngine is Hybrid or GdiPlus.
|
| TruncateTitles |
Set to True to enable the chart to shorten the MainTitle/SubTitle rather than shrinking the font size to an un-legible size. |
|
.NET GetRectTA
|
.NET method to retrieve coordinates of moveable table annotation. Read within a TAMoved event to learn location. |
|
OCX GetRectTA
|
OCX method to retrieve coordinates of moveable table annotation. Read within a TAMoved event to learn location. |
| SDK/DLL PEP_rectTA |
SDK/DLL developers, use with PEvget to retrieve coordinates of moveable table annotation within a PEWN_TAMOVED notifcation event. |
| .NET PeTAMoved |
.NET event for handling moving/sizing a table annotation. |
| OCX TAMoved |
OCX event for handling moving/sizing a table annotation. |
|
PEWN_TAMOVED
PEWN_TASIZEDLEFT
PEWN_TASIZEDRIGHT
|
Used in an SDK/DLL implementation to be notified when user moves and sizes a table annotation.
.NET and ActiveX developers have a new TAMoved event. |
|
PEP_nMOVINGTABLEANNOTATION
PEP_nSIZINGTABLEANNOTATIONL
PEP_nSIZINGTABLEANNOTATIONR
|
Used in an SDK/DLL implementation to retrieve data related to the new PEWN_TAMOVED table annotation movement notification message.
.NET and ActiveX developers have a new TAMoved event to handle this data. |
New Graph, Scientific Graph Properties
| AllowZooming |
AllowZooming has been enhanced to optionally use middle button to control built-in zooming. New enumerations are:
PEAZ_HORIZONTAL_MB
PEAZ_VERTICAL_MB
PEAZ_HORZANDVERT_MB
|
| AutoMinMaxPaddingRY |
This property represents the percentage added above and below the automatically determined range for the right y axis when Grid.Configure.ManualScaleControlRY is set to None(automatic). |
| AutoMinMaxPaddingY |
This property represents the percentage added above and below the automatically determined range for the y axis when Grid.Configure.ManualScaleControlY is set to None(automatic). |
| AutoPadBeyondZeroRY |
The default is FALSE so AutoMinMaxPaddingRY will not cross a zero origin when choosing padding values. Set to True to allow the padding to potentially extend beyond the zero origin for the right y axis. |
| AutoPadBeyondZeroY |
The default is FALSE so AutoMinMaxPaddingY will not cross a zero origin when choosing padding values. Set to True to allow the padding to potentially extend beyond the zero origin for the y axis. |
| AxisForeColor |
This property allows per axis control of the data area foreground color (grid lines and default color for annotation text.) |
| AxisBackColor |
This property allows per axis control of the data area background color. |
| AxisBorderType |
Provides per axis control of the axis type. |
| AxisNumericFormatRY |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the right y axis. |
| AxisNumericFormatY |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the y axis. |
| ClipAxesInMetafiles |
When set to True, causes metafile creation to data-clip axes. Data outside the axes is hidden behind the section between axes or hidden on the edge of axes. Useful when exporting metafiles and you want to preserve some sort of clipping as metafiles do not inheriently support clipping as they are resolution independent. |
| GraphAnnotationBold |
Control bold font style per annotation |
| GraphAnnotationFont |
Control font facename per annotation |
| GraphAnnotationFontSize |
Control font size per annotation. Set from 0.35 to 2.0 |
| GraphAnnotationInFront |
Per annotation control of annotation position and visibility. |
| GraphAnnotationItalic |
Control italic font style per annotaton |
| GraphAnnotationUnderline |
Control underline font style per annotation |
| GraphAnnotationShadow |
This optional property controls whether individual annotations contain a drop-shadow. If not defined and left empty, no drop-shadows will be drawn. |
| GraphAnnotationShadows |
This property determines whether graph annotation drop-shadows defined with GraphAnnotationShadow are shown.
|
|
GraphAnnotationType
|
New graph annotations: types with thick dashes, hatching, and vector and arrow types that automatically draw the arrow portions...
PEGAT_MEDIUMTHINDASH
PEGAT_MEDIUMTHINDOT
PEGAT_MEDIUMTHINDASHDOT
PEGAT_MEDIUMTHINDASHDOTDOT
PEGAT_MEDIUMDASH
PEGAT_MEDIUMDOT
PEGAT_MEDIUMDASHDOT
PEGAT_MEDIUMDASHDOTDOT
PEGAT_MEDIUMTHICKDASH
PEGAT_MEDIUMTHICKDOT
PEGAT_MEDIUMTHICKDASHDOT
PEGAT_MEDIUMTHICKDASHDOTDOT
PEGAT_THICKDASH
PEGAT_THICKDOT
PEGAT_THICKDASHDOT
PEGAT_THICKDASHDOTDOT
PEGAT_EXTRATHICKDAS
PEGAT_EXTRATHICKDOT
PEGAT_EXTRATHICKDASHDOT
PEGAT_EXTRATHICKDASHDOTDOT
PEGAT_RECT_MEDIUMDASH
PEGAT_RECT_MEDIUMDOT
PEGAT_RECT_MEDIUMDASHDOT
PEGAT_RECT_MEDIUMDASHDOTDOT
PEGAT_RECT_THICKDASH
PEGAT_RECT_THICKDOT
PEGAT_RECT_THICKDASHDOT
PEGAT_RECT_THICKDASHDOTDOT
PEGAT_ROUNDRECT_MEDIUMDASH
PEGAT_ROUNDRECT_MEDIUMDOT
PEGAT_ROUNDRECT_MEDIUMDASHDOT
PEGAT_ROUNDRECT_MEDIUMDASHDOTDOT
PEGAT_ROUNDRECT_THICKDASH
PEGAT_ROUNDRECT_THICKDOT
PEGAT_ROUNDRECT_THICKDASHDOT
PEGAT_ROUNDRECT_THICKDASHDOTDOT
PEGAT_ELLIPSE_MEDIUMDASH
PEGAT_ELLIPSE_MEDIUMDOT
PEGAT_ELLIPSE_MEDIUMDASHDOT
PEGAT_ELLIPSE_MEDIUMDASHDOTDOT
PEGAT_ELLIPSE_THICKDASH
PEGAT_ELLIPSE_THICKDOT
PEGAT_ELLIPSE_THICKDASHDOT
PEGAT_ELLIPSE_THICKDASHDOTDOT
PEGAT_ENDPOLYLINE_MEDIUMDASH
PEGAT_ENDPOLYLINE_MEDIUMDOT
PEGAT_ENDPOLYLINE_MEDIUMDASHDOT
PEGAT_ENDPOLYLINE_MEDIUMDASHDOTDOT
PEGAT_ENDPOLYLINE_THICKDASH
PEGAT_ENDPOLYLINE_THICKDOT
PEGAT_ENDPOLYLINE_THICKDASHDOT
PEGAT_ENDPOLYLINE_THICKDASHDOTDOT
PEGAT_RECT_HATCH_HORIZONTAL
PEGAT_RECT_HATCH_VERTICAL
PEGAT_RECT_HATCH_FDIAGONAL
PEGAT_RECT_HATCH_BDIAGONAL
PEGAT_RECT_HATCH_CROSS
PEGAT_RECT_HATCH_DIAGCROSS
PEGAT_ROUNDRECT_HATCH_HORIZONTAL
PEGAT_ROUNDRECT_HATCH_VERTICAL
PEGAT_ROUNDRECT_HATCH_FDIAGONAL
PEGAT_ROUNDRECT_HATCH_BDIAGONAL
PEGAT_ROUNDRECT_HATCH_CROSS
PEGAT_ROUNDRECT_HATCH_DIAGCROSS
PEGAT_ELLIPSE_HATCH_HORIZONTAL
PEGAT_ELLIPSE_HATCH_VERTICAL
PEGAT_ELLIPSE_HATCH_FDIAGONAL
PEGAT_ELLIPSE_HATCH_BDIAGONAL
PEGAT_ELLIPSE_HATCH_CROSS
PEGAT_ELLIPSE_HATCH_DIAGCROSS
PEGAT_ENDPOLYGON_HATCH_HORIZONTAL
PEGAT_ENDPOLYGON_HATCH_VERTICAL
PEGAT_ENDPOLYGON_HATCH_FDIAGONAL
PEGAT_ENDPOLYGON_HATCH_BDIAGONAL
PEGAT_ENDPOLYGON_HATCH_CROSS
PEGAT_ENDPOLYGON_HATCH_DIAGCROSS
PEGAT_VECTOR_SMALL
PEGAT_VECTOR_MEDIUM
PEGAT_VECTOR_LARGE
PEGAT_ARROW_SMALL
PEGAT_ARROW_MEDIUM
PEGAT_ARROW_LARGE
PEGAT_POINTER_VECTOR_SMALL
PEGAT_POINTER_VECTOR_MEDIUM
PEGAT_POINTER_VECTOR_LARGE
PEGAT_POINTER_ARROW_SMALL
PEGAT_POINTER_ARROW_MEDIUM
PEGAT_POINTER_ARROW_LARGE
|
| GraphAnnotMinSymbolSize |
Enables and controls the size of the minimum graph annotation symbol size. This property is helpful when using small charts and need to maintain a minimum symbol size. |
| PeGraphAnnotationMoved |
New .NET event when user drags a moveable graph annotation. |
| GraphAnnotationMoved |
New ActiveX/VCL event when user drags a moveable graph annotation. |
|
PEWN_GRAPHANNOTATIONMOVED
PEP_nGRAPHANNOTATIONMOVED
|
New property and notfication message used by SDK/DLL developer in response to user dragging a moveable graph annotation. |
| HorzLineAnnotationInFront |
Per annotation control of horizontal line annotation position and visibility. |
| LegendStyle |
New style of PELS_1_LINE_LEFT_OF_AXIS to place legends left of individual axis regions. |
| LineShadows |
By default, disabled. Set to True to add a drop shadow effect to line plotting methods. The shadow effect is very subtle and helps with contrast. |
|
MultiAxesSubsets
|
New support for 16 axes
|
| MultiAxesProportions |
New support for 16 axes |
| OverlapMultiAxes |
New support for 16 axes |
| PlottingMethod |
New Demographic Pyramid, Line Stacked, Line Stacked Percent, and others coming . See example 022, 035. |
| PlottingMethods |
New High-Low-Area, Line Stacked, Line Stacked Percent, and others coming. See example 022. |
| SpecificPlotMode |
New High-Low-Area plotting style. See example 136. |
| PointColorLineAdj |
If PointColorLineAdj is 1, then alters how PointColors effects the color of line segments and point symbols. Line segment before point is colored vs line segment after point is colored. |
| RandomSubsetsToGraph |
Now controls order of subsets |
|
SubsetLineType
HorzLineAnnotationType
VertLineAnnotationType
|
New Line styles: Only valid when RenderEngine = Hybrid or GdiPlus.
MEDIUMTHINDASH
MEDIUMTHINDOT
MEDIUMTHINDASHDOT
MEDIUMTHINDASHDOTDOT
MEDIUMDASH
MEDIUMDOT
MEDIUMDASHDOT
MEDIUMDASHDOTDOT
MEDIUMTHICKDASH
MEDIUMTHICKDOT
MEDIUMTHICKDASHDOT
MEDIUMTHICKDASHDOTDOT
THICKDASH
THICKDOT
THICKDASHDOT
THICKDASHDOTDOT
EXTRATHICKDASH
EXTRATHICKDOT
EXTRATHICKDASHDOT
EXTRATHICKDASHDOTDOT
|
|
ShowMargins
|
Controls when margin properties (LeftMargin, TopMargin, RightMargin, BottomMargin) are considered as part of the image.
|
|
SubsetsToShow
|
New feature to control order and visibility of subsets.
|
| TM Structure |
The TM structure now has a nMilliSecond field. If porting v5 or earlier code that uses the TM structure, you should account for this new field. See DateTimeMilliSeconds below. |
| TruncateXAxisLabels |
Set to True to enable the chart to shorten the XAxisLabel rather than shrinking the font size to an un-legible size. |
| TruncateYAxisLabels |
Set to True to enable the chart to shorten the YAxisLabel rather than shrinking the font size to an un-legible size. |
| VertLineAnnotationInFront |
Per annotation control of vertical line annotation position and visibility. |
| WorkingAxesToGraph |
Read only property array, to determine the current axes being graphed. Zooming or adjusting RandomSubsetsToGraph can alter which axes get graphed. This feature is necessary for those developers wanting to create logic that interfaces with ProEssentials built-in zooming or use of Subsets tab within Customization dialog. |
| WorkingAxis |
New support for 16 axes |
| YAxisOnRight |
Horizontal Bars and Demographic Pyramid charts now support the YAxisOnRight feature. This places the primary axis on the bottom rather on the top. |
| YAxisLineLimit |
If non-zero, this property controls the maximum number of major y axis grid lines attempted when ManualYAxisTicknLine is False. |
| RYAxisLineLimit |
If non-zero, this property controls the maximum number of major right y axis grid lines attempted when ManualRYAxisTicknLine is False. |
| YAxisWholeNumbers |
If True, y axis major grid lines will only be located at whole numbers. Helpful when charting discrete data and decimals on grid line labels are not desired. |
| RYAxisWholeNumers |
If True, right y axis major grid lines will only be located at whole numbers. Helpful when charting discrete data and decimals on grid line labels are not desired. |
| ZoomLimits |
Improvements in providing a user interface allowing end-user to draw onto the chart. Improves ZoomInterfaceOnly functionality when working with a multiple y axis chart. |
New 3D Graph Properties
New Graph Annotation features and various other Graph / Scientific Graph features apply to the 3D Scientific Graph.
| AutoMinMaxPaddingZ |
This property represents the percentage added above and below the automatically determined range for the z axis when Grid.Configure.ManualScaleControlZ is set to None(automatic). |
| AutoPadBeyondZeroZ |
The default is FALSE so AutoMinMaxPaddingZ will not cross a zero origin when choosing padding values. Set to True to allow the padding to potentially extend beyond the zero origin for the z axis. |
| AxisNumericFormatZ |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the z axis. |
| BottomMargin |
Text used to calculate a quantity of space to reserve near bottom of chart. Provides extra room for annotation text, SubsetLabels, and PointLabels. Define a representative string if text is getting truncated near bottom of chart.
Related Note: Version 6 has improved 3D rendering by better positioning/fitting the 3D image within the control's real-estate. Now the chart will automatically zoom outward when viewing from above or below to help maintain all data in view. This enhancement required related improvements to the ViewingHeight and ZDistance properties.
|
| ContourLegendPrecision |
Controls an optional maximum precision (number of decimal places) used within legends when showing a Colored Contour Plot. |
| GraphAnnotationType |
New Graph Annotation features and various other Graph / Scientific Graph features apply to the 3D Scientific Graph. |
| GraphAnnotMinSymbolSize |
Enables and controls the size of the minimum graph annotation symbol size. This property is helpful when using small charts and need to maintain a minimum symbol size. |
| SurfaceNullDataGaps |
When set to true will cause 3D surfaces to process NullData values and include gaps in the surface where null data is found. Version 5 and earlier did not recognize null data for surface plots. |
|
PEreconstruct3dpolygons
|
New 3D real-time feature, see examples 410, 411, and 412 within the demo.
|
New Graph Specific Properties
New Scientific Graph Specific Properties
| AutoMinMaxPaddingX |
This property represents the percentage added above and below the automatically determined range for the x axis when Grid.Configure.ManualScaleControlX is set to None(automatic). |
| AutoMinMaxPaddingTX |
This property represents the percentage added above and below the automatically determined range for the top x axis when Grid.Configure.ManualScaleControlTX is set to None(automatic). |
| AutoPadBeyondZeroX |
The default is FALSE so AutoMinMaxPaddingX will not cross a zero origin when choosing padding values. Set to True to allow the padding to potentially extend beyond the zero origin for the x axis. |
| AutoPadBeyondZeroTX |
The default is FALSE so AutoMinMaxPaddingTX will not cross a zero origin when choosing padding values. Set to True to allow the padding to potentially extend beyond the zero origin for the top x axis. |
| AxisNumericFormatX |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the x axis. |
| AxisNumericFormatTX |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the top x axis. |
| ContourLegendPrecision |
Controls an optional maximum precision (number of decimal places) used within legends when showing a Colored Contour Plot. |
| ContourLinesColored |
If PlottingMethod is set to ContourLines, then setting this property True enables the contour lines to be individually colored much like a contour color chart. Else if False, contour lines are all the same color defined by PeColor.GraphForeground. |
| DateTimeMilliseconds |
DateTime mode for the Scientific Graph now support milliseconds. Major grid lines now go down to 1 millisecond rather than 1 second. New property DateTimeMilliSeconds can be set to TRUE so that data prompts and exported data show the millisecond portion of time. |
| XAxisLineLimit |
If non-zero, this property controls the maximum number of major x axis grid lines attempted when ManualXAxisTicknLine is False. |
| TXAxisLineLimit |
If non-zero, this property controls the maximum number of major top x axis grid lines attempted when ManualTXAxisTicknLine is False. |
| XAxisWholeNumbers |
If True, x axis major grid lines will only be located at whole numbers. Helpful when charting discrete data and decimals on grid line labels are not desired. |
| TXAxisWholeNumers |
If True, top x axis major grid lines will only be located at whole numbers. Helpful when charting discrete data and decimals on grid line labels are not desired. |
New Polar/Smith Chart Properties
| AutoMinMaxPaddingRY |
This property represents the percentage added above and below the automatically determined range for the right y axis when Grid.Configure.ManualScaleControlRY is set to None(automatic). |
| AutoMinMaxPaddingY |
This property represents the percentage added above and below the automatically determined range for the y axis when Grid.Configure.ManualScaleControlY is set to None(automatic). |
| AxisNumericFormatRY |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the right y axis. |
| AxisNumericFormatY |
The default is to place symbols such as K(thousand), M(illiion), B(illion) on large or small numbers (see ScaleSymbols.) This feature allows for exponential notation on the y axis. |
| GraphAnnotationShadow |
This optional property controls whether individual annotations contain a drop-shadow. If not defined and left empty, no drop-shadows will be drawn. |
| GraphAnnotationShadows |
This property determines whether graph annotation drop-shadows defined with GraphAnnotationShadow are shown.
|
| GraphAnnotationType |
See above Graph / Scientific Graph Annotation features. |
| GraphAnnotMinSymbolSize |
Enables and controls the size of the minimum graph annotation symbol size. This property is helpful when using small charts and need to maintain a minimum symbol size. |
| LineShadows |
By default, disabled. Set to True to add a drop shadow effect to line plotting methods. The shadow effect is very subtle and helps with contrast. |
| PointColorLineAdj |
If PointColorLineAdj is 1, then alters how PointColors effects the color of line segments and point symbols. Line segment before point is colored vs line segment after point is colored. |
|
PolarScaleAlternative
|
PolarScaleAlternative is a new feature to alter how Polar Charts handle negative data. By default negative values are offset by 180 degrees. Setting this property to 1 will cause negative data to be plotted at the center of polar chart.
|
| RandomSubsetsToGraph |
Now controls order of subsets |
|
SubsetsToShow
|
New feature to control order and visibility of subset
|
New PieChart Specific Properties
| ManualRadius |
ManualRadius allows multiple pie chart controls to achieve the same radius. |
| ShowPieLabels |
New setting, ShowPieLabels = 3 will hide all slice labels. This is useful when ShowPieLegend = True. |
New Functions
| PEcopyemftoclipboard |
Exports an Enhanced Metafile or Enhanced Plus Metafile (supporting GdiPlus) to the clipboard.
.NET developers, see PeFunction.Image.EmfToClipboard
Ocx|Vcl developers, see the PEcopyemftoclipboard method.
Delphi developers, call this function as defined within PEGRPAPI.PAS
|
| PEcopyemftofile |
Exports an Enhanced Metafile or Enhanced Plus Metafile (supporting GdiPlus) to a file.
.NET developers, see PeFunction.Image.EmfToFile
Ocx|Vcl developers, see the PEcopyemftofile method.
Delphi developers, call this function as defined within PEGRPAPI.PAS
|
| PEcopyemftohglobal |
Returns a HGLOBAL representing a global memory object holding EMF byte data.
.NET developers, see PeFunction.Image.EmfToStream
Ocx|Vcl developers, see the EmfToStream method.
Delphi developers, call this function as defined within PEGRPAPI.PAS
|
| PEgetenhancedmeta |
This function returns a handle to an Enhanced Metafile (HENHMETAFILE). Generally a low level call used with PlayEnhMetafile API call to send image to any device context as needed.
.NET developers, see PeFunction.GetEnhancedMeta
OCX/ActiveX developers, see PEgetenhancedmeta Method.
Delphi developers, call this function as defined in PEGRPAPI.PAS
|
| PEprintgraph |
v6 modifies the existing PEprintgraph function by removing the hDC argument. If porting earlier code that uses this function, a slight modification will be needed (removing the hDC argument.) The addition of PEprintgraphEx below improves sending chart content to a hDC target device context. |
| PEprintgraphEx |
This function sends GDI or GDIPLUS commands to the target device context (hDC) to place the object's image within the printer's page at the size and position specified. The current state of PrintDpi and PrintTechnology properties will control which system calls are used to transfer the image. This function simplies low-level printing by eliminating the details of calling Windows API calls to play the metafile handle or BitBlit a prepared bitmap to the printer.
|
| PeFunction.PrintGraphEx |
.NET method of calling the PEprintgraphEx function. |
| PEprintgraphEx OCX Method |
OCX method of calling the PEprintgraphEx function. |
| PEcopypngtohglobal |
Rarely used by end-developers, though an hDC argument was added in v6 to aid in preparing a PNG to be sent to a printer via GdiPlus DrawImage call. Supplying the printer's target hDC helps create the high resolution PNG necessary for printing purposes. |
| PEplaymetafile |
New function to send graphic commands to a Device Context when RenderEngine is set to Hybrid or GdiPlus. |
| PEexporttext |
Performs programmatic function of TextExport dialog without dialog intervention. Sends data/text to the clipboard or file in various formats.
|
|
PeFunction.ExportText
|
.NET method to send data/text to the clipboard or file in various formats. |
| ExportText OCX Method |
OCX method of calling PEexporttext function. |
|
PeFunction.GetRectTA
|
.NET method to retrieve coordinates of moveable table annotation. Read within a PeTAMoved event to learn location. |
|
GetRectTA
|
OCX method to retrieve coordinates of moveable table annotation. Read within a TAMoved event to learn location. |
|
PEreconstruct3dpolygons
|
New 3D real-time feature, see examples 410, 411, and 412 within the demo.
|
| PEchangeresources |
Call this function to change resources (international localization) to the specified file. ProEssentials resources can be found in Chapter 6.
|
| PEcopysvgtofile |
ProEssentials adds SVG support at a very basic level. We do not support interactivity, or other advanced features SVG can potentially offer. Its main advantage is passing large high resolution images via small bandwidth.
|
| PEcopysvgtohglobal |
This function stores an SVG into a global memory object and returns the size of the object. This can be used within low-level server control logic to stream SVG content to a browser, or just get the bits for an SVG image.
|
New Pedo WebForm and Pedo ActiveX controls. Pedo stands for ProEssentialDataObject.
See the included Visual Studio.NET Pe6WebDemos example project for pre-built examples using the Pedo control. See demo folders IEStripChart and GenericData. Also, within the Developer Help File, see Chapter 1: Pedo ProEssentials Data Object for detailed discussions of various examples. The charting WinForm and ActiveX interfaces also contain Pedo type properties used to read data from a Pedo server control.
Designed to aid in internet based strip-charts and data updating without requiring a page refresh. All interfaces, .NET WinForm and WebForm, ActiveX, and DLL can take advantage of these new features. The new Webform control named Pedo (for ProEssentials Data Object) is used to facilitate passing data to the client browser, or client-side WinForm/ActiveX/DLL based application. There is also a Pedo ActiveX that can also server data to a web app or EXE via legacy ASP.
The Pedo Webform control contains a few key properties:
RenderingType which is set to 0-ActiveX, 1-BinaryActiveXStream, or 2-BinaryDataStream
BinaryDataStream: Renders data that is requested by a new AppendFromURL method. WinForms, ActiveXs, and DLL interface all contain an AppendFromURL method. The rendered data is intended to be appended to a chart, without causing a page refresh or flicker, and is designed to work similar to current realtime examples within our demo. We recommend using the ExtraStringData property to pass a date-time stamp along with the new data. Then use a simple QueryString to pass this date-time stamp back to the server upon next data request. This way, the server logic knows how to send all data currently un-sent to this particular chart.
ActiveX and BinaryActiveXStream settings work in conjunction to provide a very simple to use data updating feature. Mostly valuable when you want a very simple way to request some data from a server, without re-submitting a page or causing a page refresh/flicker. Usually a primary aspx page (WebForm1) has a Pedo WebForm with is RenderingType property set to ActiveX and ImageURL property pointing to a second aspx page (WebForm2) which contains a Pedo WebForm with its RenderingType property set to BinaryActiveXStream.
ActiveX: Renders the html ClassID object tag and should be used when Pedo resides on a page to be rendered as client-side html. Related, ImageURL property should be used to point to the secondary aspx page (WebForm2) with a Pedo control with its RenderingType set to BinaryActiveXStream. CodebaseURL property should be set to a CAB file containing the Pedo ActiveX and this CAB file exists on same server in same dir. Pedo.cab is found in the ProEssentials6/WebDevelopment dir. The ImageURL property controls the DATA attribute within the object tag to point to a defined secondary aspx page. The CodebaseURL property controls the CODEBASE attribute within the object tag to point to a CAB file.
BinaryActiveXStream: Renders a persisted binary state of the Pedo ActiveX, purely as a memory signature with no dependency of COM on the server.
New Properties and Functions, within the .NET Reference also see Pego.PeData.Pedo and ProEssentialsWeb.Pedo
The Pedo WebForm, WinForm, ActiveX, and DLL interfaces all share the following new features.
|
Subsets
|
Should be Set first if working with two dimensional property arrays such as XData, YData, ZData, and PointColors. Usually set to match the Subset setting in a chart appending data to. |
Points |
Should be Set first if working with two dimensional property arrays such as XData, YData, ZData, and PointColors. Set to the quantity of new data values to append for each subset. |
SubsetByPoint |
Normally not needed, but should be Set first if working with two dimensional property arrays such as XData, YData, ZData, and PointColors. Usually set to match the chart appending data to. |
DisableAppend |
Optionally set to TRUE to disable appending logic . |
XData |
Holds two dimensional single precision data. |
XDataII |
Holds two dimensional double precision data. |
YData |
Holds two dimensional single precision data. |
YDataII |
Holds two dimensional double precision data. |
ZData |
Holds two dimensional single precision data. |
ZDataII |
Holds two dimensional double precision data. |
PointLabels |
Holds one dimensional PointLabels to append or optional extra data. |
PointColors |
Holds two dimensional color or dword data. |
ExtraStringData |
Holds extra one dimensional string data. |
ExtraDoubleData |
Holds extra one dimensional double precision data. |
ExtraIntegerData |
Holds extra one dimensional integer data. |
| |
|
AppendFromUrl(szURL) |
szURL points to an ASPX with a Pedo control having its RenderingType = BinaryDataStream.
Or szURL points to an ASP page with a Pedo control calling Pedo1.SaveToStream. |
|