ComponentOne Chart 8.0

ComponentOne Chart Overview

ComponentOne Chart 3D Programming Help

Chart Basics

Building a Chart

Programming User Interaction


ComponentOne Chart Overview

2D and 3D Charting in OCX and DLL Formats

2D Chart Control

3D Chart Control

ComponentOne Chart OCX/DLL Control Model


2D and 3D Charting in OCX and DLL Formats

ComponentOne Chart provides a 2D and a 3D chart control that you can use in your Windows applications to provide your users with professional information display and manipulation capabilities. Each control is available as a distinct OCX and DLL custom control for 32-bit Windows applications.

The OCXs have a full object-based API that makes them easy to program with visual development environments like Visual Basic, Visual C++, or Delphi. The DLLs have a C API with MFC and OWL wrappers and can be used with any development environment that supports DLL custom controls.


2D Chart Control

Use the 2D Chart to display data as a bar, X-Y plot, area, stacking bar, pie, radar, filled radar, polar, candle, or combination chart. 2D Chart is optimized for real-time applications displaying rapidly changing data.


3D Chart Control

Use the 3D Chart to create 3D surface, contour, or bar charts that end-users can easily rotate, scale, or zoom interactively. 3D Chart can display 3D data in 15 basic surface or bar appearances and automatically generate contours and zones from the data.


ComponentOne Chart OCX/DLL Control Model

When choosing the control (2D or 3D) and format (OCX or DLL) for your applications, it is useful to understand the functionality and relationship between the DLL and OCX format of each control.

The DLL control is the “charting engine” for both the OCX and DLL. It stores the internal values of the chart’s properties and performs axis calculations and all low-level chart functions. The OCX builds on this charting engine, adding a fully object-based API, support for OLE automation, persistence, and an end-user Property Editor. The following diagram illustrates this relationship.


Quick Start Overview


Overview for OCX Programmers

ComponentOne Chart provides the following sample source code, sample chart description and data files, and documentation, to get you productive with the product as quickly as possible.

 | 2D Chart Location | 3D Chart Location
Demo Launcher | Handy program provides brief explanations about each demo and runs precompiled versions of the demos. The icon is located in the ComponentOne Chart Program Group.
Visual Basic Sample Code | CHART\2D\DEMOS\VB | CHART\3D\DEMOS\VB
Delphi Sample Code | CHART\2D\DEMOS\DELPHI | CHART\3D\DEMOS\DELPHI
Visual C++ Sample Code | CHART\2D\DEMOS\VC | CHART\3D\DEMOS\VC
Sample Charts | CHART\2D\SAMPLES | CHART\3D\SAMPLES
Sample Data | CHART\2D\DATA | CHART\3D\DATA
Documentation | Display context-sensitive online help from Visual Basic’s Object Browser or from the chart’s Property Editor. Online documentation is available as an icon in the ComponentOne Chart program group. The printed 2D / 3D OCX User’s Guide and Programmer’s Manual.

Directory paths are relative to the directory into which you installed ComponentOne Chart.


Quick Start Overview for DLL Programmers

ComponentOne Chart provides the following sample source code, data files, and documentation, to get you productive with the product as quickly as possible.

 | 2D Chart Location | 3D Chart Location
Demo Launcher | Handy program provides brief explanations about each demo and runs precompiled versions of the demos. The icon is located in the ComponentOne Chart Program Group.
Include Files | INCLUDE | INCLUDE
LIB Files | LIB | LIB
Sample Code (SDK, MFC, OWL) | CHART\2D\DEMOS\DLL | CHART\3D\DEMOS\DLL
Sample Data | CHART\2D\DATA | CHART\3D\DATA
Documentation | Printed 2D /3D DLL User’s Guide & Programmer’s Manual Manuals available in Acrobat PDF format on the CD, in the \DLL-DOCS directory. They can be viewed or printed using Adobe Acrobat Reader, freely available from Adobe’s web site at: www.adobe.com/prodindex/acrobat/readstep.html

Directory paths are relative to the directory into which you installed ComponentOne Chart.


Using the Sample Code Makefiles

The makefiles supplied with the sample programs cannot be used as-is because they reference virtual drives. To use these makefiles without editing them, use the DOS SUBST command to create this virtual drive, as shown below:

SUBST X: C:\COMPONENTONE (Windows 95/98/ME/2000 or Windows NT)
Visual C++ V5.0, or 6.0 (32-bit)


Installing ComponentOne Chart

Before You Begin

Be sure that your system and development environment are set up correctly before installing ComponentOne Chart. You must be able to create and run simple Windows applications before attempting to use ComponentOne Chart.

Minimum Requirements for ComponentOne Chart

Installing the ComponentOne Chart

ComponentOne Chart Files Installed

Removing ComponentOne Chart


Minimum Requirements for ComponentOne Chart

The following lists the minimum operating system and development environment version requirements for ComponentOne Chart. ComponentOne Chart does not add to the system requirements of your development environment.

Operating System | Windows 95, 98, ME, 2000 or Windows NT 3.51 or 4.0
OCX Development Environments | Any development environment that supports 32-bit OCX custom controls including: • Visual Basic 4 (32-bit) • Visual Basic 5 • Visual Basic 6 • Visual C++ 5.0, 6.0 • Delphi 4.0, 5.0 Client | Server • C++ Builder 3.0, 4.0
DLL Development Environments | Any development environment that supports 32-bit DLL custom controls including: • Visual C++ 5.0, 6.0 • Borland C++ 5.0 • MFC 4.x, OWL 2.5


Installing the ComponentOne Chart

To install the 32-bit version of ComponentOne Chart:

1.

Start Windows (if not already started). As a precaution, shut down any applications that may be currently running.

2.

If you have a previous version of ComponentOne Chart (OlectraChart) installed on your system, make sure you uninstall it before proceeding with the new installation.

3.

Insert the ComponentOne Chart 8.0 CD-ROM into a drive on your system. The installation program should launch automatically.

4.

In the Setup dialog, click the 32-bit Installation button. The appropriate setup program will start.

Follow the instructions on the screen to select the parts to install and where to install them. If you install either OCX, it is registered automatically.

Note:

If you are using Delphi 3.0 (or later), make sure you remove ComponentOne Chart from the Component Palette before proceeding with the installation.


ComponentOne Chart Files Installed

The setup program installs the product into C:\COMPONENTONE by default. Subdirectories contain the sample code, include files, constants files, and import libraries appropriate to the parts of the product you installed. The following files are placed in your Windows SYSTEM or SYSTEM32 directory if they do not exist or are older, depending on the parts of the product you installed:

OCX Installation

Support Files

OLEPRO32.DLL, COMDLG32.OCX, TABCTL32.OCX

2D Chart OCX

OLCH2X8.OCX

Online Help

OLCH2D8P.CHM, OLCH2D8U.CHM, OLCH2D8U.HLP, OLCH2D8U.CNT, OC2D8API.CHM

3D Chart OCX

OLCH3X8.OCX

Online Help

OLCH3D8P.CHM, OLCH3D8U.CHM, OLCH3D8U.HLP, OLCH3D8U.CNT, OC3D8API.CHM

DLL Installation

2D Chart DLL

OLCH2D8.DLL

3D Chart DLL

OLCH3D8.DLL


Removing ComponentOne Chart

To remove ComponentOne Chart from your system, run the automated “uninstall” program included with the product. Use the “Add/Remove Programs” icon located in the Control Panel.

If the program does not remove all of the files listed in the previous section, you may delete them manually. Take care not to remove support files that are needed by other applications on your system.


Adding the Chart 8.0 Controls to Visual Basic Projects

ComponentOne Chart 8.0 3D is the control used to add 3D Chart functionality to any Visual Basic project.

To use the Chart3D control, it must be added to the Visual Studio Toolbox:

Open the Visual Basic IDE (Microsoft's Integrated Development Environment). Make sure the Toolbox is visible (if necessary, select Toolbox in the View menu).

To set up the Chart3D control to appear on its own tab, right-click anywhere in the Toolbox and select Add Tab from the context menu. Enter a tab name, for example, “Chart3D”, in the dialog box. Select the new tab. Right-click the gray area under that tab and select Components from the context menu. The Components dialog box opens.

In the Components dialog box, find and select ComponentOne Chart 8.0 3D Control. Click OK.


End-User License Agreement

IMPORTANT-READ CAREFULLY: This End User License Agreement (this "EULA") contains the terms and conditions regarding your use of the SOFTWARE (as defined below). This EULA contains material limitations to your rights in that regard. You should read this EULA carefully and treat it as valuable property.

I. THIS EULA.

1.

Software Covered by this EULA. This EULA governs your use of the ComponentOne, LLC ("C1") software product(s) enclosed or otherwise accompanied herewith (individually and collectively, the "SOFTWARE"). The term "SOFTWARE" includes, to the extent provided by C1: 1) any revisions, updates and/or upgrades thereto; 2) any data, image or executable files, databases, data engines, computer software, or similar items customarily used or distributed with computer software products; 3) anything in any form whatsoever intended to be used with or in conjunction with the SOFTWARE; and 4) any associated media, documentation (including physical, electronic and on-line) and printed materials (the "Documentation").

2.

This EULA is a Legally Binding Agreement Between You and C1. If you are acting as an agent of a company or another legal person, such as an officer or other employee acting for your employer, then "you" and "your" mean your principal, the entity or other legal person for whom you are acting. However, importantly, even if you are acting as an agent for another, you may still be personally liable for violation of federal and State laws, such as copyright infringement.

This EULA is a legally binding agreement between you and C1. You intend to be legally bound to this EULA to the same extent as if C1 and you physically signed this EULA. By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms and conditions contained in this EULA. If you do not agree to all of the terms and conditions contained in this EULA, you may not install or use the SOFTWARE. If, for whatever reason, installation has begun or has been completed, you should cancel installation or un-install the SOFTWARE, as the case may be. (You may click on the "exit" button or its equivalent to immediately abort installation.) If you do not agree to all of these terms and conditions, then you must promptly return the SOFTWARE to the place of business from which you obtained it in accordance with any return policies of such place of business. Return policies may vary between or among resellers, and you must comply with your particular reseller's return policies as agreed at the point of purchase. If the place of business from which you purchased the SOFTWARE does not honor a complete refund for a period of thirty (30) days from the date of proof of purchase, then you may return the SOFTWARE directly to C1 for a period of thirty (30) days from the date of your purchase. To return the product directly to C1, you must obtain a C1 Return Authorization Number by contacting C1, and you must forward all items purchased, including the proof of purchase, directly to C1. The return must be postage-prepaid, and post-marked within thirty (30) days from the proof of purchase, time being of the essence. The return option to C1 is only available to the original purchaser of an unopened factory packaged item.

II. YOUR LICENSE TO DEVELOP AND TO DISTRIBUTE.

As provided in more detail below, this EULA grants you two licenses: 1) a license to use the SOFTWARE to develop other software products (the "Development License"); and 2) a license to use and/or distribute the Developed Software (the "Distribution License"). Both of these licenses (individually and collectively, the "Licenses") are explained and defined in more detail below.

1.

Definitions. The following terms have the respective meanings as used in this EULA:

"Network Server" means a computer with one or more computer central processing units (CPU's) that operates for the purpose of serving other computers logically or physically connected to it, including, but not limited to, other computers connected to it on an internal network, intranet or the Internet. "Web Server" means a type of Network Server that serves other computers more particularly connected to it over an intranet or the Internet.

"Developed Software" means those computer software products that are developed by or through the use of the SOFTWARE. "Developed Web Server Software" means those Developed Software products that reside logically or physically on at least one Web Server and are operated (meaning the computer software instruction set is carried out) by the Web Server's central processing unit(s) (CPU). "Developed Legacy Software" means those Developed Software products that are not Developed Web Server Software, including, for example, stand-alone applications and applications accessed by a file server only. "Redistributable Files" means the SOFTWARE files or other portions of the SOFTWARE that are provided by C1 and are identified as such in the Documentation for distribution by you with the Developed Software. "Developer" means a human being or any other automated device using the SOFTWARE in accordance with the terms and conditions of this EULA.

"Developer Seat License" means that each Developer using or otherwise accessing the programmatic interface or the SOFTWARE must obtain the right to do so by purchasing a separate End User License. "Network Server CPU License" means that a separate End User License must be purchased for each CPU operating the computer software at issue in the reference.

“Source Code” shall mean computer software code or programs in human readable format, such as a printed listing of such a program written in a high-level computer language. The term "Source Code" includes, but is not limited to, documents and materials in support of the development effort of the SOFTWARE, such as flow charts, pseudo code and program notes.

2.

Your Development License. You are hereby granted a limited, royalty-free, non-exclusive right to use the SOFTWARE to design, develop, and test Developed Software, on the express condition that, and only for so long as, you fully comply with all terms and conditions of this EULA.

The SOFTWARE is licensed to you on a Developer Seat License basis.

The Developer Seat License means that you may perform a single install of the SOFTWARE for use in designing, testing and creating Developed Software by a single Developer on a single computer with a single set of input devices, so long as such computer is used only by one Developer. Conversely, you may not install or use the SOFTWARE on a computer that is a network server or a computer at which the SOFTWARE is used by more than one Developer. You may not network the SOFTWARE or any component part of it, where it is or may be used by more than one Developer unless you purchase an additional Development License for each Developer. You must purchase another separate license to the SOFTWARE in order to add additional developer seats, whether the additional developers are accessing the SOFTWARE in a stand-alone environment or on a computer network. If the SOFTWARE is used to create Developed Web Server Software, then you may perform a single install of the SOFTWARE for use in designing, testing and creating Developed Web Server Software by a single Developer on a single computer or Network Server, either with a single CPU only. An additional Network Server CPU License is required for each additional CPU on the single computer or Network Server, as the case may be, upon which the SOFTWARE and/or the Developed Web Server Software is installed and a separate license for each separate computer. That is, for Developed Web Server Software, if the computer or Network Server operating the SOFTWARE has 2 CPU's, then you would need to purchase one additional Network Server CPU License (beyond the one Developer Seat License granted in this EULA).

In all cases, you may not use C1's name, logo, or trademarks to market your Developed Software without the express written consent of C1; (b) you must include the following C1 copyright notice in your Developed Software documentation and/or in the "About Box" of your Developed Software, and wherever the copyright/rights notice is located in the Developed Software (“Portions Copyright © ComponentOne, LLC 1991-2002. All Rights Reserved.”); (c) agree to indemnify, hold harmless, and defend C1, its suppliers and resellers, from and against any claims or lawsuits, including attorney's fees that may arise from the use or distribution of your Developed Software; (d) you may use the SOFTWARE only to create Developed Software that is significantly different than the SOFTWARE.

3.

Your Distribution License.

a. License to Distribute Developed Legacy Software. Subject to the terms and conditions in this EULA, you are granted the license to use and to distribute Developed Legacy Software on a royalty-free basis, provided that the Developed Legacy Software incorporates the SOFTWARE as an integral part of the Developed Software in machine-language compiled format (customarily an ".exe", or ".dll", etc.). You may not distribute, bundle, wrap or subclass the SOFTWARE as Developed Software which, when used in a "designtime" development environment, exposes the programmatic interface of the SOFTWARE. You may distribute, on a royalty-free basis, Redistributable Files with Developed Legacy Software only.

b. License to Distribute Developed Web Server Software. Subject to the terms and conditions in this EULA, you are granted the license to use and to distribute Developed Web Server Software, provided that you must purchase one Network CPU License for each CPU operating the Developed Web Server Software (and/or Redistributable Files called or otherwise used directly by the Developed Web Server Software). You may purchase an additional Network CPU License by purchasing an additional separate End User License for the SOFTWARE; one Network CPU License is included in this EULA. Notwithstanding the foregoing, however, you may distribute or transfer, free of royalties, the Redistributable Files (and/or any Developed Legacy Software) to the extent that they are used separately on a single CPU on the client/workstation side of the network served by the Web Server.

4.

Specific Product Limitations. Notwithstanding anything in this EULA to the contrary, if the license you have purchased is for any of the following products, then the following additional limitations will apply:

a. C1 ReportDesigner. C1ReportDesigner includes at least: 1) one dynamic link library (c1.win.c1reportdesigner.dll) file known as C1ReportDesigner Component, 2) one executable (ReportDesigner.exe) file known as C1ReportDesigner Application and, 3) the Source Code of the C1ReportDesigner Application. The C1ReportDesigner Component is subject to the general terms and restrictions set forth in this EULA. The C1ReportDesigner Application is an executable file used to design and prepare reports; the C1ReportDesigner Application may be distributed, free of royalties, only in conjunction with the Developed Software.

Subject to the terms and conditions in this EULA, C1 hereby grants you the right to use the C1ReportDesigner Application Source Code. You are hereby also granted the right to modify such Source Code and to create derivative works that are based on the licensed Source Code. You may distribute the derivative works that you develop, solely in object code format and exclusively in conjunction with and/or as a part of the Developed Software. You are expressly not granted the right to distribute, disclose or otherwise make available to any third party the licensed Source Code, any modified version, derivative work, or any portion thereof, in source code format.

C1 shall retain all right, title and interest in and to the licensed Source Code, and all C1 updates, modifications or enhancements thereof. Nothing herein shall be deemed to transfer any ownership or title rights in and to the licensed Source Code from C1 to you.

SOURCE CODE IS LICENSED TO YOU AS IS. C1 DOES NOT AND SHALL NOT PROVIDE YOU WITH ANY TECHNICAL SUPPORT FOR YOUR SOURCE CODE LICENSE.

b. VS View Reporting Edition. VS View Reporting Edition includes at least one executable file listed as “VSRpt7.exe”, known as “Designer.” The file "VSRpt7.exe”, or any upgrade or future versions of the Designer, are subject to the restrictions set forth in this EULA and may not be distributed with your Developed Software or in any other way.

c. VSForum. VSForum is intended to be installed on a Network Server. C1 grants to you the following rights to the SOFTWARE: a) Installation: You may install one copy of the SOFTWARE on a single Network Server; b) Use: When installed and initialized, the SOFTWARE creates a database file which contains the embodiment of a discussion forum (the database hereinafter referred to as the "Forum"). You may use the SOFTWARE to create one Forum on one Network Server only, which server may be connected at any point to an unlimited number of workstations or computers operating on one or more networks. You are specifically NOT LICENSED to create or operate multiple Forums. To create or to operate more than one FORUM, you must purchase one additional SOFTWARE license for each additional Forum.

d. Doc-to-Help. You may use Doc-To-Help to create online help, manuals or other documentation in electronic or printed format (the "Output Documents"). You may distribute and incorporate in such Output Documents those files identified in the documentation as Redistributable Files. Except for those specific Redistributable Files, you MAY NOT distribute the SOFTWARE, in any format, to others.

e. Studio Products. You may not share the component parts of the Studio Products licensed to you with other Developers, nor may you allow the use and/or installation of such components by other Developers.

5.

Updates/Upgrades; Studio Subscription. Subject to the terms and conditions of this EULA, the Licenses are perpetual. Updates and upgrades to the SOFTWARE may be provided by C1 from time-to-time, and, if so provided by C1, are provided upon the terms and conditions offered at that time by C1 in its sole discretion. C1 may provide updates and upgrades to the SOFTWARE for free or for any charge, at any time or never, and through its chosen manner of access and distribution, all in C1's sole and complete discretion.

C1 licenses certain of its separately-licensed products bundled together in a product suite, called the C1 "Studio" product line (the "Studio Products"). The exact separately-licensed products that are bundled into the Studio Products may change from time-to-time in C1's sole discretion. If the SOFTWARE is identified as a C1 "Studio" product, then the SOFTWARE is one of the Studio Products. The SOFTWARE and the Studio Products are revised from time-to-time (meaning, for example, revised with updates, upgrades and, in the case of Studio products, possibly changes to which specific products are included in the bundle). For you to be entitled to receive any such revisions to the SOFTWARE or the Studio Products, as the case may be, you must have a valid SOFTWARE license or a valid Studio subscription. The original purchaser of the SOFTWARE or of a Studio product receives a one-year subscription from the date of purchase of the SOFTWARE. After one year, the Studio subscription and/or the SOFTWARE license must be renewed to continue to be entitled to receive the SOFTWARE and/or the Studio Products revisions as the case may be.

6.

Serial Number. Within the packaging of the SOFTWARE, a unique serial number (the "Serial Number") is included, which allows for the registration of the SOFTWARE. The Serial Number is subject to the restrictions set forth in this EULA and may not be disclosed or distributed either with your Developed Software or in any other way. The disclosure or distribution of the Serial Number shall constitute a breach of this EULA, the effect of which shall be the automatic termination and revocation of all the rights granted herein.

7.

Evaluation Copy. If you are using an "evaluation copy" or similar version, specifically designated as such by C1 on its website or otherwise, then the Licenses are limited as follows: a) you are granted a license to use the SOFTWARE for a period of thirty (30) days counted from the day of installation (the "Evaluation Period"); b) upon completion of the Evaluation Period, you shall either i) delete the SOFTWARE from the computer containing the installation, or you may ii) contact C1 or one of its authorized dealers to purchase a license of the SOFTWARE, which is subject to the terms and limitations contained herein; and c) any Developed Software may not be distributed or used for any commercial purpose.

III. INTELLECTUAL PROPERTY.

1.

Copyright. You agree that all right, title, and interest in and to the SOFTWARE (including, but not limited to, any images, photographs, animations, video, audio, music, text, and “applets” incorporated into the SOFTWARE), and any copies of the SOFTWARE, and any copyrights and other intellectual properties therein or related thereto are owned exclusively by C1, except to the limited extent that C1 may be the rightful license holder of certain third-party technologies incorporated into the SOFTWARE. The SOFTWARE is protected by copyright laws and international treaty provisions. The SOFTWARE is licensed to you, not sold to you. C1 reserves all rights not otherwise expressly and specifically granted to you in this EULA.

2.

Backups. You may either: (a) copy the SOFTWARE solely for backup or archival purposes; or (b) install the SOFTWARE on a single computer, provided you keep the original solely for backup or archival purposes. Notwithstanding the foregoing, you may not copy the Documentation.

3.

General Limitations. You may not reverse engineer, decompile, or disassemble the SOFTWARE, except and only to the extent that applicable law expressly permits such activity notwithstanding this limitation.

4.

Software Transfers. You may not rent or lease the SOFTWARE. You may transfer the SOFTWARE to another computer, provided that it is completely removed from the computer from which it was transferred. You may permanently transfer all of your rights under the EULA, provided that you retain no copies, that you transfer all the SOFTWARE (including all component parts, the media and printed materials, any dates, upgrades, this EULA and, if applicable, the Certificate of Authenticity), and that the recipient agrees to the terms and conditions of this EULA as provided herein. If the SOFTWARE is an update or upgrade, any transfer must include all prior versions of the SOFTWARE.

5.

Termination. Without prejudice to any other rights it may have, C1 may terminate this EULA and the Licenses if you fail to comply with the terms and conditions contained herein. In such an event, you must destroy all copies of the SOFTWARE and all of its component parts.

6.

Export Restrictions. You acknowledge that the SOFTWARE is of U.S. origin. You acknowledge that the license and distribution of the SOFTWARE is subject to the export control laws and regulations of the United States of America, and any amendments thereof, which restrict exports and re-exports of software, technical data, and direct products of technical data, including services and Developed Software. You agree that you will not export or re-export the SOFTWARE or any Developed Software, or any information, documentation and/or printed materials related thereto, directly or indirectly, without first obtaining permission to do so as required from the United States of America Department of Commerce's Bureau of Export Administration ("BXA"), or other appropriate governmental agencies, to any countries, end-users, or for any end-uses that are restricted by U.S. export laws and regulations, and any amendments thereof, which include, but are not limited to, the following:

Restricted Countries: Restricted Countries currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, Montenegro, North Korea, Serbia, Sudan, and Syria.

Restricted End-Users: Any End-User whom you know or have reason to know will use SOFTWARE or Developed Software in the design, development, or production of missiles and missile technology, nuclear weapons and weapons technology, or chemical and biological weapons. Any national of any of the Restricted Countries, wherever located, who intends to transmit or transport the SOFTWARE or Developed Software to one of the Restricted Countries.

Restricted End-Uses: Any use of SOFTWARE and Developed Software related to the design, development, or production of missiles and missile technology, nuclear weapons and weapons technology, or chemical and biological weapons.

These restrictions change from time to time. You represent and warrant that neither the BXA nor any other United States federal agency has suspended, revoked or denied your export privileges. C1 acknowledges that it shall use reasonable efforts to supply you with all reasonably necessary information regarding the SOFTWARE and its business to enable you to fully comply with the provisions of this Section. If you have any questions regarding your obligations under United States of America export regulations, you should contact the Bureau of Export Administration, United States Department of Commerce, Exporter Counseling Division, Washington DC. U.S.A. (202) 482-4811, http://www.bxa.doc.gov.

7.

U.S. Government Restricted Rights. The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. For solicitations issued before December 1, 1995, by the United States of America, its agencies and/or instrumentalities (the "Government"), other than the Department of Defense, the use, duplication or disclosure of the software and documentation provided to the Government under this EULA shall be subject to the RESTRICTED RIGHTS as set forth in subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at 48 CFR ch.1 52.227-19. For solicitations issued before September 29, 1995, by the Department of Defense, the use, duplication or disclosure of the software and documentation provided under this EULA shall be subject to the RESTRICTED RIGHTS as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 48 CFR ch.2 252.227-7013. You will comply with any requirements of the Government to obtain such RESTRICTED RIGHTS protection, including without limitation, the placement of any restrictive legends on the SOFTWARE, and any license agreement used in connection with the distribution of the SOFTWARE. Manufacturer is ComponentOne, LLC, 4516 Henry Street, Suite 501, Pittsburgh, Pennsylvania 15213 USA. For solicitations issued by the Government on or after December 1, 1995 and the Department of Defense on or after September 29, 1995, the only rights provided in the software and documentation provided herein shall be those contained in this EULA. Under no circumstances shall C1 be obligated to comply with any Governmental requirements regarding the submission of or the request for exemption from submission of cost or pricing data or cost accounting requirements. For any distribution of the SOFTWARE that would require compliance by C1 with the Government's requirements relating to cost or pricing data or cost accounting requirements, you must obtain an appropriate waiver or exemption from such requirements for the benefit of C1 from the appropriate Government authority before the distribution and/or license of the SOFTWARE to the Government.

IV. WARRANTIES AND REMEDIES.

1.

Limited Warranty. C1 warrants that the original media, if any, are free from defects for ninety (90) days from the date of delivery of the SOFTWARE. EXCEPT AS OTHERWISE PROVIDED IN THE PRECEDING SENTENCE, AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, C1 EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE, DOCUMENTATION AND ANYTHING ELSE PROVIDED BY C1 HEREBY AND C1 PROVIDES THE SAME IN “AS IS” CONDITION WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION REMAINS WITH YOU. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS WHICH VARY FROM STATE TO STATE.

2.

Limited Remedy. C1's entire liability and your exclusive remedy under this EULA shall be, at C1's sole option, either (a) return of the price paid for the SOFTWARE; (b) repair the SOFTWARE through updates distributed online or otherwise in C1's discretion; or (c) replace the SOFTWARE with its reasonable, provided that you return the SOFTWARE in the same manner as provided in Section I.2 for return of the SOFTWARE for non-acceptance of this EULA. Any media for any repaired or replacement SOFTWARE will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. THESE REMEDIES ARE NOT AVAILABLE OUTSIDE OF THE UNITED STATES OF AMERICA. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL C1 BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFIT, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF C1 HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES IN CERTAIN CASES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

V. MISCELLANEOUS.

1.

This is the Entire Agreement. This EULA (including any addendum or amendment to this EULA included with the SOFTWARE) is the final, complete and exclusive statement of the entire agreement between you and C1 relating to the SOFTWARE. This EULA supersedes any prior and contemporaneous proposals, purchase orders, advertisements, and all other communications in relation to the subject matter of this EULA, whether oral or written. No terms or conditions, other than those contained in this EULA, and no other understanding or agreement which in any way modifies these terms and conditions, shall be binding upon the parties unless entered into in writing executed between the parties, or by other non-oral manner of agreement whereby the parties objectively and definitively act in a manner to be bound (such as by continuing with an installation of the SOFTWARE, "clicking-through" a questionnaire, etc.) Employees, agents and other representatives of C1 are not permitted to orally modify this EULA.

2.

You Indemnify C1. You agree to indemnify, hold harmless, and defend C1 and its suppliers and resellers from and against any and all claims or lawsuits, including attorney's fees, that arise or result from this EULA.

3.

Interpretation of this EULA. If for any reason a court of competent jurisdiction finds any provision of this EULA, or any portion thereof, to be unenforceable, that provision of this EULA will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this EULA will continue in full force and effect. Formatives of defined terms shall have the same meaning of the defined term. Failure by either party to enforce any provision of this EULA will not be deemed a waiver of future enforcement of that or any other provision. Except as otherwise required or superseded by law, this EULA is governed by the laws of the Commonwealth of Pennsylvania, without regard to its conflict of laws principles. The parties consent to the personal jurisdiction and venue of the Commonwealth of Pennsylvania, in the County of Allegheny, and agree that any legal proceedings arising out of this EULA shall be conducted solely in such Commonwealth. If the SOFTWARE was acquired outside the United States, then local law may apply.


Redistributable Files

ComponentOne Chart 8.0 is developed and published by ComponentOne LLC. You may use it for development with Microsoft Visual Studio or any other programming environment. You may also distribute the following control files, royalty free, with any application you develop, as specified in the license agreement:

•

Olch2d8.dll

•

Olch2u8.dll

•

Olch3d8.dll

•

Olch3u8.dll

•

Olch2x8.ocx

•

Olch2u8.ocx

•

Olch3x8.ocx

•

Olch3u8.ocx

Groups of multiple developers may be interested in acquiring ComponentOne product site licenses. Please contact ComponentOne for details.

NOTE: When shipping your applications, we strongly suggest that you use a professional installation utility such as the Wise Installation System®, InstallShield®, or the setup wizard that ships with Microsoft Visual Basic 5.0 and later.


Technical Support

ComponentOne Chart is developed and supported by ComponentOne LLC, a company formed by the merger of APEX Software Corporation and VideoSoft. You can obtain technical support using any of the following methods:


ComponentOne Web Site

The ComponentOne Web site at www.componentone.com provides a wealth of information and software downloads for Chart users, including:

•

Descriptions of the various support options available through the ComponentOne Service Team.

•

Answers to frequently asked questions (FAQ's) about our products, organized by functionality. Please consult the FAQ's before contacting us directly, as this can save you time and also introduce you to other useful information pertaining to our products.

•

Free product updates, which provide you with bug fixes and new features.


Internet E-Mail

For technical support through the Internet, e-mail us at:

support.chart@componentone.com

To help us provide you with the best support, please include the following information when contacting ComponentOne:

•

Your ComponentOne product serial number.

•

The version and name of your operating system.

•

Your development environment and its version.

For more information on technical support, go to:

www.componentone.com/support


Peer-to-Peer Newsgroup

ComponentOne also sponsors peer-to-peer newsgroups for users. ComponentOne does not offer formal technical support in this newsgroup, but instead sponsors it as a forum for users to post and answer each other's questions regarding our products. However, ComponentOne may monitor the newsgroups to ensure accuracy of information and provide comments when necessary. You can access the newsgroup from the ComponentOne Web site at http://www.componentone.com/newsgroups.


ComponentOne Chart 3D Programming Help

The 3D Chart control enables you to build powerful 3D charts, including surface, contour, and bar charts. The chart is made up of a logical hierarchy of objects, and each object has its own properties and methods that determine how the chart looks and functions.

Chart Basics

Things to know before working with charts including: Chart Terminology; Using the Property Pages; Chart Types; Data Layouts; Loading/Saving Charts.

See also:

Typographical Conventions

Technical Support

Overview of 3D Property Pages

A guided tour of the ComponentOne Chart 3D Property Pages. Including property access through the property pages or programmatically.

Programming Considerations

Programming basics information, including: Object Hierarchy; Distributing ComponentOne Chart Applications; Compatibility Issues.

Building a Chart

Creating a chart and controlling how data and axes appear, including: Axis Annotation; Creating Histograms, Axis formatting; 3D View; Grids; Creating 4D Charts.

Working With Data

Loading and working with data, including, Loading Data From a File; Loading Data Directly From Your Program; Fast Update Methods; Double Buffering.

Customizing Chart Elements

Adding visual enhancements to the chart including: Mesh/Surface Customizing; Header/Footer; Legend; Borders; Colors; Fonts; ChartLabels; ContourStyles.

Programming User Interaction

Program your chart to interact with users, including: Working with Action Maps; Returning Coordinate Values; Customizing the Property Pages.

Object Reference

Alphabetical reference of 3D Chart objects, their properties, and methods.

Event Reference

Reference information on 3D Chart events.

Constants Reference

Reference information on the constants used by the 3D Chart.


Typographical Conventions

Bold | Chart object, property, and method names. Language-specific keywords, constants, variables, and function names. Commands that you enter at a command prompt.
Italic Text | Parameter names and information you specify. New terms as they are introduced, and to emphasize important words. The names of other documents referenced in this help, such as the Getting Started with ComponentOne Chart booklet.
UPPERCASE | File and directory names, key names, and key sequences.
Monospace | Code examples, variables in body text, and error text.


Chart Basics

Successful charting requires that you are familiar with basic chart processes and vocabulary, specifically as they relate to the 3D Chart control. The following topics cover basic information that anyone who uses 3D Chart should be familiar with.

Chart Terminology

Interacting with the Chart

Choosing the Chart Type

15 Basic Chart Appearances

Understanding Data Layout

Loading and Saving Charts and Data


Chart Terminology

The following shows the terms used to describe chart elements.


Interacting with the Chart

You can interact with the chart as it is running to examine data more closely or visually isolate a part of the chart. The interactions described here affect the chart displayed inside the ChartArea; other chart elements like the header are not affected.

Special Notes

The keyboard/mouse combinations that perform the different interactions can be changed or removed by a programmer. The interactions described here may not be enabled for your chart.

Rotation

Translation

Scaling

Zooming

Reset to Automatic Scale and Position


Rotation

1.

Hold down both mouse buttons (or middle button on a 3-button mouse)

2.

To rotate freely, move mouse in the desired direction

3.

Or, to constrain rotation along an axis, press the “x”, “y”, “z”, or “e” key and move mouse perpendicular to axis


Translation

1.

Press SHIFT, hold down both mouse buttons (or middle button on a 3-button mouse)

2.

Move mouse to change the positioning of the chart inside the ChartArea


Scaling

1.

Press CTRL, hold down both mouse buttons (or middle button on a 3-button mouse)

2.

Move mouse down to increase chart size, or up to decrease chart size


Zooming

1.

Press CTRL, hold down left mouse button

2.

Drag mouse to select zoom area and release mouse button


Reset to Automatic Scale and Position

Press the “r” key to remove all scaling, translation, and zooming effects. Rotation is not removed.


Choosing the Chart Type

The 3D Chart displays data as a 3D surface chart, a 3D bar chart, or a 3D scatter plot. Use the ChartType property to specify whether to display data as a surface chart, bar chart, or scatter plot. The ChartType property is located on the General Tab (ChartGroup) on the Property Pages.

For more information on 3D Bar charts, see Special Bar Chart Properties. For more information on 3D Scatter plots, see Special Scatter Plot Properties.


3D Bar and 3D Surface Charts

The basic appearance of the surface and bar chart types is controlled by the combination of four properties: IsMeshed, IsShaded, IsContoured, and IsZoned. These four properties yield 15 different basic appearances for surface and bar charts.

See 15 Basic Chart Appearances to see the appearance of each property combination.

Using IsMeshed

Using IsShaded

Using IsContoured

Using IsZoned

To Change the Basic Appearance


Using IsMeshed

Surfaces: The chart displays the X-Y grid projected onto the 3D surface in a 3D view with a Z-axis. The chart honors rotation and perspective control.

Bars: The chart draws the outline of all bars.


Using IsShaded

Surfaces: The chart displays the data as a flat shaded surface in a 3D view with a Z-axis. Top and bottom shading colors may be set. The chart honors rotation and perspective control.

Bars: The chart draws the bars as a flat shade.

Scatter Plot Note: If neither the IsShaded or IsMeshed properties are enabled, a 2D chart draws.


Using IsContoured

Surfaces: The chart examines the distribution of the data and draws contour lines demarcating each of the contour levels.

Bars: The chart draws contour lines around the bars, demarcating each contour level.


Using IsZoned

Surfaces: The chart examines the distribution of the data and fills each level with a solid color.

Bars: The chart fills each level within each bar with a solid color.


To Change the Basic Appearance

Use a combination of the IsMeshed, IsShaded, IsContoured, and IsZoned properties to set the chart’s basic appearance. These properties are located on the General Tab (ChartGroup) on the Property Pages.


15 Basic Chart Appearances

Mesh

Shaded

Contours

Zones

Mesh, Shaded

Mesh, Contours

Mesh, Zones

Shaded, Contours

Shaded, Zones

Contours, Zones

Mesh, Shaded, Zones

Mesh, Shaded, Contours

Shaded, Contours, Zones

Mesh, Contours, Zones

Mesh, Shaded, Contours, Zones

No Chart Displayed


Mesh

Note:

You can customize the top and bottom mesh color and other mesh properties.


Shaded

Note:

You can customize the top and bottom surface color and other surface properties.


Contours

Note:

You can customize contour levels, ContourStyles, and other contour properties.


Zones

Note:

You can customize contour levels, ContourStyles, and other zoning properties.


Mesh, Shaded

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize the top and bottom surface color and other surface properties.


Mesh, Contours

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize contour levels, ContourStyles, and other contour properties.


Mesh, Zones

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize contour levels, ContourStyles, and other zoning properties.


Shaded, Contours

Note:

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other contour properties.


Shaded, Zones

Note:

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other zoning properties.


Contours, Zones

Note:

You can customize contour levels, ContourStyles, and other contour and zoning properties.


Mesh, Shaded, Zones

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other zoning properties.


Mesh, Shaded, Contours

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other contour properties.


Shaded, Contours, Zones

Note:

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other contour and zoning properties.


Mesh, Contours, Zones

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize contour levels, ContourStyles, and other contour and zoning properties.


Mesh, Shaded, Contours, Zones

Note:

•

You can customize the top and bottom mesh color and other mesh properties.

•

You can customize the top and bottom surface color and other surface properties.

•

You can customize contour levels, ContourStyles, and other contour and zoning properties.


No Chart Displayed

No chart displays when all four properties are off.


Understanding Data Layout

The 3D chart displays three-dimensional data. Each data point consists of an X/Y Cartesian coordinate and a Z elevation value. It charts surfaces that are increasing in X and Y and cannot chart surfaces that fold back in X or Y (such as a sphere).

The data must be supplied in one of three basic layouts, Grid, Irregular Grid, or Point. Data can come from many different sources, such as data files or the results of mathematical formulae. You can load and save data files, and customize the data itself, using the Property Pages.

Grid Layout

Irregular Grid Layout

Point Layout

Holes in the Data

To Edit Grid and Irregular Grid Data

To Edit Point Data

To Load and Save Data Files


Grid Layout

Use Grid layout when the X- coordinates of each point and the Y-coordinates of each point are always the same distance apart. The following diagram illustrates the characteristics of Grid layout.

The important Grid layout characteristics are:

•

The X/Y grid is defined by the number of rows and columns, the origins, and the single row and column delta value.

•

The grid spacing for all rows is set by the RowDelta property. The grid spacing for all columns is set by the ColumnDelta property.


Irregular Grid Layout

Use Irregular Grid layout when the X- coordinates of each point or the Y-coordinates of each point are not the same distance apart. The following diagram illustrates the characteristics of Irregular Grid layout.

The important Irregular Grid layout characteristics are:

•

The X/Y grid is defined by the number of rows and columns, the origins, and the irregular grid spacing deltas.

•

Each row and column has its own RowDelta/ColumnDelta value that sets the grid spacing between that row/column and the previous one.


Point Layout

Use Point Layout for scatter plots when you want to chart multiple series of points. The following diagram illustrates the characteristics of Point layout.

The important Point layout characteristics are:

•

The points are grouped into one or more series.

•

Each individual point is specified by its X, Y, and Z Cartesian coordinates.


Holes in the Data

Use the HoleValue property to set the data value that represents a hole in your data. When the chart sees values in the data grid that are the same as the hole value it displays as a hole in the chart.


To Edit Grid and Irregular Grid Data

Use the Layout, RowCount, and ColumnCount properties to set the format and size of the data. Use the HoleValue, RowOrigin, ColumnOrigin, RowDelta, ColumnDelta, and Value properties to define the data itself. These properties are also located on the Data Tab (ChartGroup) on the Property Pages. Use the EnterData button to edit actual data points.


To Edit Point Data

Use the Layout property to set the chart type. Use the NumSeries property to set the number of series in the scatter plot, which creates a DataCoord Collection for each series of data. Use the DataCoord Collection’s Add method to specify an x, y, and z coordinate for each point in the series.


To Load and Save Data Files

Use the Load and Save buttons to load and save data files. These are located on the Data Tab (ChartGroup) on the Property Pages.


Loading and Saving Charts and Data

The two main components of any chart are the data it is displaying and the properties that control its appearance. You can save the current chart data and load new chart data from a file. You can also load and save chart descriptions, which are settings for all of the chart properties.

ComponentOne Chart includes sample chart descriptions and data files that you can use as templates to build your own custom chart.

To Load and Save Data

Use the Load and Save buttons on the Data Tab (ChartGroup) on the Property Pages to load and save data. See Understanding Data Layout for information on data layouts.

To Load and Save Chart Descriptions

Use the Load and Save buttons on the General Tab (Control) on the Property Pages to load and save chart descriptions.


Overview of 3D Property Pages

The ComponentOne Chart Property Pages provide an easy-to-use designer that enables you to visually specify chart properties and collections. All property page and sub-tab descriptions include methods to access the properties from within the property page dialog and from code.

Accessing the Property Pages

Control Page

Axes Page

ChartGroup Page

Styles Page

Titles Page

Legend Page

ChartArea Page

PlotCube Page

ChartLabels Page

View3D Page

Levels Page

ChartStyles Page


Accessing the Property Pages

Right-click anywhere on the ComponentOne Chart control at design time to display the context menu, which is a superset of the context menu that Visual Basic provides for all ActiveX controls.

To access the property pages, select Properties… from the context menu. This will display the property pages dialog.

You can also display the property pages by selecting (Custom) from the Visual Basic Properties window. To accept the changes made on any page, click the OK button at the bottom of the property page dialog. Click Cancel to discard any changes. The property pages dialog will be closed after you click OK or Cancel.

You can also click the Apply button to commit your changes without closing the dialog, which allows you to continue making changes on that property page. Note that selecting a different property page tab will also commit any changes that you made.


Immediate Feedback Model

As you edit properties, the changes are immediately applied to the chart and displayed. This enables you to quickly see how a change affects the chart so that you can make further changes without leaving the Property Pages. However, once you have changed a property the only way to “undo” it is to change the property back to its previous value.


Editing Chart Properties

1.

Select the tab that corresponds to the element of the chart that you want to edit. Tabs contain one or more inner tabs that group related properties together. Some tabs also contain a list that selects a specific object to edit.

2.

If the tab contains a list on the left side, select the specific object to edit from that list.

3.

Select the inner tab that corresponds to the kind of property you want to edit.

4.

Click on a control and change the value of that property. The change is immediately applied to the chart and displayed unless the IsBatched property (located on the Control tab’s General Tab) is set. When IsBatched is set, click the Apply button to display property changes.

5.

Make further changes to the same property or change other properties on this tab or other tabs.


Collection Items in Code

Many of the code examples illustrated in the Property Page documentation include collection element variables represented by Item. For example:

Chart2D.ChartArea.Axes.Item(ii).AnnotationMethod

In code, (ii) should be replaced by a specific collection element.

For more information, see Using a Collection and Accessing Each of the Elements of a Collection.


Control Page

The Control Page contents deal with general overlapping properties that are related to various charts. These properties include, loading and saving ComponentOne Chart description files, choosing border types, colors and attached images.

General Tab (Control)

Border Tab (Control)

Interior Tab (Control)

Image Tab (Control)

About Tab (Control)


General Tab (Control)

When selected (checked), the IsBatched checkbox sets the IsBatched property so that it does not allow changes to the chart to be displayed on the screen.

Chart3D.IsBatched

When selected (checked), the IsDoubleBuffered checkbox sets the IsDoubleBuffered property so that it buffers changes, allowing images on the screen update as smoothly as possible.

Chart3D.IsDoubleBuffered

When selected (checked), the UseTrueType checkbox sets the UseTrueType property so that the chart may utilize true type fonts within the Plot Cube.

Chart3D.UseTrueType

Select a font rotation (None, 2d or 3d) to determine how TrueType (only TrueType) fonts are rotated within the 3D plot cube.

Chart3D.FontRotation

The Load… command button allows you to load previously created ComponentOne Chart description files. This feature allows you to reuse settings from previous charts.

Chart3D.Load

The Save… command button allows you to save the property settings as a ComponentOne Chart description file.

Chart3D.Save

Pressing the Reset button removes the current settings.


Border Tab (Control)

The Type: dropdown box allows you to choose one of the pre-set BorderType properties to be drawn around the entire chart. If this option is disabled, you cannot change the border type for this area.

Chart3D.Border.Type

The Width: textbox allows you to set the width of the border in pixels.

Chart3D.Border.Width

For more information, see Using Borders.


Interior Tab (Control)

Background Color Area

The RGB: textbox lists the RGB value of the of specified background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the active chart area.

Chart3D.Interior.BackgroundColor


Image Tab (Control)

The File: textbox lists the current image (including path) used in the background of the chart. The ellipsis button next to the textbox opens the browser to locate the image that you wish to use.

Chart3D.Interior.Image.FileName

The Layout: dropdown allows you to format the position of the image within the chart.

Chart3D.Interior.Image.Layout

When selected (checked), the IsEmbedded checkbox sets the IsEmbedded property so that the image is embedded within the file rather than being linked to the chart.

Chart3D.Interior.Image.IsEmbedded

When selected (checked), the HasMinimumSize checkbox sets the HasMinimumSize property so that the text area where the image is used will be sized according to the image.

Chart3D.Interior.Image.HasMinimumSize

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the bitmap image is rendered as a transparent bitmap.

Chart3D.Interior.Image.IsTransparent

Pressing the Reset button removes the current image from the chart and clears the File textbox.

For more information, see Adding Images to Chart Elements.


About Tab (Control)

The About Tab displays information about the 3D chart control, including the version and serial number.


Axes Page

This page allows you to modify the chart’s axes. You can modify each axis by highlighting a specific axis in the left pane then choosing the inner tab and property you wish to change.

General Tab (Axes)

Scale Tab (Axes)

Title Tab (Axes)

GridLines Tab (Axes)

GridStyle Tab (Axes)

ValueLabels Tab (Axes)

Font Tab (Axes)


General Tab (Axes)

When selected (checked), the IsShowing checkbox sets the IsShowing property so that the X-axis, Y-axis or Z-axis is visible.

Chart3D.ChartArea.Axes.Item(ii).IsShowing

The Anno. Method: dropdown allows you to change how the axis in question is annotated. Note: You can use the ValueLabels Tab to edit ValueLabels and the ChartGroup tab’s Labels Tab to edit DataLabels.

Chart3D.ChartArea.Axes.Item(ii).AnnotationMethod

The Origin: textbox allows you to specify where to place the origin for the Z-axis.

Chart3D.ChartArea.Axes.Item(ii).Origin

The Anno. Position: dropdown allows you to change which sides of the PlotCube annotations may appear.

Chart3D.ChartArea.Axes.Item(ii).AnnotationPosition


Scale Tab (Axes)

The Min: textbox allows you to specify the minimum value of the specific axis itself. When the IsDefault checkbox is checked, the chart automatically controls the minimum value for that axis.

Chart3D.ChartArea.Axes.Item(ii).Min.Value

The Max: textbox allows you to specify the maximum value of the specific axis itself. When the IsDefault checkbox is checked, the chart automatically controls the maximum value for that axis.

Chart3D.ChartArea.Axes.Item(ii).Max.Value


Title Tab (Axes)

The Title: textbox allows you to specify a title for each of your axes.

Chart3D.ChartArea.Axes.Item(ii).Title

TitleFont Area

The Stroke: dropdown box allows you to specify the font type for all axes.

Chart3D.ChartArea.Axes.Item(ii).TitleFont.Stroke

The Size: textbox allows you to specify font size for all axes, thousand’s of PlotCube size. See Font Tab (Axes).

Chart3D.ChartArea.Axes.Item(ii).TitleFont.Size

The TrueType: textbox lists the true type font name and style being used by the axis text. The ellipsis button to the right of the textbox opens the font browser.

For more information, see Titling Axes.


GridLines Tab (Axes)

When selected (checked), the IsOnXYPlane checkbox sets the IsOnXYPlane property so that a grid is placed on the XYPlane.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.IsOnXYPlane

When selected (checked), the IsOnXZPlane checkbox sets the IsOnXZPlane property so that a grid is placed on the XZPlane.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.IsOnXZPlane

When selected (checked), the IsOnYZPlane checkbox sets the IsOnYZPlane property so that a grid is placed on the YZPlane.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.IsOnYZPlane

For more information, see Adding and Formatting Grid Lines.


GridStyle Tab (Axes)

The Pattern: dropdown allows you to change the line pattern for each of the axes.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.Style.Pattern

The Width: textbox allows you to specify the thickness of the axis line.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.Style.Width

Color Area

The RGB: textbox lists the RGB value of the of the specified axis line. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by the axis line.

Chart3D.ChartArea.Axes.Item(ii).MajorGrid.Style.Color


ValueLabels Tab (Axes)

Pressing the Add… adds a value label to the value label pane.

Chart3D.ChartArea.Axes.Item(ii).ValueLabels.Add

Pressing the Remove button removes the currently highlighted value label.

Chart3D.ChartArea.Axes.Item(ii).ValueLabels.Remove

The Value: textbox allows you to specify the label value.

Chart3D.ChartArea.Axes.Item(ii).ValueLabels.Item(ii).Value

The Label: textbox allows you to enter or change the label text.

Chart3D.ChartArea.Axes.Item(ii).ValueLabels.Item(ii).Label

For more information, see ValueLabels Annotation.


Font Tab (Axes)

The Stroke: dropdown box allows you to specify the font type for the annotation.

Chart3D.ChartArea.Axes.Item(ii).AnnotationFont.Stroke

The Size: textbox allows you to specify font size for the annotation. The size is specified in thousandths of the PlotCube’s length. For example, a value of 80 means that the characters are 8% of the PlotCube length.

Chart3D.ChartArea.Axes.Item(ii).AnnotationFont.Size

The TrueType: textbox lists the font type and font style being used by the annotation. The ellipsis button to the right of the textbox opens the font browser.

For more information, see Choosing Fonts.


ChartGroup Page

This page allows you to modify the ChartGroup.

General Tab (ChartGroup)

Data Tab (ChartGroup)

Bar Tab (ChartGroup)

Bar Colors Tab (ChartGroup)

Scatter Tab (ChartGroup)

Surface Tab (ChartGroup)

Labels Tab (ChartGroup)

Elevation Tab (ChartGroup)

Internet Tab (ChartGroup)


General Tab (ChartGroup)

The ChartType: dropdown allows you to change the specific type of chart used for each ChartGroup.

Chart3D.ChartGroups.Item(ii).ChartType

When selected (checked), the IsContoured checkbox sets the IsContoured property so that contour lines are drawn on the chart.

Chart3D.ChartGroups.Item(ii).Contour.IsContoured

When selected (checked), the IsMeshed checkbox sets the IsMeshed property so mesh lines are drawn on the chart.

Chart3D.ChartGroups.Item(ii).Elevation.IsMeshed

When selected (checked), the IsZoned checkbox sets the IsZoned property so that zone colors are drawn on the chart.

Chart3D.ChartGroups.Item(ii).Contour.IsZoned

When selected (checked), the IsShaded checkbox sets the IsShaded property so that surface shading is drawn on the chart.

Chart3D.ChartGroups.Item(ii).Elevation.IsShaded

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the chart mesh is transparent. Note: This property is displayed when the IsShaded property is not used.

Chart3D.ChartGroups.Item(ii).Elevation.IsTransparent

The ZoneMethod: dropdown allows you to specify how to determine each zone region.

Note: This property is displayed when the IsZoned property is used.

Chart3D.ChartGroups.Item(ii).Contour.ZoneMethod

For more information, see Choosing the Chart Type and Modifying the Surface Appearance.


Data Tab (ChartGroup)

The Layout: dropdown specifies the format of the chart data. Note: Changing Layout deletes any data displayed in the chart.

Chart3D.ChartGroups.Item(ii).ElevationData.Layout

Chart3D.ChartGroups.Item(ii).ContourData.Layout

The RowCount: textbox specifies the number of rows in the data grid.

Chart3D.ChartGroups.Item(ii).ElevationData.RowCount

Chart3D.ChartGroups.Item(ii).ContourData.RowCount

The ColumnCount: textbox specifies the number of columns in the data grid.

Chart3D.ChartGroups.Item(ii).ElevationData.ColumnCount

Chart3D.ChartGroups.Item(ii).ContourData.ColumnCount

The Load… button allows you to load new elevation or contour data.

Chart3D.ChartGroups.Item(ii).ElevationData.Load

Chart3D.ChartGroups.Item(ii).ContourData.Load

The Save… button allows you to save the current elevation or contour data to a file.

Chart3D.ChartGroups.Item(ii).ElevationData.Save

Chart3D.ChartGroups.Item(ii).ContourData.Save

The Enter Data… allows you to enter or edit data.

The Edit Data… button allows you to edit the 3D chart data in the Edit Chart 3D Data window.

The Edit Row… button allows you to edit the spacing delta between each row.

The Edit Col… button allows you to edit the spacing delta between each column.

The Smooth… button allows you to use a center-weighted averaging function to “smooth” the data.

Chart3D.ChartGroups.Item(ii).ElevationData.Smooth

Chart3D.ChartGroups.Item(ii).ContourData.Smooth

For more information, see Understanding Data Layout and Data Overview.


Edit Chart 3D Data

Chart3D Data Editor Using Grid/IrGrid Layout, Ready to Fill

Use the down/up arrow keys or mouse click to select the appropriate cell of a specific grid location. If using the mouse, you may scroll the selections using the scroll bar. If keys are used, the scrolling will take place automatically.

For Grid/IrGrid data, each cell in the editor represents an elevation or Z coordinate value for the row (X) and column (Y).

The current cell is indicated by a green or red border around the cell. The green border indicates that the current cell is unmodified or that editing has been completed (enter key pressed). The red border indicates that the current cell is being edited.

To edit the data in the cell, select the cell, and then enter digits and characters via the keyboard. If you wish to edit the existing data, select the cell, then double click the cell, and insert or delete characters.

In some cases, you may wish to set multiple cells to the same value. In this case, select the upper left corner of the rectangle comprised of those cells you wish to set, set the value of that cell, then left click the mouse and drag the mouse to the opposite corner of the rectangle. This procedure will highlight multiple cells and enable the Fill button. When the appropriate rectangle is highlighted, release the left mouse button and press the Fill button. All highlighted cells will be changed to the value of the current cell.

Chart3D Data Editor Using Point Layout

Note that the data editor appears differently for Point layouts, used for scatter charts, than it does for Grid/IrGrid layouts. Point layouts accept X, Y and Z coordinate values and can edit a single point series at a time. The series to edit must be set prior to invoking the data editor on the Data subtab.

Pressing the Apply button will cause the chart display to change in a manner consistent with the new settings. Once the Apply button has been pressed, it is only possible to cancel changes made since Apply was pressed.

When finished modifying the settings, press Cancel to return to the property pages without applying changes, or press OK to apply the changes and return to the property pages.


Edit Chart 3D Row Delta

Chart3D Row Delta Using IrGrid Layout

Use the down/up/left/right arrow keys or mouse to select the appropriate cell and make it the current cell. If using the mouse, you may scroll the selections using the scroll bar. If keys are used, the scrolling will take place automatically.

The current cell is indicated by a green or red border around the cell. The green border indicates that the current cell is unmodified or that editing has been completed (enter key pressed). The red border indicates that the current cell is being edited.

To edit the data in the cell, select the cell, and then enter digits and characters via the keyboard. If you wish to edit the existing data, select the cell, then double click the cell, and you may insert or delete characters.

In some cases, you may wish to set multiple cells to the same value. In this case, select the upper left corner of the rectangle comprised of those cells you wish to set, set the value of that cell, then left click the mouse and drag the mouse to the opposite corner of the rectangle. This procedure will highlight multiple cells and enable the Fill button. When the appropriate rectangle is highlighted, release the left mouse button and press the Fill button. All highlighted cells will be changed to the value of the current cell.

RowDelta values indicate the difference between a data value and its neighboring row.

For IrGrid layouts, the difference between rows can vary for each adjacent set of rows. For example, X1 and X2 can differ by more or less than X2 and X3. Therefore if n Rows are specified, n-1 RowDeltas are required.

For Grid layouts, or more exactly regular Grid layouts, all Rows are equidistant from one another, so only a single RowDelta is required.

For Point layouts, RowDelta is not required.

Pressing the Apply button will cause the chart display to change in a manner consistent with the new settings. Once the Apply button has be pressed, it is only possible to cancel changes made since Apply was pressed.

When finished modifying the settings, press Cancel to return to the property pages without applying changes, or press OK to apply the changes and return to the property pages.


Edit Chart 3D Column Delta

Chart3D Column Delta Using IrGrid Layout

Use the down/up/left/right arrow keys or mouse to select the appropriate cell and make it the current cell. If using the mouse, you may scroll the selections using the scroll bar. If keys are used, the scrolling will take place automatically.

The current cell is indicated by a green or red border around the cell. The green border indicates that the current cell is unmodified or that the edit has been completed (enter key pressed). The red border indicates that the current cell is being edited.

To edit the data in the cell, select the cell, and then enter digits and characters via the keyboard. If you wish to edit the existing data, select the cell, then double click the cell, and you may insert or delete characters.

In some cases, you may wish to set multiple cells to the same value. In this case, select the upper left corner of the rectangle comprised of those cells you wish to set, set the value of that cell, then left click the mouse and drag the mouse to the opposite corner of the rectangle. This procedure will highlight multiple cells and enable the Fill button. When the appropriate rectangle is highlighted, release the left mouse button and press the Fill button. All highlighted cells will be changed to the value of the current cell.

ColumnDelta values indicate the difference between a data value and its neighboring Column.

For IrGrid layouts, the difference between columns can vary for each adjacent set of columns. For example, Y1 and Y2 can differ by more or less than Y2 and Y3. Therefore if n Columns are specified, n-1 ColumnDeltas are required.

For Grid layouts, or more exactly regular Grid layouts, all Columns are equidistant from one another, so only a single ColumnDelta is required.

For Point layouts, ColumnDelta is not required.

Pressing the Apply button will cause the chart display to change in a manner consistent with the new settings. Once the Apply button has be pressed, it is only possible to cancel changes made since Apply was pressed.

When finished modifying the settings, press Cancel to return to the property pages without applying changes, or press OK to apply the changes and return to the property pages.


Bar Tab (ChartGroup)

The RowFormat: dropdown specifies whether the rows are interpreted in fixed or histogram format.

Chart3D.ChartArea.Bar.RowFormat

The RowSpacing: textbox specifies the percentage of space used by each bar along the rows.

Chart3D.ChartArea.Bar.RowSpacing

The ColumnFormat: dropdown specifies whether the columns are interpreted in fixed or histogram format.

Chart3D.ChartArea.Bar.ColumnFormat

The ColumnSpacing: textbox specifies the percentage of space used by each bar along the columns.

Chart3D.ChartArea.Bar.ColumnSpacing


Bar Colors Tab (ChartGroup)

Pressing the Add… adds custom bar color to the chart.

Chart3D.ChartArea.Bar.Colors.Add

Pressing the Remove button removes the currently highlighted bar color.

Chart3D.ChartArea.Bar.Colors.Remove


Scatter Tab (ChartGroup)

When selected (checked), the HasDroplines checkbox sets the HasDroplines property to add drop lines to the scatter plot.

Chart3D.ChartGroups.Item(ii).Elevation.HasDropLines

For more information, see Special Scatter Plot Properties.


Surface Tab (ChartGroup)

When selected (checked), the IsSolid checkbox sets the IsSolid property so that 3D surface charts display a solid skirt around the data.

Chart3D.ChartArea.Surface.IsSolid

When selected (checked), the IsRowMeshShowing checkbox sets the IsRowMeshShowing property so that the chart displays the row mesh when ChartGroup IsMeshed property is used.

Chart3D.ChartArea.Surface.IsRowMeshShowing

When selected (checked), the IsColumnMeshshowing checkbox sets the IsColumnMeshShowing property so that the chart displays the column mesh when ChartGroup IsMeshed property is used.

Chart3D.ChartArea.Surface.IsColumnMeshShowing

The RowMeshFilter: textbox specifies the amount to filter display of row mesh lines. When 0, the chart filters automatically. When greater than 0, the chart displays each nth mesh line.

The ColumMeshFilter: textbox specifies the amount to filter display of column mesh lines. When 0, the chart filters automatically. When greater than 0, the chart displays each nth mesh line.

For more information, see Modifying the Surface Appearance.


Labels Tab (ChartGroup)

The Add: button allows you to add labels after the selected label in the pane.

Chart3D.ChartGroups.Item(ii).ColumnLabels.Add

Chart3D.ChartGroups.Item(ii).RowLabels.Add

The Remove: button removes the selected label.

Chart3D.ChartGroups.Item(ii).ColumnLabels.Remove

Chart3D.ChartGroups.Item(ii).RowLabels.Remove

The Text: textbox allows you to enter or edit the label text.

Chart3D.ChartGroups.Item(ii).ColumnLabels.Item(ii).Text.Text

Chart3D.ChartGroups.Item(ii).RowLabels.Item(ii).Text.Text


Elevation Tab (ChartGroup)

Color Area

The RGB: textbox lists the RGB value of the mesh for a specific area highlighted in the pane. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by the area.

Chart3D.ChartGroups.Item(ii).Elevation.MeshTopColor

Chart3D.ChartGroups.Item(ii).Elevation.MeshBottomColor

Chart3D.ChartGroups.Item(ii).Elevation.ShadedTopColor

Chart3D.ChartGroups.Item(ii).Elevation.ShadedBottomColor

For more information, see Formatting the Mesh.


Internet Tab (ChartGroup)

The Datapath: textbox allows you to specify a URL from which to load a chart data (.DAT) file during run time.

Chart3D1.ChartGroups(i).Data.DataPath


Styles Page

The attributes that define how the contour lines and zoning colors look in a chart are called ContourStyles. This page lists the currently defined ContourStyles and allows you to modify them as required. You can modify each ContourStyle by highlighting a specific style in the left pane then choosing the inner tab and property you wish to change.

To add a new style, press the Add… button. To remove a style, simply highlight the style you wish to delete and press the Remove button.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Add

Chart3D.ChartGroups.Item(ii).Contour.Styles.Remove

For more information, see Using ContourStyles.


General Tab (Styles)

The Load… button allows you to load a new set of ContourStyles, replacing the current Styles.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Load

The Save… button allows you to save the current set of ContourStyles to a file.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Save

The ResetStyles button allows you to reset all ContourStyle customizations and use the chart’s 100 built-in Styles.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Reset


FillStyle Tab (Styles)

Color Area

The RGB: textbox lists the RGB value of the fill color. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by fill.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Item(ii).FillStyle.Color


LineStyle Tab (Styles)

The Pattern: dropdown allows you to change the line pattern style for the various chart areas.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Item(ii).LineStyle.Parent

The Width: textbox allows you to specify the thickness of the actual chart area outlines.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Item(ii).LineStyle.Width

Color Area

The RGB: textbox lists the RGB value of the outline for a line. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by the line.

Chart3D.ChartGroups.Item(ii).Contour.Styles.Item(ii).LineStyle.Color


Titles Page

This page lists the currently defined Titles (Header and Footer) and allows you to modify them as required. You can modify each Title by highlighting the specific header or footer in the left pane then choosing the inner tab and property you wish to change.

For more information, see Adding Header and Footer Titles.

General Tab (Titles)

Label Tab (Titles)

Location Tab (Titles)

Border Tab (Titles)

Interior Tab (Titles)

Font Tab (Titles)

Image Tab (Titles)


General Tab (Titles)

The Adjust: dropdown allows you to determine the alignment of multiple lines of text within the title (Right, Left or Center).

Chart3D.Header.Adjust

Chart3D.Footer.Adjust

When selected (checked), the IsShowing checkbox causes the chart Title to be visible.

Chart3D.Header.IsShowing

Chart3D.Footer.IsShowing


Label Tab (Titles)

The Text: textbox provides you with a place to enter and edit text for each label.

Chart3D.Header.Text.Text

Chart3D.Footer.Text.Text


Location Tab (Titles)

The Left: textbox specifies the distance from the left edge of the chart to the header or footer in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.Header.Location.Left.Value

Chart3D.Footer.Location.Left.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Left value.

Chart3D.Header.Location.Left.IsDefault

Chart3D.Footer.Location.Left.IsDefault

The Top: textbox specifies the distance from the top edge of the chart to the header or footer in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.Header.Location.Top.Value

Chart3D.Footer.Location.Top.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Top value.

Chart3D.Header.Location.Top.IsDefault

Chart3D.Footer.Location.Top.IsDefault

The Width: textbox specifies the width of the header or footer area in pixels. If this option is disabled, you cannot change the width of this area.

Chart3D.Header.Location.Width.Value

Chart3D.Footer.Location.Width.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Width value.

Chart3D.Header.Location.Width.IsDefault

Chart3D.Footer.Location.Width.IsDefault

The Height: textbox specifies the height of the header or footer area in pixels. If this option is disabled, you cannot change the height of this area.

Chart3D.Header.Location.Height.Value

Chart3D.Footer.Location.Height.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Height value.

Chart3D.Header.Location.Height.IsDefault

Chart3D.Footer.Location.Height.IsDefault


Border Tab (Titles)

The Type: dropdown box allows you to choose one of the pre-set BorderType properties to be drawn around the header or footer area. If this option is disabled, you cannot change the border type for this area.

Chart3D.Header.Border.Type

Chart3D.Footer.Border.Type

The Width: textbox allows you to set the width of the border in pixels.

Chart3D.Header.Border.Width

Chart3D.Footer.Border.Width

For more information, see Using Borders.


Interior Tab (Titles)

Background Color Area

The RGB: textbox lists the RGB value of the specified background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the active chart area.

Chart3D.Header.Interior.BackgroundColor

Chart3D.Footer.Interior.BackgroundColor

Foreground Color Area

The RGB: textbox lists the RGB value of the specified foreground (text). The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a foreground by the active chart area.

Chart3D.Header.Interior.ForegroundColor

Chart3D.Footer.Interior.ForegroundColor

For more information, see Setting Colors.


Font Tab (Titles)

The Description: textbox lists the font type and font size being used by the header or footer text. The ellipsis button to the right of the textbox opens the font browser.

Chart3D.Header.Font.Name

Chart3D.Header.Font.Size

Chart3D.Header.Font.Bold

Chart3D.Header.Font.Italic

Chart3D.Header.Font.Underline

Chart3D.Header.Font.Strikethrough

Chart3D.Header.Font.Weight

Chart3D.Header.Font.Charset

Chart3D.Footer.Font.Name

Chart3D.Footer.Font.Size

Chart3D.Footer.Font.Bold

Chart3D.Footer.Font.Italic

Chart3D.Footer.Font.Underline

Chart3D.Footer.Font.Strikethrough

Chart3D.Footer.Font.Weight

Chart3D.Footer.Font.Charset

For more information, see Choosing Fonts.


Image Tab (Titles)

The File: textbox lists the current image (including path) used in the background of the header or footer. The ellipsis button next to the textbox opens the browser to locate the image that you wish to use.

Chart3D.Header.Interior.Image.FileName

Chart3D.Footer.Interior.Image.FileName

The Layout: dropdown allows you to format the position of the image within the header or footer.

Chart3D.Header.Interior.Image.Layout

Chart3D.Footer.Interior.Image.Layout

When selected (checked), the IsEmbedded checkbox sets the IsEmbedded property so that the image is embedded within the file rather than being linked to the chart.

Chart3D.Header.Interior.Image.IsEmbedded

Chart3D.Footer.Interior.Image.IsEmbedded

When selected (checked), the HasMinimumSize checkbox sets the HasMinimumSize property so that the text area (header or footer) where the image is used will be sized according to the image.

Chart3D.Header.Interior.Image.HasMinimumSize

Chart3D.Footer.Interior.Image.HasMinimumSize

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the bitmap image is rendered as a transparent bitmap.

Chart3D.Header.Interior.Image.IsTransparent

Chart3D.Footer.Interior.Image.IsTransparent

Pressing the Reset button removes the current image from the header or footer and clears the File textbox.

For more information, see Adding Images to Chart Elements.


Legend Page

A Legend displays the visual attributes used for each series in scatter chart, with text that labels the series. This page lists the currently defined Legend and allows you to modify it as required.

For more information, see Formatting the Legend.

General Tab (Legend)

Title Tab (Legend)

Labels Tab (Legend)

Location Tab (Legend)

Border Tab (Legend)

Interior Tab (Legend)

Font Tab (Legend)

Image Tab (Legend)


General Tab (Legend)

The Anchor: dropdown allows you to specify where the legend it positioned in relation to the ChartArea.

Chart3D.Legend.Anchor

The Orientation: dropdown allows you to specify the layout of the items in the Legend.

Chart3D.Legend.Orientation

The Type: dropdown allows you to specify whether to use a continuous or stepped legend style.

Chart3D.Legend.Type

The Range: dropdown allows you to set the legend range. If Data is selected, only the custom levels matching the data are shown in the legend. Otherwise, all levels are shown.

Chart3D.Legend.DistributionRange

When selected (checked), the IsShowing checkbox sets the IsShowing property so that the Legend is visible.

Chart3D.Legend.IsShowing


Title Tab (Legend)

The Text: textbox allows you to specify the title of the legend.

Chart3D.Footer.Text.Text


Labels Tab (Legend)

The Add: button allows you to add labels to the legend.

Chart3D.Legend.Labels.Add

The Remove: button allows you to remove the selected label.

Chart3D.Legend.Labels.Remove

The LabelFilter: textbox allows you to specify the label filter.

Chart3D.Legend.LabelFilter


Location Tab (Legend)

The Left: textbox specifies the distance from the left edge of the chart to the legend in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.Legend.Location.Left.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Left value.

Chart3D.Legend.Location.Left.IsDefault

The Top: textbox specifies the distance from the top edge of the chart to the legend in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.Legend.Location.Top.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Top value.

Chart3D.Legend.Location.Top.IsDefault

The Width: textbox specifies the width of the legend in pixels. If this option is disabled, you cannot change the width of this area.

Chart3D.Legend.Location.Width.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Width value.

Chart3D.Legend.Location.Width.IsDefault

The Height: textbox specifies the height of the legend in pixels. If this option is disabled, you cannot change the height of this area.

Chart3D.Legend.Location.Height.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Height value.

Chart3D.Legend.Location.Height.IsDefault

For more information, see Positioning Chart Elements.


Border Tab (Legend)

The Type: dropdown box allows you to choose one of the pre-set BorderType properties to be drawn around the legend area. If this option is disabled, you cannot change the border type for this area.

Chart3D.Legend.Border.Type

The Width: textbox allows you to set the width of the border in pixels.

Chart3D.Legend.Border.Width

For more information, see Using Borders.


Interior Tab (Legend)

Background Color Area

The RGB: textbox lists the RGB value of the of the legend background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the legend area.

Chart3D.Legend.Interior.BackgroundColor

Foreground Color Area

The RGB: textbox lists the RGB value of the of the legend foreground (text). The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a foreground by the legend area.

Chart3D.Legend.Interior.ForegroundColor

For more information, see Setting Colors.


Font Tab (Legend)

The Description: textbox lists the font type and font size being used by the legend text. The ellipsis button to the right of the textbox opens the font browser.

Chart3D.Legend.Font.Name

Chart3D.Legend.Font.Size

Chart3D.Legend.Font.Bold

Chart3D.Legend.Font.Italic

Chart3D.Legend.Font.Underline

Chart3D.Legend.Font.Strikethrough

Chart3D.Legend.Font.Weight

Chart3D.Legend.Font.Charset

For more information, see Choosing Fonts.


Image Tab (Legend)

The File: textbox lists the current image (including path) used in the background of the legend. The ellipsis button next to the textbox opens the browser to locate the image that you wish to use.

Chart3D.Legend.Interior.Image.FileName

The Layout: dropdown allows you to format the position of the image within the legend.

Chart3D.Legend.Interior.Image.Layout

When selected (checked), the IsEmbedded checkbox sets the IsEmbedded property so that the image is embedded within the file rather than being linked to the chart.

Chart3D.Legend.Interior.Image.IsEmbedded

When selected (checked), the HasMinimumSize checkbox sets the HasMinimumSize property so that the area where the image is used will be sized according to the image.

Chart3D.Legend.Interior.Image.HasMinimumSize

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the bitmap image is rendered as a transparent bitmap.

Chart3D.Legend.Interior.Image.IsTransparent

Pressing the Reset button removes the current image from the legend and clears the File textbox.

For more information, see Adding Images to Chart Elements.


ChartArea Page

The ChartArea is the section of the chart that contains the chart elements including the graphic representation of the date, the axes and axes titles. This page lists the currently defined properties for the ChartArea and allows you to modify them as required.

Location Tab (ChartArea)

Border Tab (ChartArea)

Interior Tab (ChartArea)

Image Tab (ChartArea)


Location Tab (ChartArea)

The Left: textbox specifies the distance from the left edge of the chart to the chartarea in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.ChartArea.Location.Left.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Left value.

Chart3D.ChartArea.Location.Left.IsDefault

The Top: textbox specifies the distance from the top edge of the chart to the chartarea in pixels. If this option is disabled, you cannot change the position of this area.

Chart3D.ChartArea.Location.Top.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Top value.

Chart3D.ChartArea.Location.Top.IsDefault

The Width: textbox specifies the width of the chartarea in pixels. If this option is disabled, you cannot change the width of this area.

Chart3D.ChartArea.Location.Width.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Width value.

Chart3D.ChartArea.Location.Width.IsDefault

The Height: textbox specifies the height of the chartarea in pixels. If this option is disabled, you cannot change the height of this area.

Chart3D.ChartArea.Location.Height.Value

When selected (checked), the IsDefault checkbox causes the chart to automatically control the Height value.

Chart3D.ChartArea.Location.Height.IsDefault


Border Tab (ChartArea)

The Type: dropdown box allows you to choose one of the pre-set BorderType properties to be drawn around the chartarea. If this option is disabled, you cannot change the border type for this area.

Chart3D.ChartArea.Border.Type

The Width: textbox allows you to set the width of the border in pixels.

Chart3D.ChartArea.Border.Width

For more information, see Using Borders.


Interior Tab (ChartArea)

Background Color Area

The RGB: textbox lists the RGB value of the of the chartarea background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the chartarea.

Chart3D.ChartArea.Interior.BackgroundColor

Foreground Color Area

The RGB: textbox lists the RGB value of the of the chartarea foreground (text). The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a foreground by the chartarea.

Chart3D.ChartArea.Interior.ForegroundColor

For more information, see Setting Colors.


Image Tab (ChartArea)

The File: textbox lists the current image (including path) used in the background of the chartarea. The ellipsis button next to the textbox opens the browser to locate the image that you wish to use.

Chart3D.ChartArea.Interior.Image.FileName

The Layout: dropdown allows you to format the position of the image within the chartarea.

Chart3D.ChartArea.Interior.Image.Layout

When selected (checked), the IsEmbedded checkbox sets the IsEmbedded property so that the image is embedded within the file rather than being linked to the chart.

Chart3D.ChartArea.Interior.Image.IsEmbedded

When selected (checked), the HasMinimumSize checkbox sets the HasMinimumSize property so that the area where the image is used will be sized according to the image.

Chart3D.ChartArea.Interior.Image.HasMinimumSize

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the bitmap image is rendered as a transparent bitmap.

Chart3D.ChartArea.Interior.Image.IsTransparent

Pressing the Reset button removes the current image from the chartarea and clears the File textbox.

For more information, see Adding Images to Chart Elements.


PlotCube Page

This page lists the currently defined properties for the PlotCube and allows you to modify them as required.

For more information, see Customizing the PlotCube.

General Tab (PlotCube)

Ceiling Tab (PlotCube)

Floor Tab (PlotCube)

Viewport Tab (PlotCube)

Interior Tab (PlotCube)


General Tab (PlotCube)

The XScale: textbox value scales the X dimension of the PlotCube as a percentage of its Z dimension.

Chart3D.ChartArea.PlotCube.XScale

The YScale: textbox value scales the Y dimension of the PlotCube as a percentage of its Z dimension.

Chart3D.ChartArea.PlotCube.YScale

For more information, see Customizing the PlotCube.


Ceiling Tab (PlotCube)

When selected (checked), the IsContoured checkbox sets the IsContoured property so that contour lines are drawn on the PlotCube’s ceiling.

Chart3D.ChartArea.PlotCube.Ceiling.Projection.IsContoured

When selected (checked), the IsZoned checkbox sets the IsZoned property so that zone colors are drawn on the PlotCube’s ceiling.

Chart3D.ChartArea.PlotCube.Floor.Projection.IsZoned


Floor Tab (PlotCube)

When selected (checked), the IsContoured checkbox sets the IsContoured property so that contour lines are drawn on the PlotCube’s floor.

Chart3D.ChartArea.PlotCube.Floor.Projection.IsContoured

When selected (checked), the IsZoned checkbox sets the IsZoned property so that zone colors are drawn on the PlotCube’s floor.

Chart3D.ChartArea.PlotCube.Floor.Projection.IsZoned

For more information, see Setting Colors.


Viewport Tab (PlotCube)

When selected (checked), the IsNormalized checkbox sets the IsNormalized property so that the chart processes the view to avoid clipping. Note: This can make it harder to interactively rotate the chart. For smooth rotating, turn this off.

Chart3D.ChartArea.Viewport.IsNormalized

The Scale: textbox specifies the degree to scale the view, allowing you to effectively “zoom-in” or “zoom-out” on the chart.

Chart3D.ChartArea.Viewport.ScaleFactor

The HorizontalShift: textbox specifies the horizontal distance to shift the view of the chart, from the bottom-left corner.

Chart3D.ChartArea.Viewport.HorizontalShift

The VerticalShift: textbox specifies the vertical distance to shift the view, from the bottom-left corner.

Chart3D.ChartArea.Viewport.VerticalShift

For more information, see Setting Colors.


Interior Tab (PlotCube)

Background Color Area

The RGB: textbox lists the RGB value of the of the plotcube background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the plotcube.

Chart3D.ChartArea.Interior.BackgroundColor

Foreground Color Area

The RGB: textbox lists the RGB value of the of the plotcube foreground (text). The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a foreground by the plotcube.

Chart3D.ChartArea.Interior.ForegroundColor

For more information, see Setting Colors.


ChartLabels Page

A ChartLabel is a text label that displays in front of the chart data. This page lists the currently defined properties for the ChartLabels and allows you to modify them as required. You can modify each Label by highlighting the specific item in the left pane then choosing the inner tab and property you wish to change.

To add a new label, press the Add… button and type the desired label text in the Add Label textbox that appears, then press OK. To remove a label, simply highlight the label you wish to delete and press the Remove button.

Chart3D.ChartLabels.Add

Chart3D.ChartLabels.Remove

For more information, see Using ChartLabels.

General Tab (ChartLabels)

Attach Tab (ChartLabels)

Label Tab (ChartLabels)

Border Tab (ChartLabels)

Interior Tab (ChartLabels)

Font Tab (ChartLabels)

Image Tab (ChartLabels)


General Tab (ChartLabels)

When selected (checked), the IsShowing checkbox sets the IsShowing property so that the chartlabel is visible.

Chart3D.ChartLabels.Item(ii).IsShowing

When selected (checked), the IsConnected checkbox sets the IsConnected property so there is a line drawn from the chartlabel to its attachment point.

Chart3D.ChartLabels.Item(ii).IsConnected

The Name: textbox provides a place to modify the name of each label.

Chart3D.ChartLabels.Item(ii).Name

The Adjust: dropdown allows you to specify how to align multiple lines of text in the selected chartlabel.

Chart3D.ChartLabels.Item(ii).Adjust

The Plane: dropdown allows you to specify the plane to face the ChartLabel, when attached by DataIndex or DataCoordinates.

Chart3D.ChartLabels.Item(ii).Plane


Attach Tab (ChartLabels)

The AttachMethod… button allows you to modify the how the chartlabel is attached in the Select Attach Method window. Note, the By DataIndex: text, located below the button shows the coordinate location of the chartlabel.

Chart3D.ChartLabels.Item(ii).AttachMethod

Offsets Area

The Horizonal: textbox specifies the horizontal distance between the ChartLabel and its attachment point, when attached by coordinates or when the chart is a 2D projection.

Chart3D.ChartLabels.Item(ii).HorizontalOffset

The Vertical: textbox specifies the vertical distance between the ChartLabel and its attachment point, when attached by coordinates or when the chart is a 2D projection.

Chart3D.ChartLabels.Item(ii).VerticalOffset

By utilizing the Select Attach Method window, chartlabels can be attached to screen coordinates, datacoordinates, or a dataindex.

For more information, see Using ChartLabels.


Label Tab (ChartLabels)

The Text: textbox provides you with a place to enter and edit text for each chartlabel.

Chart3D.ChartLabels.Item(ii).Text.Text


Border Tab (ChartLabels)

The Type: dropdown box allows you to choose one of the pre-set BorderType properties to be drawn around the chartlabel. If this option is disabled, you cannot change the border type for this area.

Chart3D.ChartLabels.Item(ii).Border.Type

The Width: textbox allows you to set the width of the border in pixels.

Chart3D.ChartLabels.Item(ii).Border.Width

For more information, see Using Borders.


Interior Tab (ChartLabels)

Background Color Area

The RGB: textbox lists the RGB value of the of the chartlabel background. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a background by the chartlabel.

Chart3D.ChartLabels.Item(ii).Interior.BackgroundColor

Foreground Color Area

The RGB: textbox lists the RGB value of the of the chartlabel foreground (text). The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used as a foreground by the chartlabel.

Chart3D.ChartLabels.Item(ii).Interior.ForegroundColor

For more information, see Setting Colors.


Font Tab (ChartLabels)

The Stroke: dropdown box allows you to specify the font type for the chartlabel.

Chart3D.ChartLabels.Item(ii).StrokeFont.Stroke

The Size: textbox allows you to specify font size for the Chartlabel, if the ChartLabel is attached by DataIndex or DataCoord. The size is specified in thousandths of the PlotCube’s length. If the ChartLabel is attached by coordinates, then the Size property is ignored and the font size is selected by the font browser.

Chart3D.ChartLabels.Item(ii).StrokeFont.TrueType.Size

The TrueType: textbox lists the font type and font size being used by the chartlabel. The ellipsis button to the right of the textbox opens the font browser.

For more information, see Choosing Fonts.


Image Tab (ChartLabels)

The File: textbox lists the current image (including path) used in the background of the chartlabel. The ellipsis button next to the textbox opens the browser to locate the image that you wish to use.

Chart3D.ChartLabels.Item(ii).Interior.Image.FileName

The Layout: dropdown allows you to format the position of the image within the chartlabel.

Chart3D.ChartLabels.Item(ii).Interior.Image.Layout

When selected (checked), the IsEmbedded checkbox sets the IsEmbedded property so that the image is embedded within the file rather than being linked to the chart.

Chart3D.ChartLabels.Item(ii).Interior.Image.IsEmbedded

When selected (checked), the HasMinimumSize checkbox sets the HasMinimumSize property so that the area where the image is used will be sized according to the image.

Chart3D.ChartLabels.Item(ii).Interior.Image.HasMinimumSize

When selected (checked), the IsTransparent checkbox sets the IsTransparent property so that the bitmap image is rendered as a transparent bitmap.

Chart3D.ChartLabels.Item(ii).Interior.Image.IsTransparent

Pressing the Reset button removes the current image from the chartlabel and clears the File textbox.

For more information, see Adding Images to Chart Elements.


View3D Page

This page lists the currently defined properties for the 3D Effects and allows you to modify them as required.

For more information, see Modifying the 3D View.


General Tab (View3D)

The Perspective: textbox specifies the amount of perspective by adjusting the “vanishing point” for each plane.

Chart3D.ChartArea.View3D.Perspective

The XRotation: textbox specifies the rotation angle of the X-axis in degrees.

Chart3D.ChartArea.View3D.XRotation

The YRotation: textbox specifies the rotation angle of the Y-axis in degrees.

Chart3D.ChartArea.View3D.YRotation

The ZRotation: textbox specifies the rotation angle of the Z-axis in degrees.

Chart3D.ChartArea.View3D.ZRotation


Levels Page

This page lists the currently defined properties for the chart Contour Levels and allows you to modify them as required.

To add a new Contour Level, press the Add… button and type the desired level value in the Add Contour Level textbox that appears, then press OK. To remove a level, simply highlight the level you wish to delete and press the Remove button.

Chart3D.ChartGroups.Item(ii).Contour.Levels.Add

Chart3D.ChartGroups.Item(ii).Contour.Levels.Remove


General Tab (Levels)

When selected (checked), the IsDefault checkbox sets the IsDefault property so that the chart uses its own linear distribution table.

Chart3D.ChartGroups.Item(ii).Contour.Levels.IsDefault

The Levels: textbox specifies the number of contour levels. If this option is disabled, the distribution table has been customized, so you cannot change the number of levels.

Chart3D.ChartGroups.Item(ii).Contour.Levels.NumLevels

The Load… button allows you to load a new set of ContourLevels, replacing the current levels.

Chart3D.ChartGroups.Item(ii).Contour.Levels.Load

The Save… button allows you to save the current set of ContourLevels to a file.

Chart3D.ChartGroups.Item(ii).Contour.Levels.Save


ChartStyles Page

The group of attributes that define how a series of data looks in the chart is called a ChartStyle. This page lists the currently defined Chartstyles and allows you to modify them as required. You can modify each ChartStyle by highlighting a specific style in the left pane then choosing the inner tab and property you wish to change.

To add a new style, press the Add… button. To remove a level, simply highlight the style you wish to delete and press the Remove button.

Chart3D.ChartGroups.Item(ii).Styles.Add

Chart3D.ChartGroups.Item(ii).Styles.Remove

For more information, see Changing ChartStyles.


LineStyle Tab (ChartStyles)

The Pattern: dropdown allows you to change the line pattern style for the various chart areas.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).LineStyle.Pattern

The Width: textbox allows you to specify the thickness of the lines in pixels.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).LineStyle.Width

Color Area

The RGB: textbox lists the RGB value of the line color. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by the line.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).LineStyle.Color


SymbolStyle Tab (ChartStyles)

The Shape: dropdown allows you to change the data marker symbol for the scatter charts.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).Symbol.Shape

The Size: textbox allows you to specify the size of the data marker symbol.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).Symbol.Size

Color Area

The RGB: textbox lists the RGB value of the data marker symbol. The ellipsis button next to the textbox opens the customized color pallet.

The Name: textbox lists the current color that is being used by the data marker symbol.

Chart3D.ChartGroups.Item(ii).Styles.Item(ii).Symbol.Color


Programming Considerations

Controlling the chart in an application program is generally quite straightforward once you are familiar with the object hierarchy. For most chart objects, the examples and overviews in the Object Reference provide all the information needed to program them.

The following topics cover programming considerations for the 3D Chart.

Object Hierarchy

Programming with Objects

Programming In C++

Compatibility Issues


Object Hierarchy

The following are the high-level objects defined as children of the 3D Chart control:


Programming with Objects

When you create a 3D Chart control, a Chart3D object is created. This object, like other Visual Basic objects, has properties defined for it. You can change the behavior of your chart by changing these properties.

The Object Reference describes the Chart3D object, the sub-objects automatically created when the Chart3D object is created, and the properties defined for each object. Properties that are read-only are indicated as such in their object description.

A Simple Example

Navigating the Object Hierarchy

Default Properties

Using a Collection

Accessing Each of the Elements of a Collection

Calling Methods


A Simple Example

The following statement turns off the chart's double buffering feature by setting the IsDoubleBuffered property of the Chart3D object to False:

Chart3D1.IsDoubleBuffered = False

By default, the first Chart3D object created in an application is named Chart3D1, the second is named Chart3D2, and so on. This is standard Visual Basic behavior.


Navigating the Object Hierarchy

As with other Visual Basic objects, you can access a specific object by navigating its object hierarchy. For example, the following code retrieves the background color of the main body of the chart:

Dim BackColor As Long

BackColor = Chart3D1.ChartArea.Interior.BackgroundColor


Default Properties

If an object is referenced in a statement without a property being specified, the object's default property is assumed. For example, the default property for the Border object is the Type property, which means that the following two statements are equivalent:

Chart3D1.ChartArea.Header.Border.Type = oc3dBorderShadow

Chart3D1.ChartArea.Header.Border = oc3dBorderShadow

Both of the above statements change the value of the Type property to oc3dBorderShadow.


Using a Collection

Many 3D Chart objects are organized into collections. For example, the chart axes are organized into the Axes collection.

All collections are indexed by number, with 1 referring to the first element of the collection, 2 the second, and so on. If the objects in a collection have a Name property, the collection can also be indexed by object name. For example:

Chart3D1.ChartArea.Axes("X").Max = 25.1

This statement accesses the axis named “X” (the X-axis), and sets the maximum value of this axis to 25.1. Note that Visual Basic recognizes the default Item property of the collection, whereas other environments may require an explicit reference to the Item property:

Chart3D1.ChartArea.Axes.Item("X").Max = 25.1

Some 3D Chart collections are static, whereas others are dynamic. Dynamic collections have Add and Remove methods defined. Elements cannot be added to or removed from static collections.

For more details on the behavior of Visual Basic collections, refer to the Visual Basic documentation.


Accessing Each of the Elements of a Collection

Visual Basic enables you to access each of the elements of a collection in turn using the For Each statement. For example, the following code sets the vertical pixel offset (the distance between the center of each chart label and its point of attachment) to 10:

For Each Label in Chart3D1.ChartLabels

Label.VerticalOffset = 10

Next

Each collection defines a Count property whose value is the current number of objects in the collection. You can use Count to access some or all of the elements of a collection. For example, the following is another way to set the vertical pixel offset for the chart labels:

Dim Counter As Integer

For Counter = 1 To Chart3D1.ChartLabels.Count

Chart3D1.ChartLabels(Counter).VerticalOffset = 10

Next


Calling Methods

To call a 3D Chart method, access the object with which it is associated. For example, the following statement uses the DataCoordToCoord method, defined by the ChartGroups collection, to convert the data coordinates (5.1, 10.2, 8.4) to their equivalent pixel coordinates:

Chart3D1.ChartGroups(1).DataCoordToCoord 5.1, 10.2, 8.4, PixelX, PixelY

Each method is described in the help page for its associated object. For example, DataCoordToCoord is described in the ChartGroups collection help page.


Programming In C++

The 3D Chart can be used in the Visual C++ (version 4.0 or later) environment, which creates programs written in the C++ programming language. The chart will not work properly with earlier versions of Visual C++.

Inserting the 3D Chart Control into an OLE Container Project

Adding the 3D Chart Control to the Main Dialog Box

Adding a Member Variable to a Project

Programming the 3D Chart Control

Setting an Object Property

Using Collections

Calling a Method

Demo Programs


Inserting the 3D Chart Control into an OLE Container Project

In the Visual C++ environment, a 3D Chart control behaves like any other OLE control, which means that it can be incorporated into a container such as a dialog or an application window.

To add the 3D Chart control to an OLE container project, use Component Gallery as follows:

1.

From the Insert menu, select Component. The Component Gallery dialog box appears.

2.

Select the OLE Controls tab.

3.

Select the 3D Chart control icon in the Component Gallery window.

4.

Click the Insert button. This displays a Confirm Classes dialog box, which lists the 3D Chart control classes.

5.

Click the OK button to accept the class generated by Component Gallery.

6.

Click the Close button to close Component Gallery.

7.

At this point, the 3D Chart wrapper class, CChart3D, is added to your project. This means that the 3D chart control can now be added to your application's main dialog box, as shown below.


Adding the 3D Chart Control to the Main Dialog Box

To add the 3D Chart control to your dialog template, perform the following steps:

1.

Load the container project into Developer Studio.

2.

In the Project Workspace window, click the ResourceView button.

3.

Open the Dialog folder.

4.

Double-click the main dialog box template.

5.

Choose the 3D Chart control icon from the Controls toolbar.

6.

Position the mouse in the dialog box, and click to position the 3D Chart control.

7.

From the File menu, choose Save All.


Adding a Member Variable to a Project

Once the 3D Chart control has been added to the project and placed in the dialog box container, you can access this control from other parts of your project. The easiest way to do this is to create a member variable of the dialog class, CContainerDlg, of type CChart3D (the 3D Chart wrapper class). To create a member variable, perform the following steps:

1.

Load the OLE container project.

2.

Choose ClassWizard from the View menu.

3.

Choose the Member Variables tab.

4.

From the Class Name list box, select the main dialog class (CContainerDlg).

5.

From the ControlIDs list box, select the control ID of the embedded 3D Chart control.

6.

Click the Add Variable button to display the Add Member Variable dialog box.

7.

In the Member Variable edit box, enter a name.

8.

Select Control from the Category list box.

9.

Click OK to close the Add Member Variables dialog box.

10.

Click OK to exit ClassWizard.

The member variable you have just added can now be used to access the embedded 3D Chart control.


Programming the 3D Chart Control

At this point, you are ready to actually program the control. To do this, note the following:

•

A wrapper class header file is defined for each 3D Chart object. Examples: the wrapper class header file for the Chart3D object is named chart3d.cpp, and the wrapper class header file for the Border object is named border.cpp.

•

The wrapper class header file for an object defines two routines for each of its properties: a routine that gets the current value of the property, and a routine that sets the value of the property. For example, the chart3d.cpp file defines two routines for the IsDoubleBuffered property of the Chart3D object: GetIsDoubleBuffered(), which gets the current value of the IsDoubleBuffered property, and SetIsDoubleBuffered(), which sets the value of the IsDoubleBuffered property.

•

Methods defined for an object are included in the wrapper class header file for the object.


Setting an Object Property

The following statement sets the background color of the chart area. The variable m_chart contains an instance of a Chart3D object (the main 3D Chart object).

m_chart.GetChartArea().GetInterior().SetBackgroundColor(

RGB(247,206,151));

This statement navigates the 3D Chart object hierarchy by retrieving the values of successive properties. First, the value of the ChartArea property is retrieved, which is a ChartArea object. Then, this ChartArea object's Interior property is retrieved, which is an Interior object. Finally, the Interior object's BackgroundColor property is set.


Using Collections

Many 3D Chart objects are organized into collections. For example, the chart axes are organized into the Axes collection.

To access a particular element of a collection, specify the index which uniquely identifies this element. For example, the following code changes the maximum value of the X-axis to 25.1:

Caxis axisX(m_chart.GetChartArea().GetAxes().GetItem(COleVariant("x")));

axisX.GetMax().SetValue(25.1);

Note that the index 1 refers to the first element of a collection.


Calling a Method

To call a 3D Chart method, access the object with which it is associated. For example, the following statement uses the DataCoordToCoord method, defined by the ChartGroups collection, to convert the data coordinates (5.1, 10.2, 14.3) to their equivalent pixel coordinates:

long pixelx, pixely;

m_chart.GetChartGroups().GetItem(COleVariant(short(1)))

.DataCoordToCoord(5.1, 10.2, 14.3, &pixelx, &pixely);

Each method is described in the help page for its associated object. For example, DataCoordToCoord is described in the ChartGroups collection help page.


Demo Programs

Sample C++ programs, created using Visual C++, are included as part of the ComponentOne Chart distribution. These sample programs are contained in the \CHART\3D\DEMOS\VC directory.


Compatibility Issues

The following compatibility issues affect the behavior of the 3D Chart control in various Windows environments.

Predefined Dash Styles used in Windows 3.x, Windows 95, and Windows 98

In the Windows 3.x, Windows 95, and Windows 98 environments, lines are drawn using the dash styles predefined by Microsoft Windows. As a consequence, some 2D Chart dash styles are not displayed exactly as specified. The following dash styles are affected:

•

The short dash pattern (oc2dLineShortDash) is represented as a dash-dot pattern.

•

The long-short-long dash pattern (oc2dLineLongShortLongDash) is represented as a dash-dot-dot pattern.

Non-solid lines of thickness greater than 1 in Windows95, and Windows 98

In the Windows 95 and Windows 98 environments, any non-solid lines of thickness greater than 1 are rendered as lines with thickness 1.

Line Ends are Rounded in Windows 3.x

In the Windows 3.x environment, the ends of lines drawn in charts are rounded, not square. This becomes noticeable in thick lines.

Windows 3.x and Very Large Data Sets

Very large sets of data may not load properly in the Windows 3.x environment.


Building a Chart

Building a chart is quite easy. The chart can automatically set properties based on the data, so axis numbering and data display usually do not need much customization.

The following topics cover information on the various steps required to create a chart.

Creating Histogram Bar Charts

Annotating the Axes

Axis Labeling Programming Considerations

Setting Axis Bounds

Titling Axes

Customizing the PlotCube

Positioning the Chart

Modifying the 3D View

Adding and Formatting Grid Lines

Creating 4D Charts

Displaying 4D Data

Storing Chart Descriptions in Files

Printing Charts


Creating Histogram Bar Charts

3D bar charts typically display the values along an axis in a fixed format. You can display one or more axes in a histogram format. Histograms may (but usually do not) use an irregular data layout. There is always one less bar because the row/column delta is used for the width of each bar. You can display a bar chart in a histogram format along either the X- or Y-axis.

To Display a Histogram

1.

Set the ChartType property to Bar. The ChartType property is located on the General Tab (ChartGroup) on the Property Pages.

2.

Use the bar RowFormat and ColumnFormat properties to set the display format of the X- and Y-axes respectively. Both RowFormat and ColumnFormat can be either fixed or histogram. These properties are located on the ChartGroup Page Bar Tab on the Property Pages.


Annotating the Axes

The annotation along each axis is an extremely important part of any chart. The 3D chart can annotate any axis with numbers based on the data (Values) or with text you supply that is displayed at axis coordinates (ValueLabels). The X- and Y-axes can also be annotated with text for each point in the data (DataLabels).


Values Annotation

Values automatically generates numeric annotation based on the data itself. Values annotation can be used for any axis.

Use the axis AnnotationMethod property to specify Values annotation for an axis. AnnotationMethod is located on the General Tab (Axes) on the Property Pages.


ValueLabels Annotation

A very flexible type of annotation, ValueLabels displays text you define at a specific axis coordinate. This is useful to label only specific coordinates, or to produce annotation in a form that the chart does not provide. ValueLabels annotation can be used for any axis.

Every label displayed on the axis is one ValueLabel. Each ValueLabel has a Value property and a Label property.

Use the Value property to set the axis coordinate to display the label. Use the Label property to specify the text to display. All ValueLabels properties are located on the ValueLabels Tab (Axes) on the Property Pages. Set AnnotationMethod to ValueLabels for an axis and use this tab to define the labels.


DataLabels Annotation (X- and Y-axes only)

DataLabels displays text you define at each point along the X- or Y-axes. DataLabels annotation cannot be used for the Z-axis.

DataLabels are a collection of labels. The first label applies to the first point, the second label applies to the second point, and so on.

Use the RowLabels and ColumnLabels ChartGroup properties to define and edit DataLabels. These are located on the Labels Tab (ChartGroup) on the Property Pages. Set AnnotationMethod to DataLabels for an axis and use this tab to define the labels.


Axis Labeling Programming Considerations

There are three distinct ways to label axes when using the 3D Chart control:

•

The axis can be automatically labeled based on the range of data.

•

Surface lines or bar row/columns can be individually labeled.

•

Labels can be placed at explicit locations along an axis.

The axis labeling method in use for a particular axis is specified by the AnnotationMethod property. Valid values for this property are specified by the annotation method constants.

If the AnnotationMethod property is set to oc3dAnnotateValues, ComponentOne Chart will automatically annotate the axis based on the range of the data. This is most suitable for the Z-axis, and for surface charts.

If the AnnotationMethod property is set to oc3dAnnotateDataLabels, ComponentOne Chart uses a list of strings to annotate each grid line or bar. This labeling method can only be used on the X- and Y-axes. For the X-axis, the labels are supplied by setting the RowLabels property of the ChartGroup object for this chart. For example, the following code specifies three data labels for each of the three rows of a chart:

With Chart3D1

' assume three rows in chart

.ChartArea.Axis("X").AnnotationMethod = oc3dAnnotateDataLabels

With .ChartGroups(1).RowLabels

.Add "Row 1"

.Add "Row 2"

.Add "Row 3"

End With

End With

Similarly, labels for the Y-axis are supplied by the setting the ColumnLabels property of the ChartGroup object.

If the AnnotationMethod property is set to oc3dAnnotateValueLabels, ComponentOne Chart places labels at explicit locations along an axis. The ValueLabels property, which is a ValueLabels collection, supplies this list of strings and their locations. For example, the following code sets chart labels at the locations 10, 20 and 30:

With Chart3D1.ChartArea.Axis("X")

.AnnotationMethod = oc3dAnnotateValueLabels

With .ValueLabels

.Add 10#, "Label 1"

.Add 20#, "Label 2"

.Add 30#, "Label 3"

End With

End With


Setting Axis Bounds

The chart usually recalculates and redraws the axes whenever data changes. You can fix the bounds of any axis so that it is not recalculated when data changes. For the X- and Y-axes, you can also frame a portion of data by setting axis bounds inside the data bounds.

Set the Axis Minimum and Maximum

Use the Axes Min and Max properties to fix the minimum or maximum axis extent at a particular value. Their IsDefault properties allow the chart to automatically determine axis bounds based on the data bounds. These properties are located on the Scale Tab (Axes) on the Property Pages.

Z-axis Notes

The Z-axis minimum/maximum cannot be set inside the Z-range of the data. If you have fixed an extent for the Z-axis and a subsequent data change puts the range outside of the axis, the chart sets the Z-axis IsDefault property so that its extent is recalculated.

X- and Y-axis Notes

The X- and Y-axis minimum/maximum cannot be set to a location that does not coincide with a line of data. The values are always adjusted upwards so they do coincide.


Titling Axes

Adding a title to an axis clarifies what is charted along that axis. An axis title can have either a stroke or True Type font. You can add a title to any axis and specify the font.

Add an Axis Title

Use the axis Title property to add a title to an axis. To remove the title, delete the text.

Title Font

Use the Stroke and Size CubeFont properties to specify a stroke font for the titles. Use the TrueType property to specify a True Type font for the axes. All axes titles use the same font. See Choosing Fonts for more information on using CubeFonts.

The Title, Stroke, TrueType and Size properties are located on the Title Tab (Axes) on the Property Pages.


Customizing the PlotCube

The PlotCube is the three-dimensional cube enclosing the charted data, the axes, and the annotation. You can customize its shape and other appearance attributes.


Changing the PlotCube Shape

For many charts, the length of each axis is the same, so the PlotCube should appear square. You can change the scale of the X or Y dimension to make the PlotCube appear stretched or flattened. This can be used to make more densely packed data points easier to examine in the chart.

Use the XScale property to scale the X dimension of the PlotCube and the YScale property to scale the Y dimension. The value represents the percentage of the Z dimension to scale. For example, setting XScale to 200 would make the X-axis appear double the length of the Z-axis.

These properties are located on the General Tab (PlotCube) on the Property Pages.


Ceiling and Floor Projections

Contour lines and zone colors can be projected onto the PlotCube’s ceiling and floor. This is useful when you would like to focus the chart on the 3D surface shape but still provide contour or zone information on the chart.

Use the IsContoured and IsZoned Ceiling and Floor properties to project contour lines or zone colors on the sides of the PlotCube. These properties have no effect on 2D charts or bar charts. IsContoured and IsZoned are located on the Ceiling Tab (PlotCube) and Floor Tab (PlotCube) on the Property Pages.


Positioning the Chart

At run-time, the header, footer, legend, and chart area are, by default, positioned by ComponentOne Chart. The default positioning for each of these objects depends on a large number of factors, including:

•

The window's current width and height.

•

The size of the legend, header and footer areas. These, in turn, depend on the text and fonts being used.

•

The positioning of areas which have been explicitly positioned by the user program.

The 3D Chart control's default positioning algorithms will size and position the header, footer and legend areas first. The chart area will be sized and positioned to fit into the largest remaining rectangular area.

To position an area manually, change the properties of its Location object. For example, the following statement sets the Height property to change the height of the chart area:

Chart3D1.ChartArea.Location.Height.Value = 100

You can also change the following area attributes:

•

The Width property specifies the area width.

•

The Left property specifies the distance from the left edge of the area to the Y-axis.

•

The Top property specifies the distance from the top of the area to the X-axis.


Modifying the 3D View

When displaying a three-dimensional bar or surface chart on a two-dimensional screen, the viewing angle determines the parts of the chart that are visible. To enable you to see every part of the chart, you can customize the rotation of the chart and control the perspective effect.

Controlling Perspective Effect

Use the Perspective View3D property to control the perspective effect displayed by the chart. Small values exaggerate the effect and large values diminish it.

Rotating the 3D View

Use the XRotation, YRotation, and ZRotation properties to customize the rotation of the chart. The values are degrees along an axis.

All View3D properties are located on the General Tab (View3D) on the Property Pages.


Adding and Formatting Grid Lines

Displaying a grid on a chart can make it easier to see the exact value of data points. For each axis, you can add grid lines to one or both planes of the PlotCube.

Grid lines are a property of an axis, drawn along and perpendicular to it. The grid is drawn wherever annotation appears on the axis.


Adding Grid Lines

•

Use the GridLines IsOnXYPlane property to add a grid to the XY-plane along the X- or Y-axis.

•

Use the IsOnXZPlane property to add a grid to the XZ-plane along the X- or Z-axis.

•

Use the IsOnYZPlane property to add a grid to the YZ-plane along the Y- or Z-axis.

These properties are located on the GridLines Tab (Axes) on the Property Pages.


Formatting Grid Lines

Use the GridStyle Pattern property to set the grid line drawing pattern, the Width property to set the width, and the Color properties to set the line color. The valid patterns are shown below:

These properties are located on the GridStyle Tab (Axes) on the Property Pages.


Creating 4D Charts

A 4D chart uses color to display a fourth dimension of data on a 3D surface or bar chart. The colors come from a second set of data that the chart uses for the zoning and contouring colors. 4D charts are useful for visualizing two sets of identically-sized data in one chart.


Creating a 4D Chart

Use the following steps and conditions to create a 4D chart:

1.

Add the elevation data to the chart. See Understanding Data Layout for information on adding data to a chart.

2.

Set the IsShaded and IsZoned ChartGroup properties, located on the General Tab (ChartGroup) on the Property Pages.

3.

Add the contour data to the chart. This data will be used to derive the zoning and contouring colors for the fourth dimension of chart information. The contour data is located on the Data Tab (ChartGroup) on the Property Pages.

Note:

The elevation and contour data must have the same origin and the same number of rows and columns. The row and column deltas must also be identical in both. If these conditions are not met, a 4D chart is not displayed.


Notes for 4D Bar Charts

•

When a set of contour data is added to a bar chart and the IsZoned ChartGroup property is set, each bar is drawn with one color (determined by the zoned height of the bar) instead of being drawn as separate colored segments.

•

Contours are never drawn when contour data is added.


Displaying 4D Data

Also, see Creating 4D Charts

3D Chart enables you to display four-dimensional data by representing the fourth dimension as color.

To display four-dimensional data, do the following:

•

Specify the first three dimensions of the data by setting the ElevationData property of the ChartGroup object. For details on how to define three-dimensional data, see Working With Data.

•

Set the fourth dimension by setting the ContourData property of the ChartGroup object.

For example, the following code sets the third and fourth coordinates of the point in the second row and first column to 1.55 and 1.75 respectively:

With Chart3D1.ChartGroups(1)

.ElevationData.Value(2, 1) = 1.55

.ContourData.Value(2, 1) = 1.75

End With

The ContourData property, like the ElevationData property, is of type Chart3DData. For the 4D chart to display properly, the following properties of ContourData must be set:

•

The Layout property must be set to the same value as its ElevationData equivalent.

•

The RowCount, ColumnCount, RowOrigin, ColumnOrigin, RowDelta and ColumnDelta properties must be set to identical values in both ContourData and ElevatedData.

If either of the above conditions are not met, the 4D chart will not be displayed.

In bar charts, each bar is displayed as a single solid color according to the zoned height of the bar.

In plots, the fourth dimension is displayed as zoning and contouring colors:

If any of the fourth-dimensional coordinates are missing (if any Value in the ContourData is set to the value of the HoleValue property), the surface in the region of the hole will be displayed as if the fourth dimension was not attached.


Storing Chart Descriptions in Files

To save a chart description in a file, access the Chart3D object and call the Save method:

Chart3D1.Save "C:\OLECTRA\CHART1.OC3"

To load a previously saved chart description from a file, call the Load method:

Chart3D1.Load "C:\OLECTRA\CHART1.OC3"

Both methods return True if the file operation was successful and False if an error occurred.

Saving Chart Data

Chart data is normally stored with the other chart properties. If you do not want the data saved, set the IsSaved property in the Chart3DData object to False. If you want the chart data saved to a file, set the FileName property to the name of the file. Saved data can be loaded from this file using the Load method.

If the IsSaved property is set to True, data is saved with the chart, and the value of the FileName property is ignored.


Printing Charts

Many applications need to provide the user with a way of getting a hardcopy of the chart. This includes printing the chart, copying it to a file or the clipboard. ComponentOne Chart provides several methods to output charts to one of these destinations.


Output/Printing Methods

The methods listed below allow you to output the chart. See the Chart3D Object for more information.

CopyToClipboard | Function CopyToClipboard(Format As FormatConstants) As Boolean | Copies the chart to the clipboard using the graphics format you specify.
DrawToDC | Function DrawToDC(Hdc As Long, Format As FormatConstants, Scale As ScaleConstants, Left As Long, Top As Long, Width As Long, Height As Long) As Boolean | Draws the chart on a specified device at the scale and graphics format you specify.
DrawToFile | Function DrawToFile(FileName As String, Format As FormatConstants) As Boolean | Draws the chart into a file using the graphics format you specify.
PrintChart | Function PrintChart(Format As FormatConstants, Scale As ScaleConstants, Left As Long, Top As Long, Width As Long, Height As Long) As Boolean | Prints the chart using the Windows Print dialog box.

Each of these methods enables you to produce a copy of the chart in bitmap format, Metafile format, or enhanced Metafile format.


Printing a Chart

To print a chart using the standard Windows Print dialog, use the PrintChart method. This method allows you to specify the image format and the size and position of the chart.

oc3dScaleNone | Uses pixel count matching the screen display.
oc3dScaleToFit | Maximizes the size of the chart within the rectangle specified by left, top, width, and height without changing the aspect ratio of the screen display.
oc3dScaleToWidth | Scales the chart without changing the aspect ratio so that the width of the chart matches the width specified by the width argument.
oc3dScaleToHeight | Scales the chart without changing the aspect ration so that the height of the chart matches the height specified by the height argument.
oc3dScaleToMax | Scales the width to match the width argument, scales the height to match the height argument, and allows the aspect ratio to change.
Width | If this value is zero, then the width is set to the number of pixels in the width of the device (printer).
Height | If this value is zero, then the height is set to the number of pixels in the height of the device (printer).

The following code example illustrates how to print a chart:

' Prints the chart as a Windows bitmap scaled to fit the entire_

‘page without changing the aspect ratio

Chart3D1.PrintChart oc3dFormatBitmap, oc3dScaleToFit, 0, 0, 0, 0

‘Prints the chart as a Windows bitmap scaled to fit the entire_

‘page, filling both the height and width

Chart3D1.PrintChart oc3dFormatBitmap, oc3dScaleToMax, 0, 0, 0, 0


Outputting Charts to Device Contexts

Use the DrawToDC for more complicated chart output, such as printing multiple charts on a single page, or for printing directly to a printer without using the Windows Print dialog. For example, to print several charts on one page, call DrawToDC for each chart, and specify the top, left, width and height arguments to specify each chart's different size and position. The following example shows how to use DrawToDC for a printing function that prints a chart that fills the page to the default printer without using the Windows Print dialog box:

' Prints a title

Printer.Print "Simple Chart Example"

' Prints the chart directly to the printer as an enhanced

' metafile with top and left margins of 0 pixels, and a

' height and width to fit the page

Chart3D1.DrawToDC Printer.hDC, oc3dFormatEnhMetafile, oc3dScaleToMax, 0, 0,_

Printer.ScaleWidth/Printer.TwipsPerPixelX,_ Printer.ScaleHeight/Printer.TwipsPerPixelY

' Ends the print job

Printer.EndDoc

The last four parameters specified in the PrintChart call indicate the location and size (in pixels) of the printer page into which the chart image is printed. The pixels for a printer are usually much smaller than those of the screen, as printing devices have a much higher resolution.

If the second parameter is oc3dScaleNone, the printer will use the same number of pixels that are used by the chart on the screen. A typical resolution for the screen is 96 pixels per inch while a laser printer is 600 pixels per inch, resulting in a small image. If the image is larger that the rectangle specified, the image will be clipped.

If the second parameter is oc3dScaleToMax, the image is scaled to fill the entire rectangle specified. To print a chart 1 cm from the left top margin, 15 cm wide, and 10 cm high, the following code would be used:

Private Sub cmdPrintChart_Click()

Dim left As Integer, top As Integer, width As Integer, height As Integer

Dim xfactor As Double, yfactor As Double

xfactor = 1440 / (2.54 * Printer.TwipsPerPixelX)

yfactor = 1440 / (2.54 * Printer.TwipsPerPixelY)

left = 1 * xfactor

top = 1 * yfactor

width = 15 * xfactor

height = 10 * xfactor

Me.lblPrintChart.Caption = Me.Chart3D.PrintChart (oc3dFormatBitmap,_

oc3dScaleToMax, left, top, width, height)

End Sub


Working with Data

The following topics explain how to plot, setup, copy and configure your data for use with ComponentOne Chart.

Data Overview

Grid and Irregular Grid Data

Point Data

Loading Data From a File

Charting Data Directly From Your Program

Copying Data

Double Buffering


Data Overview

The 3D Chart control enables you to add or modify data at runtime.


Data Organization

Data in a chart is organized into chart groups. In 3D Chart, a chart group is represented by a ChartGroup object. At present, only one chart group can be stored in a chart group collection.

Within a chart group, the three-dimensional data to be displayed is assumed to come either from a gridded surface, or from one or more series of points. This data is represented by the ElevationData property, which is a Chart3DData object. The data displayed can be in one of three formats:

•

Regularly-gridded data, in which the X- and Y-gridlines are evenly spaced

•

Irregularly-gridded data, in which the X- and Y-gridlines are not evenly spaced.

•

Point data, in which the X, Y and Z coordinates can be specified without restrictions.

To set the data format, set the Layout property to the appropriate data layout constant.


Handling Missing Data

If the Value property for a data point is set to a special value known as the hole value, the chart treats the data point as a missing value, and does not display it on the chart. This hole value is specified by the HoleValue property of the Chart3DData object.

For example, the following code treats the point in the third row and first column as a missing value:

With Chart3D1.ChartGroups(1).ElevationData

.HoleValue = 999.1

.Value(3, 1) = 999.1

End With


Batching Data Updates

Normally, the displayed chart is updated whenever a Chart3DData object property is changed. If you are changing or creating several data points, you can improve performance by batching the changes. To do this, set the IsBatched property to True.

When IsBatched is set to True, the chart is not updated when a Chart3DData object property is changed. Updating does not take place until IsBatched is reset to False.


Grid and Irregular Grid Data

For grid and irregular grid data, the Chart3DData object defines the following properties which control the data to be displayed in the chart:

•

The RowCount and ColumnCount properties define the number of rows and columns of data.

•

The RowOrigin and ColumnOrigin properties specify the origins of the X-axis and Y-axis respectively.

•

RowDelta and ColumnDelta are indexed properties which specify the space between neighboring rows and columns. For example, the following statement specifies a distance of 2.5 between the first row and second row of the chart:

Chart3D1.ChartGroups(1).ElevationData.RowDelta(1) = 2.5

If the data is regularly-gridded, RowDelta and ColumnDelta each have only one value.

•

The Value property specifies the Z-coordinate of a particular data point. This property is indexed by row and column. For example, the statement

Zval = Chart3D1.ChartGroups(1).ElevationData.Value(1, 3)

assigns the Z-coordinate of the point in the first row and third column to Zval.

Changing Data Values

Adding Rows and Columns

Smoothing Data

Creating a Shaded-Relief Map

Creating a Subset of a Chart

Drawing 4D Charts


Changing Data Values

To change a data value displayed in the chart, all you need to do is set its Value property. For example, the following statement changes the value of the point in the third row and second column to 3.14159:

Chart3D1.ChartGroups(1).ElevationData.Value(3, 2) = 3.14159


Adding Rows and Columns

To add rows to a chart group, do the following:

•

Set the RowCount property to the new number of rows.

•

If the data is irregularly-gridded, set the RowDelta property for the space between a new row and its predecessor.

•

Set the Value property for each of the new points.

For example, the following code adds a fourth row of three points to a chart group:

With Chart3D1.ChartGroups(1).ElevationData

.RowCount = 4

' set space between third row and fourth row

' (not necessary if data is regularly-gridded)

.RowDelta(3) = 1.0

.Value(4, 1) = 5.17

.Value(4, 2) = 5.84

.Value(4, 3) = 6.33

End With

New columns can be added in much the same way:

•

Set the ColumnCount property to the new number of columns.

•

If the data is irregularly-gridded, set the ColumnDelta property for the space between a new column and its predecessor.

•

Set the Value property for each of the new points.


Smoothing Data

The Smooth method passes a center-weighted averaging function over the chart grid, resulting in a smoother-looking dataset. For example:

Chart3D1.ChartGroups(1).ElevationData.Smooth 0.7

The argument specifies the center weight, and must be between 0 and 1. This method is a nine-point filter using all points adjacent to the center. Each new value is a weighted average of the original value and its surrounding points. The weights of the surrounding points are computed based on the value of the center weight and its distance from the center point.


Creating a Shaded-Relief Map

The CreateShaded method creates a new Chart3DData object from an existing object, filling it with a shaded-relief map of the original chart data, suitable for draping over the original data as the data's fourth dimension (as described in Displaying 4D Data.)

CreateShaded is passed the following five arguments:

•

The sweep angle

•

The rise angle (used along with the sweep angle to locate the light source)

•

The scale, which determines the difference in units between the “ground” coordinates in the XY-plane and those of the Z-values. (If the scale is set to 0, a default value will be computed based on the average slope of the facets.)

•

The base amount of ambient light (must be between 0 and 1)

•

The brightness of the light (must be between 0 and 1)

Here is an example of code that calls CreateShaded:

Dim Shaded As Object

...

With Chart3D1.ChartGroups(1).ElevationData

Set Shaded = .CreateShaded 45#, 45#, 0, 0.25, 0.5

End With

For a more detailed example, refer to the shader demo program.


Creating a Subset of a Chart

The CreateSubset method enables you to create a subset of an existing chart. This method is passed the following seven arguments:

•

The X- and Y-coordinates of the origin of the subset region.

•

The X- and Y-coordinates of the endpoint of the subset region.

•

The number of X-axis grid lines contained in the region.

•

The number of Y-axis grid lines contained in the region.

•

The spline interpolation method to use (this must be an interpolation constant)

Here is code that calls CreateSubset:

Dim Subset As Object

...

With Chart3D1.ChartGroups(1).ElevationData

Set Subset = .CreateSubset 10.0, 12.5, 35.0, 27.5, 5, 4, _

oc3dInterpolateLinearSpline

End With


Drawing 4D Charts

3D Chart enables you to represent four-dimensional plots and bar charts using color as the fourth dimension. For details, see Displaying 4D Data.


Point Data

The data for the point data format is accessed by series. The NumSeries property of the Chart3DData object controls the number of series in the chart. The following example sets the number of series to 3:

Chart3D1.ChartGroups(1).ElevationData.NumSeries = 3

An appropriate number of series will be generated whenever NumSeries is changed, including removing series if NumSeries is decreased.


The PointSeries Collection

Individual series are accessed via the PointSeries collection of the Chart3DData object. The PointSeries collection itself returns a DataCoordCollection of DataCoord objects, which define the coordinates for the individual points in the series. The following methods are defined for the DataCoordCollection:

Add(x, y, z) | Adds a DataCoord object to the series with the specified coordinates (x, y, and z are doubles).
Remove(index) | Removes a DataCoord object from the collection.
RemoveAll(index) | Removes all DataCoord objects from the collection.

The number of points in the series can be determined via the read-only Count property.

Examples

The following adds a point with coordinates (1, 3, 2) to the second series:

Chart3D1.ChartGroups(1).ElevationData.PointSeries(2).Add 1#, 3#, 2#

The following removes the third point in the first series:

Chart3D1.ChartGroups(1).ElevationData.PointSeries(1).Remove 3

The following assigns the number of points in the third series to x:

x = Chart3D1.ChartGroups(1).ElevationData.PointSeries(3).Count


Data Points

The coordinates of specific points are accessible via the properties of their respective DataCoord object. To retrieve the DataCoord object for a coordinate, use the Item method of the DataCoordCollection. The following code sets the coordinates of the third point of the second series to (1, 3, 2):

With Chart3D1.ChartGroups(1).ElevationData.PointSeries.Item(3)

.X = 1

.Y = 3

.Z = 2

End With

Note that the Item method is the default method of the DataCoordCollection object, so it is not necessary to specify the Item method when calling DataCoord methods. The following sets the y-coordinate of the third point of the first series to 3:

Chart3D1.ChartGroups(1).ElevationData.PointSeries(1)(3).y = 3


Loading Data From a File

A common task in any ComponentOne Chart program is to load the chart data (called a dataset) from a file into a format that the chart can use.

In order for ComponentOne Chart to allocate and load the data from a file, it must be in one of three basic layouts, Grid, Irregular Grid, or Point. Use the Grid format for surface and bar charts when the X-coordinates of each point and the Y-coordinates of each point are always the same distance apart. Use the Irregular Grid format for surface and bar charts when the X-coordinates of each point or the Y-coordinates of each point are not the same distance apart. Use the Point format for multiple series of points in scatter plots.

See Understanding Data Layout for more information on Grid, Irregular Grid, and Point layout.

The following examples illustrate the Grid, Irregular Grid, and Point file formats.

Grid File Format

Irregular Grid Format

Point File Format

Loading the Data

Loading Data From a URL


Grid File Format

! Grid has 50 by 30 points

! Holes have a value of 100.0

! Grid increases in X steps of 1.0 and Y steps of 2.0

! Origin of grid is at X = -20, Y = 50

GRID 50 30

100.0 1.0 2.0 -20.0 50.0

! 1500 data values follow, one for each grid point

49.875000 43.765625 38.500000 33.984375 30.12400

26.828125 24.000000 21.235610 48.877940 17.39770

. . .

Line 5 indicates that the file format is Grid, and the file contains 50 by 30 data points. Line 6 indicates the hole value (100.0), the X and Y increments (1.0 and 2.0), and the coordinates for the origin.

Lines beginning with a "!" are comments and are ignored by the control.


Irregular Grid Format

! Irregular grid has 10 by 5 points

! Holes have a value of 100.0

! Ten X values are given, and then five Y values

IRGRID 10 5

100.0

20 21.1 23.4 24.4 25.0 27.8 29.9 31.0 32.6 33.2

50.3 51.3 52.6 54.8 59.6

! 50 data points follow

23.34563 12.89239 11.99423 15.781212 18.81988

. . .

Line 4 indicates that the file is in the Irregular Grid format, and has 10 by 5 points. Line 5 shows the hole value (100.0). Line 6 contains the 10 X values, and line 7 contains the 5 Y values.

Lines beginning with a "!" are comments and are ignored by the control.


Point File Format

! Point has 2 series.

! Holes have a value of 100.0

POINT 2

100.0

! The first series has 5 points

5

! X Y Z

5.65 6.24 1.78

7.41 7.26 4.21

5.45 5.44 1.43

0.97 9.66 3.41

3.86 1.42 0.20

! The second series has 3 points

3

8.49 -1.28 8.76

8.14 0.42 6.06

7.17 -3.80 4.11

Line 3 indicates that the file Is in Point format, and has 2 series. Line 6 shows the hole value (100.0). Line 8 indicates that the first series has 5 points. Lines 10–14 contain the X, Y, and Z coordinates of the 5 points in the first series. Line 16 indicates that the second series has 3 points, and the three following lines specify the coordinates of the 3 points.

Lines beginning with a "!" are comments and are ignored by the control.


Loading the Data

To allocate and load the data from a file, you can either use the Property Page's Load button, which is located on the Data sub tab of the ChartGroup tab, or do it programmatically. Use the Chart3dData's Load method to load data from a file. Load either the ElevationData or ContourData using the Load Method:

' Load the data from files

Chart3D1.ChartGroups(1).ElevationData.Load "elevation.dat"

Chart3D1.ChartGroups(1).ContourData.Load "contours.dat"


Loading Data From a URL

Instead of using the Load method to specify the location of a data file, you can specify a URL where the chart can find the data. ComponentOne Chart provides two different methods to load data from the Internet:

•

Use the Chart3D Object's LoadURL method to load a chart description file (.OC2).

•

Use the Chart3DData Object's LoadURL method to load a data file (.DAT) into an existing chart.

In addition, if you want to set a URL location but do not want to load the data, use the Chart3DData Object's Datapath property. This property can be set at design time, and used to initialize the chart data at run-time.


Charting Data Directly From Your Program

Often it may not be convenient to load chart data from a file. For example, if the data is created from within the program using a mathematical calculation, it makes more sense to read it into the chart directly instead of saving it to a file and then reading it again. Not only can this method be quicker, it can also be quite easy to program.

The following example creates a 2-dimensional array, populates the array with data, and then copies the contents of the array to the chart's Z values:

' Create the array

Dim x(1 To 10000, 1 To 4) As Double

Chart3D1.IsBatched = True

' Set the number of rows and columns

Chart3D1.ChartGroups(1).ElevationData.RowCount = 10000

Chart3D1.ChartGroups(1).ElevationData.ColumnCount = 4

' Populate the array

For m = 1 To 4

For n = 1 To 10000

Select Case m

Case 1, 3

x(n, m) = m * 5 * Rnd + Sqr(2 * m * m * n)

Case Else

x(n, m) = m * -5 * Rnd + Sqr(2 * m * n)

End Select

Next n

Next m

' Copy the array to the chart

Chart3D1.ChartGroups(1).ElevationData.CopyZArrayIn x

Chart3D1.IsBatched = False


Copying Data

Before you can create a chart, you must provide it with data. ComponentOne Chart provides users with 2 different methods that allow you to copy data arrays directly to and from the chart, making it easy to quickly create chart data. Note: the methods defined in this section only apply to Grid, and Irregular Grid data formats, and cannot be used with the Point data format.

The following copying data methods are defined by the Chart3DData Object:

CopyZArrayIn(array)

Copies an array (array) to the Z values for a chart. array must be a two-dimensional array of singles, doubles, longs or integers.

CopyZArrayOut(array)

Copies the Z values from the chart into an array. array must be a two-dimensional array of singles, doubles, longs or integers.

The following example initializes an array, MyArray, populates it with data, and copies the array to the chart using CopyZArrayIn:

' Create the array

Dim MyArray(1 To 200, 1 To 4) As Double

Chart3D1.IsBatched = True

' Set the number of rows and columns

Chart3D1.ChartGroups(1).ElevationData.RowCount = 200

Chart3D1.ChartGroups(1).ElevationData.ColumnCount = 4

' Populate the array

For i = 1 To 4

For j = 1 To 200

Select Case x

Case 1, 3

x(i, j) = i * 5 * Rnd + Sqr(2 * j * j * i)

Case Else

x(i, j) = i * -5 * Rnd + Sqr(2 * j * i)

End Select

Next j

Next i

' Copy the array to the chart

Chart3D1.ChartGroups(1).ElevationData.CopyZArrayIn MyArray

Chart3D1.IsBatched = False


Double Buffering

Double buffering is a graphics technique which will reduce the amount of flashing perceived by a user when a chart changes. By default, double buffering is in effect. To turn off double buffering for a Chart3D object, set its IsDoubleBuffered property to False.

When double buffering is turned on, every time the chart changes, it will:

•

Allocate (if necessary) and clear an off-screen bitmap.

•

Render the complete graph to the off-screen bitmap.

When double buffering is turned off, the chart clears the screen image every time a chart is changed (possibly causing a visual flash). Then, it renders the complete image to the visible window (possibly allowing the user to see the chart being drawn piece by piece).

Turning off double buffering can improve the chart's graphing performance and reduce its memory requirements.


Customizing Chart Elements

When the chart data and axes are formatted properly, you can customize its elements to make it clearer and professional-looking. The following topics cover tasks that customize the appearance of a chart:

Adding Header and Footer Titles

Modifying the Surface Appearance

Formatting the Legend

Legend Labels Programming Considerations

Formatting the Mesh

Using Borders

Choosing Fonts

Setting Colors

Positioning Chart Elements

Form Resizing

Using ChartLabels

ChartLabels Programming Considerations

Using ContourStyles

Customizing ContourStyles

Adding Images to Chart Elements

Contour and Zone Projection

Customizing the Distribution Table

Distribution Table Programming Considerations

Special Bar Chart Properties

Special Scatter Plot Properties


Adding Header and Footer Titles

A chart can have two titles, called the header and footer. A title consists of one or more lines of text with an optional border, both of which you can customize. You can also set the text alignment, positioning, colors, and font used for the header or footer.

Title Text and Alignment

Title Positioning

Title Border

Title Colors

Title Fonts


Title Text and Alignment

Use the Text title property to add, change, or remove text for a title. Text is located on the Label Tab (Titles) on the Property Pages. To enter multiple lines of text, press RETURN between each line.

Use the Adjust title property to specify whether to center, left-justify, or right-justify a multi-line title. Adjust is located on the General Tab (Titles) on the Property Pages.


Title Positioning

Use the Left and Top location properties to customize the location of the title. When their IsDefault properties are used, the header is centered over the ChartArea and the footer is centered below the ChartArea. These properties are located on the Location Tab (Titles) on the Property Pages. See Positioning Chart Elements for more information.


Title Border

Use the Type and Width border properties to customize the title’s border. These properties are located on the Border Tab (Titles) on the Property Pages. See Using Borders for more information.


Title Colors

Use the interior properties to customize background and text colors of a title. These are located on the Interior Tab (Titles) on the Property Pages. See Setting Colors for more information.


Title Fonts

Use the font properties to customize the font used for a title. These are located on the Font Tab (Titles) on the Property Pages. See Choosing Fonts for more information.


Modifying the Surface Appearance

The shaded surface (drawn when the IsShaded ChartGroup property is used) has color and appearance properties that you can customize. The zoning method (drawn when the IsZoned ChartGroup property is used) can also be customized.


Surface Colors

Use the ShadedBottomColor and ShadedTopColor Elevation properties to set the shading colors. These properties are located on the Elevation Tab (ChartGroup) on the Property Pages.


Making a 3D Surface Solid

Use the IsSolid Surface property to make a 3D surface appear solid. The chart draws a “skirt” around the data to the minimum Z-value. IsSolid is located on the Surface Tab (ChartGroup) on the Property Page.


Zoning Method

Use the ZoneMethod Contour property to specify how to determine each zone region. Contour zoning uses the contour intervals for each zone region, while cell zoning uses the rectangular block formed by the X/Y grid. Cell zoning produces a coarser-looking surface but redraws significantly faster than contour zoning. ZoneMethod is located on the General Tab (ChartGroup) on the Property Pages.


Formatting the Legend

The chart automatically generates a legend whenever contours or zones are drawn. When using contours only, the legend shows the value represented by each contour line. When using zones, the legend shows the value represented by each zone level. You can customize the layout, positioning, border, colors and font used for the legend.

Legend Type and Orientation

Legend Positioning

Legend Title

Custom Legend Labels

Legend Border

Legend Colors

Legend Font

LegendStyles (part of ChartGroup)


Legend Type and Orientation

Use the legend Type property to specify whether to draw the legend in a continuous or stepped style. Continuous legends take less space on the screen than stepped. Type is located on the General Tab (Legend) on the Property Pages.

Use the legend Orientation property to lay out the legend horizontally or vertically, and the IsReversed property to specify whether to display the SeriesLabels in reverse order. These properties are located on the General Tab (Legend) on the Property Pages.


Legend Positioning

Use the legend Anchor property to specify where to position the legend relative to the ChartArea. You can select from eight compass points around the ChartArea. Anchor is located on the General Tab (Legend) on the Property Pages.

Use the Left and Top location properties to fine-tune the positioning. When their IsDefault properties are used, the chart automatically positions the legend. These properties are located on the Location Tab (Legend) on the Property Pages. See Positioning Chart Elements for more information.


Legend Title

Use the legend Text property to specify the legend title. The legend title appears centered at the top of the legend. Text is located on the Title Tab (Legend) on the Property Page.


Custom Legend Labels

Use the legend Labels property to define a set of custom legend labels used instead of the automatically-generated numeric labels. When no labels exist, the chart displays the automatic legend. The first label applies to the first contour level, and so on. Examine the value of the Levels Contour property to determine the number of legend labels you need to define. Labels is located on the Labels Tab (Legend) on the Property Pages.


Legend Border

Use the Type and Width border properties to customize the title’s border. These properties are located on the Border Tab (Legend) on the Property Pages. See Using Borders for more information.


Legend Colors

Use the interior properties to customize background and text colors of the legend. These are located on the Interior Tab (Legend) on the Property Pages. See Setting Colors for more information.


Legend Font

Use the font properties to customize the font used for the legend. These are located on the Font Tab (Legend) on the Property Pages. See Choosing Fonts for more information.


LegendStyles (part of ChartGroup)

When placing series labels, symbols, and lines in the legend, it is sometimes desirable to modify the symbols, lines, and color to be slightly different from that of the series. In these cases LegendStyles are used.

Note:

LegendStyles are only available through code.

Series Labels For: |
Plot, Radar, Polar, Bubble | SymbolStyle changes can be made to color, shape, and size. For these charts (except for Bubble charts), size is limited by the font size of the text of the legend. For Bubble charts, the symbol size in the legend is always the same size as the font.
Bar, Pie, Stacking Bar | FillStyle changes can be made to FillStyle Interior colors and hatch patterning. ForeColor is used for solid colors, and is mixed with BackColor lines when patterns are selected.
HiLo, HiLoOpenClose, Candle | LineStyle changes can be made to width, pattern, and color.
Area, FilledRadar | No effect.


Legend Labels Programming Considerations

Also, see Formatting the Legend.

Specifying Labels

Legend Type

Legend Label Filter

Legend Distribution Range


Specifying Labels

To specify your own labels for a legend, access the Labels property of the Legend object and call its Add method. For example, the following code creates a set of three legend labels:

With Chart3D1.Legend.Labels

.Add "First"

.Add "Second"

.Add "Third"

End With


Legend Type

If the Legend object's Type property is set to oc3dLegendTypeStepped, each legend label you create is associated with a particular zone. If Type is set to oc3dLegendTypeContinuous, each legend label is associated with the boundary between two zones. The Type property is located on the General Tab (Legend) on the Property Pages.

Note that zones are numbered from the bottom up: the first zone label is associated with the zone appearing at the bottom of the legend, and so on upwards.


Legend Label Filter

The Legend object’s LabelFilter property allows you to specify how many legend labels to display. When LabelFilter is set to n, every nth label will be drawn.

The LabelFilter property is located on the Labels Tab (Legend) on the Property Pages.


Legend Distribution Range

When the Distribution Table specifies contour levels outside the span of the data, the Legend object’s DistributionRange property controls whether they appear in the legend. When DistributionRange is set to oc3dDistributionRangeData, only the range of contour levels in the Distribution Table spanned by the data appear in the legend. When DistributionRange is set to oc3dDistributionRangeAll all contour levels specified in the Distribution Table appear in the legend. The DistributionRange property appears as Range on the Property Pages, and is located on the General Tab (Legend).


Formatting the Mesh

The mesh (drawn when the IsMeshed ChartGroup property is used) has display, color, and filtering properties that you can customize. Mesh filtering is particularly useful when displaying a large amount of data in a small space.

Mesh Filtering

Mesh Display

Mesh Transparency

Mesh Colors


Mesh Filtering

Use the ColumnMeshFilter and RowMeshFilter Surface properties to define how to filter the display of mesh lines. The chart can automatically determine the best filter, or you can specify a positive integer to use.

•

When set to 0, the chart automatically determines the best filter based on the density of the mesh. As the chart data increases or the size of the chart control decreases, the chart performs more mesh filtering.

•

When greater than 0, the chart provides fixed mesh filtering. Higher values cause fewer mesh lines to be drawn. For example, a value of 5 filters the mesh so that every fifth mesh line is drawn.

The ColumnMeshFilter and RowMeshFilter properties are located on the ChartGroup Surface Tab on the Property Pages.


Mesh Display

Use the IsColumnMeshShowing and IsRowMeshShowing properties to display or hide the mesh lines. These properties are located on the ChartGroup Surface Tab on the Property Pages.


Mesh Transparency

Use the IsTransparent ChartGroup property to make the mesh transparent. The effect is only visible when the chart is not shaded (controlled by the IsShaded property). When transparent, everything behind the mesh shows through, including the walls and axes on the PlotCube and other parts of the mesh. IsTransparent is located on the General Tab (ChartGroup) on the Property Pages.


Mesh Colors

Use the MeshBottomColor and MeshTopColor Elevation properties to set the mesh colors. These properties are located on the Elevation Tab (ChartGroup) on the Property Pages.


Using Borders

Adding a border to part of the chart can help highlight important information, or simply make the chart look more attractive. You can customize the border type and width of the following chart elements:

•

Header and Footer titles

•

Legend

•

ChartArea

•

the entire chart

The valid border types are shown below; you can also specify that no border is used.

To Change a Border

Use the border Type property to set the type of border and the Width property to set its thickness. These properties are located on the Border Tab, found on the Control, ChartArea, Titles, Legend, and ChartLabels tabs of the Property Pages.


Choosing Fonts

A chart can have more impact when you customize the fonts used for different chart elements. You may also want to change the font size to make an element better fit the overall size of the chart. The chart uses two kinds of fonts: TrueType fonts and Cube Fonts (special fonts that can be rotated in 3D space). The following table lists the type of font used by each chart element:

Uses TrueType Font | Uses TrueType or Cube Font
Header title | Axis annotation
Footer title | Axis title
Legend |


To Change Header, Footer, or Legend Fonts

Use the font properties to set the font, style, and size attributes. Font properties are located on their own dialog on the Font Tab, found on the Titles, Legend, and ChartLabels tabs on the Property Pages. Click the button on the tab to display the dialog.


To Choose TrueType or Cube Fonts

Use the Chart3D object’s UseTrueType property to specify whether to use TrueType fonts for Axis annotation, Axis titles, and ChartLabels. If UseTrueType is True, TrueType fonts are used. If UseTrueType is False, Stroke fonts are used for Axis annotation and Axis titles. When UseTrueType is False, which type of font a ChartLabel uses depends on how it is attached to the chart. See Using ChartLabels for more information.


To Change Axis Annotation, Axis Title, or ChartLabel Fonts

Use the Font object’s TrueType property to specify the font, style, and attributes of TrueType fonts. Use the Font object’s Stroke property to specify which stroke font to use. Use the Size property to set Font height. Size is measured in thousandths of the PlotCube length, for example, a value of 80 means the characters are 8% of the length of the PlotCube height. The following shows the valid stroke fonts:

These properties are located on the Font Tab (ChartLabels), the Title Tab (Axes), and the Font Tab (Axes) on the Property Pages.

Notes

•

ComponentOne Chart uses the container’s exposed Ambient font (if available) as its own default font.

•

To set the color of font text, use the ForegroundColor property, located on the Interior Tab of that element.


Setting Colors

Color can powerfully enhance a chart’s visual impact. You can customize colors using color names, RGB values, or interactively using a color chooser. Each of the following visual elements in the chart has a background and foreground color that you can customize:

•

the entire chart

•

Header and Footer titles

•

Legend

•

ChartArea

•

PlotCube (background only)

•

each ChartLabel added to the chart

The mesh, contour lines, surface shading, and zone fills also have color properties you can customize.

Specifying Named Colors

Choosing Colors Interactively

Specifying RGB Colors

Using Automatic Colors

To Change a Color


Specifying Named Colors

You can specify a color as one of over 200 recognized named colors. Choose common colors like Blue or Orange, or more exotic colors like Chartreuse or HotPink. Most of these colors look best on systems that can display 256 colors or more.


Choosing Colors Interactively

You can choose colors interactively using a color chooser dialog that works just like the standard Windows Control Panel color chooser. Choose from Windows basic colors, custom colors, or interactively with a full color spectrum.


Specifying RGB Colors

Alternately, you can specify a color by its RGB components, useful for matching another RGB color. RGB color values combine hexadecimal values for the red, green, and blue components of a color. “00” is the smallest value a component can have; “ff” is the largest value. For example, “#ff00ff” specifies magenta (the maximum value of red and blue combined with no green).


Using Automatic Colors

The background and foreground of all elements except the chart itself can be “Automatic”.

When a background or foreground is automatic, the chart uses the color of the element outside it for the background. For example, the header would have the background of the chart itself when its background is set to Automatic.


To Change a Color

Use the BackgroundColor and ForegroundColor properties to set background and foreground colors. These properties are located on the Interior Tab, found on the Control, Titles, Legend, ChartArea, PlotCube, and ChartLabels tabs of the Property Pages. RGB and named colors have their own controls. The button displays the interactive color chooser dialog.


Positioning Chart Elements

Each of the main chart elements (header, footer, legend, ChartArea, and ChartLabels) has properties that control its position and size. While the chart can automatically control these properties, you can also customize the following:

•

Positioning of any element except ChartLabels

•

Size of the ChartArea only

When the chart controls positioning, it first allows space for the header, footer, and legend, if they exist (size is determined by contents, border, and font). The ChartArea is sized and positioned to fit into the largest remaining rectangular area. Positioning adjusts when other chart properties change.


To Change or View Location

Use the Left location property to specify the number of pixels from the edge of the chart to the left edge of the chart element. Use the Top location property to specify the number of pixels from the edge of the chart to the top of the chart element. Left and Top have IsDefault properties that allow the chart to automatically position the element.

These properties are located on the Location Tab, found on the ChartArea, Titles, Legend, and ChartLabels tabs of the Property Pages.


To Change Width and Height (ChartArea only)

Use the Width and Height location properties to specify the width and height of the ChartArea. These properties have IsDefault properties that allow the chart to automatically size the ChartArea.

These properties are located and enabled on the Location Tab (ChartArea) on the Property Pages.


Form Resizing

Some applications permit the resizing of a Form object at runtime. This resizing is enabled at design time by setting the form's BorderStyle property to either 2 (Sizable) or 5 (Sizable ToolWindow).

To adjust the size of a Chart3D object when the Form object is resized, define a Resize procedure for the form, and adjust the chart's height and width to correspond to the form's height and width. Here is a sample Resize procedure:

Private Sub Form_Resize()

' Match the graph to the size of the form.

If Width > 700 Then ' Check the width of the window

' This keeps a consistent border around the
' sides of the chart

Chart3D1.Width = Width - 700

Else

' Sets the width to 0 because the window

' is smaller than the size of the chart

Chart3D1.Width = 0

End If

If Height > 1360 Then ' Check the height of the window

' This keeps a consistent border around the

' top and bottom of the chart

Chart3D1.Height = Height - 1360

Else

' Sets the height to 0 because the window is
' smaller than the size of the chart

Chart3D1.Height = 0

End If

End Sub

The height and width of both the form and the chart are measured in twips (1,440 twips equals one inch). To convert twips to pixels, use the following code:

pixwidth = Chart3D1.Width / Screen.TwipsPerPixelX

pixheight = Chart3D1.Height / Screen.TwipsPerPixelY


Using ChartLabels

A ChartLabel is an independent label that can be displayed inside or outside the PlotCube. ChartLabels are useful when you want to highlight an important data point, but can also be used generally to provide information on data or on the chart.

There is no limit to the number of ChartLabels a chart can contain. Each ChartLabel has label, interior color, border, fonts, and attachment attributes that you can customize.

Attaching and Positioning ChartLabels

Connecting Line and Offset

ChartLabel Text and Alignment

ChartLabel 3D Plane

ChartLabel Border

ChartLabel Colors

ChartLabel Fonts


Attaching and Positioning ChartLabels

When you define a ChartLabel, you need to specify how and where to attach it to the chart.

The attachment method determines the basic appearance of the ChartLabel. The best method depends on what you are using the ChartLabel for. The following illustrates and describes the attachment methods:

•

Coordinates attaches outside the PlotCube and can appear anywhere on the chart. You specify the number of pixels from the top-left corner of the chart to the center of the ChartLabel. When attached this way, customizing the facing plane and cube font has no effect, however, vertical and horizontal offsets may be specified.

•

DataCoordinates attaches inside the PlotCube to any point in 3D space within the data range. You specify the data X, Y, and Z coordinates. When attached this way, customizing the border and the font has no effect. Note that the chartlabels must fall within the maximum and minimum data coordinates for the axes, otherwise the label is not drawn. If the chart display is a 2D projection, then the HorizontalOffset and VerticalOffset properties are applied when positioning the ChartLabel.

•

DataIndex attaches inside the PlotCube to a specific data point on the chart. You specify the row and column indices. When attached this way, customizing the border and the font has no effect. If the chart display is a 2D projection, then the HorizontalOffset and VerticalOffset properties are applied when positioning the ChartLabel.

Use the AttachMethod ChartLabel property to set the attachment method, and the AttachCoord, AttachDataCoord, or AttachDataIndex properties to set the attachment point. These properties are located on their own dialog on the AttachTab:ChartLabels on the Property Pages. Click the AttachMethod button to display the dialog.


Connecting Line and Offset

Use the IsConnected property to draw a line connecting the ChartLabel to its attachment point. IsConnected is located on the General Tab (ChartLabels) on the Property Pages.

Use the HorizontalOffset and VerticalOffset properties to set the distance between the ChartLabel and its attachment point. These properties are only used for ChartLabels attached by coordinates or the chart is a 2D projection. The HorizontalOffset and VerticalOffset properties are located on the Attach Tab (ChartLabels) on the Property Pages.

ChartLabels attached by DataCoordinates or DataIndex are offset an appropriate amount automatically, and lie in a plane parallel to the plane specified on the General Tab (ChartLabels) on the property pages.


ChartLabel Text and Alignment

Use the Text label property to set or change a ChartLabel’s text. Text is located on the Label Tab (ChartLabels) on the Property Pages. To enter multiple lines of text, press RETURN between each line.

Use the Adjust property to specify whether to center, left-justify, or right-justify a multi-line ChartLabel. Adjust is located on the General Tab (ChartLabels) on the Property Pages.


ChartLabel 3D Plane

When displaying a 3D ChartLabel attached by DataCoordinate or DataIndex, use the Plane property to set which plane to face the ChartLabel. You can select either the XZ or YZ plane. Plane is located on the General Tab (ChartLabels) on the Property Pages.


ChartLabel Border

When attached by DataCoordinates or DataIndex, the border is a fixed thin line and cannot be customized. When attached by Coordinates, you can use the Type and Width border properties to customize the ChartLabel’s border. These properties are located on the BorderTab:ChartLabels on the Property Pages. See Using Borders for more information.


ChartLabel Colors

Use the interior properties to customize background and text colors of a ChartLabel. These are located on the Interior Tab (ChartLabels) on the Property Pages. See Setting Colors for more information.


ChartLabel Fonts

A ChartLabel has both a TrueType font and a CubeFont property. When the Chart3D object’s UseTrueType property is True, all ChartLabels use TrueType fonts. When the Chart3D object’s UseTrueType property is False, if the ChartLabel is attached by DataCoordinates or DataIndex, it uses the Cube font; when attached by Coordinates, it uses the TrueType font. The TrueType and Cube font properties are located on the Font Tab (ChartLabels) on the Property Pages. See Choosing Fonts for more information.


ChartLabels Programming Considerations

Also, see Using ChartLabels.

A ChartLabel object defines an independent rectangular region which can be attached to a chart. The ChartLabels collection contains all of the chart labels defined for a particular chart.

To create a ChartLabel object, call the Add method:

Dim label As Object

Set label = Chart3D1.ChartLabels.Add

The Remove method removes a ChartLabel from the collection:

Chart3D1.ChartLabels.Remove 1


Defining the ChartLabel

The ChartLabel object provides a number of properties that help you define and position the chart label. The most important of these properties are the following:

•

The Text property specifies the text to appear in the chart label, and is of type Label.

•

The Plane property specifies the orientation of the chart label. The orientation is specified as a plane constant.

•

The IsConnected property is a Boolean which specifies whether a line is to be drawn from the chart label to its attached location. If True, the line is drawn.

The following code sets the above properties:

With Chart3D1.ChartLabels(1)

.Text = "Here is my chart label"

.Plane = oc3dXZPlane

.IsConnected = True

End With


Attaching the ChartLabel

Chart labels can be attached to a chart in one of three ways:

•

at a particular grid index

•

to a point in 3D space

•

to pixel coordinates on the chart

To attach a chart label to a particular grid index, set the AttachMethod property to oc3dAttachDataIndex, and then set the AttachDataIndex property to the index values for that particular grid location. For example, the following attaches a chart label to the point at the second row and third column:

With Chart3D1.ChartLabels(1)

.AttachMethod = oc3dAttachDataIndex

.AttachDataIndex.Row = 2

.AttachDataIndex.Column = 3

End With

To attach a chart label to a point in 3D space, set the AttachMethod property to oc3dAttachDataCoord, and then set the AttachDataCoord property to the coordinates of the value. For example, the following attaches a chart label to the point (1.1, 15.8, 4.3):

With Chart3D1.ChartLabels(1)

.AttachMethod = oc3dAttachDataCoord

.AttachDataCoord.X = 1.1

.AttachDataCoord.Y = 15.8

.AttachDataCoord.Z = 4.3

End With

To attach a chart label to pixel coordinates on the chart, set the AttachMethod property to oc3dAttachCoord, and then set the AttachCoord property to the desired pixel coordinates. For example, the following attaches a chart label to the pixel coordinates (100, 100):

With Chart3D1.ChartLabels(1)

.AttachMethod = oc3dAttachCoord

.AttachCoord.X = 100

.AttachCoord.Y = 100

End With

The following is the object hierarchy for the ChartLabels collection and the properties described above:


Batching ChartLabel Changes

To improve efficiency, you can batch changes to a chart label. To do this, set the IsBatched property to True before changing any chart label properties, and set IsBatched to False once you have finished. This ensures that the chart will be updated only once, instead of after each property change.


Using ContourStyles

The attributes that define how contour lines and zoning colors look in the chart are called a ContourStyle. The chart has a built-in set of 100 styles. A subset of these styles are used for the chart display, based on the number of contour levels in the chart. You can load and save sets of ContourStyles and customize individual styles.

Every ContourStyle has a FillStyle and a LineStyle. FillStyles are used for zoning colors. LineStyles are used for contour lines. Most charts will not need to customize ContourStyles. Situations where you will need to customize them include:

•

When it is important in your chart to control the precise ContourStyle for any particular level;

•

When you need to display more than 100 levels; or

•

When you want to uniquely identify contour lines. The built-in styles use the same LineStyle for every ContourStyle.

FillStyle

LineStyle

To Load and Save ContourStyles

To Reset ContourStyles


FillStyle

Use the Color properties to set the fill color for a ContourStyle. These properties are located on the FillStyle Tab (Styles) on the Property Pages.


LineStyle

Use the Pattern property to set the line drawing pattern, the Width property to set its width, and the Color properties to set the line color for a ContourStyle. The valid patterns are shown below:

These properties are located on LineStyle Tab (Styles) on the Property Pages.


To Load and Save ContourStyles

Use the Load and Save buttons on the General Tab (Styles) on the Property Pages to load and save sets of ContourStyles. ComponentOne Chart includes sample contour styles suitable for various kinds of charts.


To Reset ContourStyles

Use the ResetStyles button on the General Tab (Styles) on the Property Pages to return to the chart’s 100 built-in styles.


Customizing ContourStyles

By default, the chart defines an array of contour styles for each chart group. These contour styles are specified as a ContourStyles collection of objects. The following is the object hierarchy for the ContourStyles collection:

Each ContourStyle object in this collection defines two properties which specify the appearance of a particular contour line or zone in a chart:

•

The FillStyle property is a FillStyle object, and specifies the color of the zone associated with this contour style.

•

The LineStyle property is a LineStyle object, and specifies the width, color and pattern of the contour line associated with this contour style. By default, each line is one pixel wide and is a solid black line.

A total of 100 contour styles are defined by default. To add additional contour styles, use the Add method.


Contour Styles and Distribution Levels

Note that the nth contour line or zone in a chart is normally not associated with the nth contour style in the ContourStyles collection. The relationship between distribution levels (contour lines/zones) and the ContourStyles collection is as follows: if nstyles contour styles are provided, and the number of distribution levels is nlevels, the index of the contour style associated with the nth distribution level is the largest integer less than or equal to the following:

(n * (nstyles - 1) / nlevels) + 1

For example, if 100 contour styles and 6 distribution levels are defined, the distribution levels use the 1st, 21st, 41st, 60th, 80th and 100th elements of the ContourStyles collection, respectively. (The number of distribution levels is specified by the NumLevels property of the ContourLevels object.) Normally, you will not need to calculate the contour style index yourself, as the CalcIndex method (described below) calculates it for you.

To force a one-to-one matchup between contour styles and distribution levels, create an array of contour styles with the same number of elements as there are distribution levels. (If you have specified that zone regions are to be drawn, your array of contour styles must contain one more element than the number of distribution levels. Zone regions are specified by setting the IsZoned property of the Contour object to True. The extra contour style is used to specify the last zone's fill color.)


Finding and Changing Contour Styles

To find the ContourStyle object associated with a particular contour line or zone, use the CalcIndex method. For example, the following retrieves the ContourStyle object for the third contour line:

Dim Index As Long

With Chart3D1.ChartGroups(1).Contour

Index = .Styles.CalcIndex(3)

End With

You can use this approach to change the attributes of individual zones or contour lines. For example, to change the color for a particular zone, change the Color property of the FillStyle object. The following statements change the first zone color to green:

Dim Index As Long

With Chart3D1.ChartGroups(1).Contour

Index = .Styles.CalcIndex(1)

.Styles(Index).FillStyle.Color = RGB(0, 128, 0)

End With

To change the line width, color and pattern for a contour line, change the Width, Color and Pattern properties of the LineStyle object. For example, the following statements change the second contour line to a dotted green line which is 5 pixels wide:

Dim Index As Long

With Chart3D1.ChartGroups(1).Contour

Index = .Styles.CalcIndex(2)

With .Styles(Index).LineStyle

.Width = 5

.Color = RGB(0, 128, 0)

.Pattern = oc3dLineDotted

End With

End With

The customized contour style table resulting from these changes can be saved into a file using the Save method, and restored from a file using the Load method. This enables you to use the same contour styles in different charts.

To revert to the default contour style behavior, invoke the Reset method. All contour styles will be reset to their default values.


Adding Images to Chart Elements

You can add a Windows bitmap (.BMP) or Metafile (.WMF or .EMF) image to the background of any 3D chart element. You can add separate images to the following chart elements:

•

Chart

•

ChartArea

•

ChartLabels

•

Header, Footer and Title

•

Legend


Add an Image to a Chart Element

Use the FileName property to specify the name and location of the image you want to display. The image must be in either Windows bitmap or Metafile format. Use the IsEmbedded property to include the specified image with the chart. If IsEmbedded is true, the image will be included with your chart. If IsEmbedded is False, the chart will look for the image file in the specified location.


Set the Image Layout

Use the Layout property to specify how the image is to be displayed. You can set Layout to one of the following:

•

Centered - places the image in the center of the chart element

•

Fitted - resizes the image to fit as much of the chart element as possible, while maintaining the image's aspect ratio (so that the image remains in proportion)

•

Stretched - resizes the image to fit the entire chart element area

•

Stretch to Width - stretches the image horizontally to match the chart element width

•

Stretch to Height - stretches the image vertically to match the chart element height

•

Tiled - repeats the image to fill the entire chart element

•

Cropped Fit - resizes the image to fit the shorter of the two chart element dimensions (either the height or the width), and crops the other dimension.

These properties are located on the Control, ChartArea, Legend, ChartLabels, and Titles Image Tab.


Using Images as Labels

Use the HasMinimumSize property to use an image as a label. When HasMinimumSize is enabled the text area in which the image appears will be sized according to the image dimensions, so when a text area is empty, the image itself will appear as the label. When HasMinimumSize is disabled, the text area will be sized according to the text. If HasMinimumSize is enabled and the text is larger than the image, then the text determines the size. HasMinimumSize applies to Titles and ChartLabels, and can be found on their respective Image Tabs.

Notes

•

Enhanced Metafiles are only supported under Windows 95 and Windows NT.

•

If the background image type either a Metafile (.WMF) or Enhanced Metafile (.EMF) format, the image will not draw when the chart is either copied to the clipboard or copied to a file. To get around this limitation, it is recommended that you set your background image to a Bitmap format when you want to copy your chart to the printer, clipboard or file.

•

When text areas containing background images are rotated, the image is not rotated with the text area.

•

You can only add images to ChartLabels that do not fall within the PlotCube.


Contour and Zone Projection

The contours and zones determined for the chart can be displayed on the ceiling or the floor of the plot cube. To do this, set the IsContoured and/or the IsZoned property for the ceiling or the floor.

For example, the following statement projects zones onto the ceiling of the plot cube:

Chart3D1.ChartArea.PlotCube.Ceiling.Projection.IsZoned = True

The following is the complete object hierarchy for contour and zone projection on the plot cube ceiling or floor:

The contour and zone settings used in these projections are set by the Contour object defined for that chart group.

Contour and zone projection are ignored in two-dimensional charts and bar charts.


Customizing the Distribution Table

The chart’s ContourLevels determine how many contour lines and zoning colors are used in the chart, and the Z-values that mark each level. You can customize the number of levels or the distribution table itself.

Overview

Customizing the Number of Levels

Creating a Custom Distribution Table

Resetting to Linear Distribution Table


Overview

To generate contours and zones, the chart analyzes the data and based on the number of levels specified, creates the following:

•

A linear distribution table that contains the Z-value that marks each level.

•

An assignment of ContourStyles from the chart’s 100 built-in styles. The chart determines which styles to use by evenly distributing its 100 styles through the number of levels.


Customizing the Number of Levels

Use the NumLevels ContourLevels property to set the number of contour levels to use. This has no effect when the chart is using a custom distribution table. You can specify up to 100 levels; the more levels you use, the finer the distribution table. NumLevels is located (as Levels) on the General Tab (Levels) on the Property Pages.


Creating a Custom Distribution Table

When a linear distribution table does not suit the needs of your chart, you can create or load a custom table that sets the number of levels and the value used to mark each level. ComponentOne Chart includes sample distribution table files that you can use as templates to build a table that suits your chart.

Use the Load and Save buttons on the General Tab (Levels) on the Property Pages to load and save distribution tables.


Resetting to Linear Distribution Table

Use the IsDefault ContourLevels property to use linear distribution. Any customized levels are removed. IsDefault is located on the General Tab (Levels) on the Property Pages.


Distribution Table Programming Considerations

Also, see Customizing the Distribution Table.

In 3D Chart, the ContourLevels object controls the behavior of the distribution levels used to create contour levels and zones for a chart. One ContourLevels object is defined for each chart group. The following is the object hierarchy for the ContourLevels object:

The NumLevels property of the ContourLevels object specifies the number of distribution levels to use in the chart. Any number between 0 and 100 is valid. If 0 is specified, no contour levels are drawn, and the entire chart is displayed as one zone.

By default, distribution levels are evenly spaced. To define your own distribution levels and spacing, use the Add method to create them. For example, the following code defines distribution levels at 1000, 2500 and 4200:

With Chart3D1.ChartGroups(1).Contour.Levels

.Add 1000#

.Add 2500#

.Add 4200#

End With

To remove a distribution level, use the Remove method:

Chart3D1.ChartGroups(1).Contour.Levels.Remove 1000#

A list of distribution levels can also be saved to a file using the Save method, and reloaded from a file using the Load method.

At any time, you can revert to evenly spaced distribution levels by setting the IsDefault property to True. The number of distribution levels in the chart will not change when you do this.


Distribution Levels and Contour Styles

3D Chart defines a contour style for each distribution level. This contour style specifies the width, color and pattern of the contour line associated with this contour style, and the color of the associated zone.

The ContourStyles collection defines the contour styles for a particular chart group. To retrieve the contour style for a particular distribution level, use the CalcIndex method. For example, the following retrieves the contour style for the third distribution level:

Dim Index As Long

With Chart3D1.ChartGroups(1).Contour

Index = .Styles.CalcIndex(3)

End With

For more information on programming ContourStyles, refer to Customizing ContourStyles.


Special Bar Chart Properties

In a 3D bar chart, each data point is displayed as a single bar drawn from the Z-value to the origin. Spacing between adjacent bars is honored when using either grid or irregular grid data layout. You can customize several properties unique to bar charts, including origin, spacing, and colors.


Bar Z Origin

Use the axis Origin property to set the origin of the Z-axis. It is only used with bar charts. Origin is located on the General Tab (Axes) on the Property Pages.


Bar Spacing Width

Use the bar RowSpacing and ColumnSpacing properties to set the space used by each bar. The value represents the percentage of available space, with valid values between 0 and 100. When 100, the bars touch one another. These properties are located on the ChartGroup Page Bar Tab on the Property Pages.


Bar Shading Colors

When a bar chart is shaded but not zoned, bars drawn above the Z-origin use the surface top color and bars drawn below the Z-origin use the surface bottom color. You can arbitrarily set the color of one bar or entire rows and columns of bars. To define colors that appear in the legend, you need to create a 4D chart; see Creating 4D Charts for more information.

Use the DataColor properties to define custom bar colors. Each color is defined by a row index, a column index, and the color to use. To set a color for an entire row, specify 0 as the column index. To set a color for an entire column, specify 0 as the row index.

DataColor properties are located on the ChartGroup Page Bar Tab on the Property Pages.


Special Scatter Plot Properties

A scatter plot consists of one or more series of individual points. You can specify whether or not drop lines appear, and you can customize the appearance of the symbol and drop lines for each series.

Adding Drop Lines

Changing ChartStyles

The Chart Styles Collection

Detecting Mouse Selection of Individual Legend Entries

Formatting Drop Lines

Formatting Symbols


Adding Drop Lines

Use the Elevation object’s HasDropLines property to specify whether or not drop lines appear between the plotted points and the origin. Each point in a scatter plot has a drop line that connects it to the Z = 0 plane. The HasDropLines property is located on the ChartGroup tab’s Scatter Tab on the Property Pages.

The following example specifies that drop lines appear:

Chart3D1.ChartGroups(1).Elevation.HasDropLines = True


Changing ChartStyles

The attributes that define how a series of data looks in the scatter plot are called a ChartStyle. Each series has its own ChartStyle, which you can customize. The ChartStyle object allows you to programmatically change the following properties of a series:

•

The Line property, which defines the line style for the object. This specifies the color, pattern and thickness of drop lines. This property is of type LineStyle.

•

The Symbol property, which defines the symbol style for the object. This specifies the color, size and shape of points. This property is of type SymbolStyle.

The following sets the line pattern for the second series to a dotted line:

Chart2D1.ChartGroups(1).Styles(2).Line.Pattern = oc3dLineDotted

And the following statement sets the symbol style for the third series to an unfilled circle:

Chart2D1.ChartGroups(1).Styles(3).Symbol.Shape = oc3dShapeCircle


The Chart Styles Collection

The ChartStyles collection contains the ChartStyle objects defined for each series. The following methods are defined for the ChartStyles collection:

Add(index) Add a new ChartStyle object to the collection

Remove(index) Remove a ChartStyle object from the collection

Normally, you will not need to add or remove ChartStyle objects from the collection yourself. If a ChartStyle object already exists when its corresponding series is created, the previously created ChartStyle object is used to display the data in this series.

By looping through the ChartStyles collection, you can quickly change the behavior of all of the lines or points in a chart. For example, the following code lightens all of the points in a chart whenever the mouse is clicked:

Private Sub Chart2D1_Click()

Dim Style As Object
For Each Style in Chart2D1.ChartGroups(1).Styles
Style.Shape.Color = Style.Shape.Color + &H50505
Next Style

End Sub


Detecting Mouse Selection of Individual Legend Entries

For Scatter Plot charts, mouse selection of individual legend entries is detected using the pick functionality -- the “Row” parameter of CoordToDataIndex is set to the corresponding series when an entry is picked inside the legend.


Formatting Drop Lines

Use the Line Pattern property to set the line drawing pattern, the Width property to set its width, and the Color properties to set the line color for a ChartStyle. The valid patterns are shown below:

These properties are located on the LineStyle Tab (ChartStyles) on the Property Pages.


Formatting Symbols

Use the Symbol Shape property to set the symbol type, the Size property to set its size, and the Color properties to set the symbol color for a ChartStyle. The valid symbols are shown below:

These properties are located on the SymbolStyle Tab (ChartStyles) on the Property Pages.


Programming User Interaction

ComponentOne Chart allows you to interact with the user, reacting to specific mouse, menu and keyboard actions. You can also determine which tabs from the Property Pages you want users to see. The following topics cover the different types of user interaction.


Programming Actions

A chart action is a user event that causes some interactive action to take place in the control. There are three stages of user interaction defined in 3D Chart:

•

Starting a user interaction

•

Updating a user interaction

•

Ending a user interaction

Chart actions are defined for each of these stages. The complete list of actions is specified by the Action Constants.

Action Maps

Recognized Messages

Modifier Flags

Recognized Keycodes

Determining Action Mappings

Programming Action Mappings

Removing Action Mappings

Calling an Action Directly

Actions and Events


Action Maps

An action map is a mapping of a mouse operation and/or key pressing to a chart action. Each action map consists of three parts:

•

The message (indicating what mouse operation or key pressing occurred)

•

Any modifier flags

•

The keycode (if the message is WM_KEYDOWN or WM_KEYUP)

The ActionMaps collection specifies the action maps currently defined for the 3D Chart control.


Recognized Messages

The following messages are recognized:

WM_LBUTTONDBLCLK | double-click left mouse button
WM_MBUTTONDBLCLK | double-click both mouse buttons
WM_RBUTTONDBLCLK | double-click right mouse button
WM_LBUTTONDOWN | press left mouse button
WM_MBUTTONDOWN | press both mouse buttons
WM_RBUTTONDOWN | press right mouse button
WM_LBUTTONUP | release left mouse button
WM_MBUTTONUP | release both mouse buttons
WM_RBUTTONUP | release right mouse button
WM_MOUSEMOVE | move mouse
WM_KEYDOWN | press key
WM_KEYUP | release key

If you have a three-button mouse, holding down the middle mouse button is equivalent to simultaneously holding down the left and right mouse buttons.

Note:

The constants are defined by Windows and are available through the Visual Studio tool, API Text Viewer.

The file oc_api.bas in either the Actions demo contains Visual Basic definitions for each of these constants.


Modifier Flags

The following modifier flags are recognized:

MK_LBUTTON | left mouse button
MK_MBUTTON | both mouse buttons
MK_RBUTTON | right mouse button
MK_ALT | Alt key
MK_SHIFT | Shift key
MK_CONTROL | Ctrl key


Recognized Keycodes

Any valid VK_ value is treated as a recognized keycode. Note the following, however:

•

All alphabetic characters are forced to upper case.

•

MK_SHIFT must appear in the modifier if capitals are desired.

•

The CapsLock key toggles the meaning of the MK_SHIFT modifier.


Determining Action Mappings

To determine which action is mapped to a particular Microsoft Windows message, use the Item property, which is defined by the ActionMaps collection. For example, the following statement returns the action performed when the left mouse button is clicked:

Dim LeftMouse As Object

...

Set LeftMouse = Chart3D1.ActionMaps.Item WM_LBUTTONDOWN, 0, 0

An exception is generated if no action is mapped to a particular message.

By default, the following action maps are defined:

WM_MBUTTONDOWN, MK_MBUTTON, 0 | oc3dActionModifyStart (start rotation)
WM_MBUTTONDOWN, MK_MBUTTON+MK_SHIFT, 0 | oc3dActionModifyStart (start translation)
WM_MBUTTONDOWN, MK_MBUTTON+MK_CONTROL, 0 | oc3dActionModifyStart (start scaling)
WM_LBUTTONDOWN, MK_LBUTTON+MK_CONTROL, 0 | oc3dActionZoomStart (start zooming)
WM_KEYDOWN, MK_MBUTTON, 'X' | oc3dActionRotateXAxis (specify that rotation is to be about the X-axis)
WM_KEYDOWN, MK_MBUTTON, 'Y' | oc3dActionRotateYAxis (specify that rotation is to be about the Y-axis)
WM_KEYDOWN, MK_MBUTTON, 'Z' | oc3dActionRotateZAxis (specify that rotation is to be about the Z-axis)
WM_KEYDOWN, MK_MBUTTON, 'E' | oc3dActionRotateEye (specify that rotation is to be about the eyepoint)
WM_KEYDOWN, MK_MBUTTON, 'N' | oc3dActionRotateFree (specify unconstrained rotation)
WM_MOUSEMOVE, MK_MBUTTON, 0 | oc3dActionRotate
WM_MOUSEMOVE, MK_MBUTTON + MK_SHIFT, 0 | oc3dActionTranslate
WM_MOUSEMOVE, MK_MBUTTON + MK_CONTROL, 0 | oc3dActionScale
WM_MOUSEMOVE, MK_LBUTTON + MK_CONTROL, 0 | oc3dActionZoomUpdate
WM_MBUTTONUP, 0, 0 | oc3dActionModifyEnd (end rotation)
WM_MBUTTONUP, MK_SHIFT, 0 | oc3dActionModifyEnd (end translation)
WM_MBUTTONUP, MK_CONTROL, 0 | oc3dActionModifyEnd (end scaling)
WM_LBUTTONUP, MK_CONTROL, 0 | oc3dActionZoomEnd (end zooming)
WM_KEYDOWN, 0, 'R' | oc3dActionReset
WM_RBUTTONDOWN, MK_MBUTTON,0 | oc3dActionProperties (display Property Pages)
WM_KEYDOWN, MK_LBUTTON, VK_ESCAPE | oc3dActionZoomCancel
WM_KEYDOWN, MK_MBUTTON, VK_ESCAPE | oc3dActionModifyCancel


Programming Action Mappings

To program an action mapping, use the Add method to add the new action mapping to the collection.

For example, the following tells 3D Chart to undo all scaling and translations when the left mouse button is double-clicked:

Dim NewLeft As Object

...

With Chart3D1.ActionMaps

Set NewLeft = .Add WM_LBUTTONDBLCLK, 0, 0, oc3dActionReset

End With

All 3D Chart actions are customizable: you can determine which Microsoft Windows message will call a particular action, and decide on the appropriate steps to perform in each case.


Removing Action Mappings

To remove an existing action mapping, use the Remove method to remove the action mapping from the collection:

With Chart3D1.ActionMaps

.Remove WM_LBUTTONDBLCLK, 0, 0

End With

Note that Remove generates an exception if no action exists to be removed.


Calling an Action Directly

To call an action directly, call the CallAction method, which is defined by the Chart3D object. This method is passed the action to be performed and the X- and Y- coordinates of a window location.

For examples of code using CallAction, refer to the actions demo provided with your ComponentOne Chart distribution.


Actions and Events

Each of the actions defined in the Action Constants maps to a 3D Chart event method. The following mappings are defined:

oc3dActionNone | no event method called
oc3dActionModifyStart | ModifyStart()
oc3dActionModifyEnd | ModifyEnd()
oc3dActionModifyCancel | ModifyEnd()
oc3dActionRotate | View3DModify()
oc3dActionScale | ViewportModify()
oc3dActionTranslate | ViewportModify()
oc3dActionZoomStart | ModifyStart()
oc3dActionZoomUpdate | no event method called
oc3dActionZoomEnd | ViewportModify(), ModifyEnd()
oc3dActionZoomCancel | ModifyEnd()
oc3dActionRotateXAxis | no event method called
oc3dActionRotateYAxis | no event method called
oc3dActionRotateZAxis | no event method called
oc3dActionRotateEye | no event method called
oc3dActionRotateFree | no event method called
oc3dActionReset | ModifyStart(), ViewportModify(), ModifyEnd()
oc3dActionProperties | property pages are displayed

The event methods are defined in the Event Reference section. Note that some actions trigger multiple events.


Returning Coordinate Values

The ChartGroups collection provides methods which enable you to do the following:

•

Determine the pixel coordinates of a given data point, or the closest point to a given set of pixel coordinates.

•

Convert from data coordinates to screen pixel coordinates and vice versa.

•

Change the Z-value of a grid location.

•

Determine the Z-value of any point on the surface.

Determining Coordinate Values

Converting Data Coordinates to Pixel Coordinates

Converting Pixel Coordinates to Data Coordinates

Picking Data Points

Converting Visual Basic Coordinates


Determining Coordinate Values

To determine the pixel coordinates of a given data point, call DataIndexToCoord. For example, the following code obtains the pixel coordinates of the point in the second row and third column:

Dim PixelX As Long

Dim PixelY As Long

...

With Chart3D1.ChartGroups(1)

.DataIndexToCoord 2, 3, PixelX, PixelY

End With

' PixelX and PixelY now contain the pixel coordinate value


Converting Data Coordinates to Pixel Coordinates

To convert from data coordinates to screen pixel coordinates, call the DataCoordToCoord method. For example, the following code obtains the pixel coordinates corresponding to the data coordinates (5.1, 10.2, 8.4):

Dim PixelX As Long

Dim PixelY As Long

...

With Chart3D1.ChartGroups(1)

.DataCoordToCoord 5.1, 10.2, 8.4, PixelX, PixelY

End With

' PixelX and PixelY now contain the pixel coordinate value

If the data coordinate is out of the visible range of the chart, both of the pixel X- and Y-coordinates are set to -1.


Converting Pixel Coordinates to Data Coordinates

To convert from pixel coordinates to data coordinates, call CoordToDataCoord. For example, the following converts the pixel coordinates (225, 92) to their equivalent data coordinates:

Dim DataX As Double

Dim DataY As Double

Dim DataZ As Double

Dim Region As Integer

...

With Chart3D1.ChartGroups(1)

Region = CoordToDataCoord 225, 92, DataX, DataY, DataZ

End With

' DataX, DataY and DataZ now contain the data coordinate value

CoordToDataCoord returns, as its return value, the region of the chart in which the pixel coordinates are located. This region is represented as a region constant.


Picking Data Points

To determine the closest data point to a set of pixel coordinates, call CoordToDataIndex:

Dim Row As Long

Dim Column As Long

Dim Distance As Long

Dim Region As Integer

...

With Chart3D1.ChartGroups(1)

Region = CoordToDataIndex 225, 92, Row, Column, Distance

End With

CoordToDataIndex returns the row and column of the closest data point, and returns the distance in pixels between the pixel coordinates and the point. CoordToDataIndex returns, as its return value, the region of the chart in which the pixel coordinates are located. This region is represented as a region constant. When the returned region is oc3dRegionInLegend, the returned point value is also set to oc3dRegionInLegend, and the returned series is the closest element in the legend. For Scatter Plot charts, mouse selection of individual legend entries is detected using the pick functionality. The “Row” parameter of CoordToDataIndex is set to the corresponding series when an entry is picked inside the legend.

The DragZValue method enables you to change the Z-value of any point on the grid. For example, the following changes the Z-value of the point in the second row and third column to the pixel coordinates (225,92):

With Chart3D1.ChartGroups(1)

.DragZValue 2, 3, 225, 92

End With

The DragZValue method can be used to interactively drag a point to a new coordinate, as in the surface demo program.

The SurfaceValue method enables you to determine the Z-value of any point on the chart surface. For example, the following code determines the Z-value of the data coordinates (106,84):

Dim Zvalue As Double

...

With Chart3D1.ChartGroups(1)

Zvalue = .SurfaceValue 106, 84

End With


Converting Visual Basic Coordinates

In Visual Basic, coordinate values are measured in twips (1,440 twips equals one inch). The following code converts the height and width of a chart from twips to pixels:

pixwidth = Chart3D1.Width / Screen.TwipsPerPixelX

pixheight = Chart3D1.Height / Screen.TwipsPerPixelY


Customizing the Property Pages

Depending on the type of chart you create, you may want to allow users to view the entire Property Pages, or only part of it. By hiding a Property Pages tab or sub tab, you can determine what chart components users can customize.


To Hide a Property Pages Tab

Use the ShowChartEditorElement method to set the display state of the Property Pages tab. The following example hides the Control tab and the Title sub tab of the Axes tab:

Chart3d1.ShowChartEditorElement oc3dceeControl, False

Chart3d1.ShowChartEditorElement oc3dceeAxesTitle, False


To Display a Property Pages Tab Display State

Use the IsChartEditorElementVisible method to determine if the tab is currently hidden or visible. The method returns True if the element is visible, and False otherwise. The following example gets the display state for the Title sub tab of the Axes tab, and shows the tab if it is currently hidden:

If Chart3d1.IsChartEditorVisible (oc3dceeAxesTitle) = False then

Chart3d1.ShowChartEditorElement oc3dceeAxesTitle, True

EndIf


Adding a ComponentOne Chart 3D Control to a Web Page

You can add the ComponentOne Chart 3D control to a web page. Steps 1-5 provide detailed information on the tools you need, how to insert the control, how to create the license pack file, how to optimize the download process and what to look for when testing the web page.

Step 1: Getting Started

Step 2: Creating a Web Page

Step 3: Creating a License Pack File

Step 4: Packaging the Control

Step 5: Testing your Web Page


Step 1: Getting Started

Before you can add ComponentOne Chart to your web page, you will need the following tools:

Microsoft ActiveX SDK - Use this SDK to create the License Pack File (.LPK) that users will download when viewing a web page containing a ComponentOne Chart ActiveX control.

•

You can download the ActiveX SDK from:

http://www.microsoft.com/downloads/details.aspx?familyid=124552ff-8363-47fd-8f3b-36c226e04c85&languageid=f49e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en

•

For more information about the ActiveX SDK, go to:

http://www.microsoft.com/com/tech/activex.asp

Microsoft Cabinet SDK - Use this SDK to create the Cabinet file which stores all the files to be downloaded. Creating a .CAB file helps to minimize the download time, and to keep all downloaded files together.

•

You can download the Cabinet SDK from:

http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe

•

For more information about the Cabinet SDK, go to:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncabsdk/html/cabdl.asp


Step 2: Creating a Web Page

The first step in adding an ActiveX control to a web page is to create the HTML page, and add the required code to insert, size and access the chart. The following three steps outline how to do this:

1.

Create the web page that you want to add ComponentOne Chart to.

2.

Insert and size the ActiveX control. To do this, add an <OBJECT> tag to your HTML code as follows:

<OBJECT ID="Chart3D1" WIDTH=473 HEIGHT=352
CLASSID="CLSID: 3D931501-4601-11CF-80B2-0020AF19EE14 "
CODEBASE="http://www.yoursite.com/olectra.cab">
</OBJECT>

When this HTML code is processed, the browser checks to see if ComponentOne Chart is registered on the computer where the page is being browsed from, and if not it will download and register the control.

If you want to specify a version the control to check for, add the Version element. This will avoid such problems as using new functionality with a prior version of the control. The following example shows how to specify the control version to search for:

<OBJECT ID="Chart3D1" WIDTH=473 HEIGHT=352
CLASSID="CLSID:3D931501-4601-11CF-80B2-0020AF19EE14 "
CODEBASE="http://www.yoursite.com/olectra.cab#Version=6,0,0,0">
</OBJECT>

3.

To set properties, load data or access the chart, you must write VBScript code. For example, the following code sets the header, footer, ChartType and adds some data:

<SCRIPT LANGUAGE="VBScript">

Sub Window_OnLoad()

'Do the basic setup of the chart.
Chart3D1.AllowUserChanges = False
Chart3D1.IsBatched = True
Chart3D1.Border.Type = 4 'Plain
Chart3D1.Border.Width = 1
Chart3D1.Interior.BackGroundColor = RGB(&HFA, &HFA, &HD2)
Chart3D1.Interior.ForeGroundColor = RGB(0, 0, 0)

Chart3D1.ChartArea.Axes("X").MajorGrid.IsOnXYPlane = True
Chart3D1.ChartArea.Axes("X").MajorGrid.IsOnXZPlane = True

Chart3D1.ChartArea.Axes("Y").MajorGrid.IsOnXYPlane = True
Chart3D1.ChartArea.Axes("Y").MajorGrid.IsOnYZPlane = True

Chart3D1.ChartArea.Axes("Z").MajorGrid.IsOnXZPlane = True
Chart3D1.ChartArea.Axes("Z").MajorGrid.IsOnYZPlane = True

Chart3D1.ChartGroups(1).ChartType = 1 'Bar
Chart3D1.ChartGroups(1).Elevation.IsMeshed = True
Chart3D1.ChartGroups(1).Elevation.IsShaded = True
Chart3D1.ChartGroups(1).Elevation.ShadedTopColor = RGB(&HFF, &HF8, &HDC)
Chart3D1.ChartGroups(1).ElevationData.RowCount = 3
Chart3D1.ChartGroups(1).ElevationData.ColumnCount = 4
Chart3D1.ChartGroups(1).ElevationData.Value(1, 1) = 1.32608
Chart3D1.ChartGroups(1).ElevationData.Value(1, 2) = 1.4186
Chart3D1.ChartGroups(1).ElevationData.Value(1, 3) = 1.49956
Chart3D1.ChartGroups(1).ElevationData.Value(1, 4) = 1.56597
Chart3D1.ChartGroups(1).ElevationData.Value(2, 1) = 1.34446
Chart3D1.ChartGroups(1).ElevationData.Value(2, 2) = 1.43709
Chart3D1.ChartGroups(1).ElevationData.Value(2, 3) = 1.5124
Chart3D1.ChartGroups(1).ElevationData.Value(2, 4) = 1.56768
Chart3D1.ChartGroups(1).ElevationData.Value(3, 1) = 1.35423
Chart3D1.ChartGroups(1).ElevationData.Value(3, 2) = 1.44188
Chart3D1.ChartGroups(1).ElevationData.Value(3, 3) = 1.50643
Chart3D1.ChartGroups(1).ElevationData.Value(3, 4) = 1.54619
Chart3D1.ChartGroups(1).ElevationData.RowOrigin = 1
Chart3D1.ChartGroups(1).ElevationData.ColumnOrigin = 1

Chart3D1.ChartArea.PlotCube.XScale = 180
Chart3D1.ChartArea.PlotCube.YScale = 180
Chart3D1.ChartArea.PlotCube.Interior.BackGroundColor = RGB_
(&HD2, &HB4, &H8C)

End Sub

</SCRIPT>

Notes:

•

The CLSID (pronounced Class ID) specified above is for the 32-bit ComponentOne Chart 3D.

•

ComponentOne Chart is safe for scripting, which means that it (or any of its methods) will not write to the local storage when used within a secure Web browser. ComponentOne Chart will also not execute any binary code (for example, a. virus) that is passed to it as data.

•

The Codebase element in the above example points to where the .CAB file (which contains all the files users must download to view the control) is located.


Loading Data or a File from a URL

Using the LoadURL method, you can load data or a chart description file (.OC3 and .OC2) directly from a URL instead of adding it programmatically. If you want to load an entire chart, use the Chart2D object’s LoadURL method. If you just want to load data into an existing chart, use the ChartData object’s LoadURL method. Both of these methods have a single parameter, URLname, which is a string representing the URL where the file you want to load is located.

The following two examples illustrate the different uses of the LoadURL method from within an HTML file:

<SCRIPT LANGUAGE="VBScript">

' Load a chart description file
Chart3D1.LoadURL = "http://www.apexsc.com/olectrachart6/data/default.oc3"

' Load data into a chart
Chart3D1.ChartGroups(1).Data.LoadURL = "http://www.apexsc.com/olectrachart6/data/default.dat"

</SCRIPT>


Step 3: Creating a License Pack File

Once you have created the HTML page shell for ComponentOne Chart, you must create a license pack file that the user’s browser uses to register the control on their computer. To do this, use the lpk_tool program to create a license pack file for all the ActiveX controls on your page:

1.

Run lpk_tool (located in your ActiveX SDK’s \bin directory).

2.

From the Available Controls list, select either ComponentOne Chart 2D or ComponentOne Chart 3D and click the Add button.

3.

Click the Save & Exit button. You will be prompted for a file name and location.

After creating the .LPK file, you must add the following lines in your HTML page, before the <OBJECT> tag used to describe ComponentOne Chart. In this example, replace filename.lpk with the name of your pack file:

<OBJECT CLASSID = "clsid: 5220cb21-c88d-11cf-b347-00aa00a28331">
<PARAM NAME="LPKPath" VALUE="filename.lpk">
</OBJECT>

Notes:

•

You must have a registered version of ComponentOne Chart on your computer to successfully generate a .LPK file.

•

The reference to the resulting .LPK file that you create must be placed on your HTML page before references to any of your ActiveX controls.

•

If your .LPK was created with only ComponentOne Chart in it, it should be 878 bytes. If it is smaller, the license pack file was not created properly.


Step 4: Packaging the Control

There are three parts to create and copy the files required when downloading the ActiveX control:


A: Creating the .INF file

In order for your browser to correctly load and run ComponentOne Chart you must create an .INF file that lists all of the control’s dependencies. Create a text file with the suffix .INF that lists all of the files needed for this component. For 32-bit ComponentOne Chart 2D, the files needed are:

olch3x8.ocx
msvcrt40.dll
mfc40.dll

Here is the contents of an example .INF file called OLECTRA.INF:

[Add.Code]
olch3x8.ocx=olch3x8.ocx
mfc40.dll=mfc40.dll
msvcrt40.dll=msvcrt40.dll

[olch3x8.ocx]
File=thiscab
Clsid={3D931501-4601-11CF-80B2-0020AF19EE14}

[mfc40.dll]
File=http://www.yoursite.com/yourdemo/mfc40.cab

[msvcrt40.dll]
File=http://www.yoursite.com/yourdemo/msvcrt40.cab

Notes:

•

Italicized characters in the above example should be replaced with the URL where these .CAB files will be located on your web server.

•

Many users may already have the mfc40.dll and msvcrt40.dll files available on their computers from prior software installations, so this .INF file will instruct Internet Explorer to download them only if necessary.

To minimize download time, compress these files individually using cabarc.exe. For more information, see the following section.


B: Creating a .CAB file

1.

Use the cabarc.exe program (found in the Cabinet SDK’s \bin directory) to create .CAB files to combine and compress the files needed for downloading, minimizing the download requirements for the ActiveX controls embedded within your HTML page. To create a CAB file that contains the ComponentOne Chart 3D OCX, DLL and the .INF file, type:

cabarc n olectra.cab olch3x8.ocx olectra.inf

2.

Find the place in the HTML on your Web page where the ComponentOne Chart control is referenced. (There should be an <OBJECT> tag with a CLASSID that matches the 32-bit ComponentOne Chart 3D CLSID. Edit the HTML and add a Codebase element with the suitable web site URL and CAB file name.

For example:

<OBJECT ID="Chart3D" WIDTH=313 HEIGHT=225
CLASSID="CLSID: 3D931501-4601-11CF-80B2-0020AF19EE14"
CODEBASE="http://www.yoursite.com/olectra.cab">
</OBJECT>

A Sample HTML File

Here is a very simple .HTML file that displays a 3D chart control. In particular, note the class IDs for the license pack file and the chart control:

<HTML>

<HEAD>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<TITLE>Home Page</TITLE>
</HEAD>

<OBJECT CLASSID="clsid: 5220cb21-c88d-11cf-b347-00aa00a28331"
<PARAM NAME="LPKPath" value="olectra.lpk">
</OBJECT></p>

<p>

<OBJECT ID="Chart3D" WIDTH=313 HEIGHT=225
CLASSID="CLSID: 3D931501-4601-11CF-80B2-0020AF19EE14"
CODEBASE="http://www.yoursite.com/olectra.cab">
</OBJECT>

</BODY>
</HTML>


C: Copying .LPK and .CAB Files to the Server

Once you have created the .LPK and .CAB files, copy them to the server where your web page is. The .LPK file must be in the same directory as the HTML file that references it. The .CAB file must be in the directory that is specified in the <OBJECT> tag. For example, in the above HTML code, the file OLECTRA.CAB would go in the root directory of the server where www.yoursite.com is located.


Step 5: Testing your Web Page

Once you have created your web page with the ComponentOne Chart ActiveX control embedded, you should now run Internet Explorer on a machine that has never had ComponentOne Chart installed on it. Navigate to the Web site where your page exists and have Internet Explorer attempt to display it.

You may get a sequence of dialog boxes depending on the security level that your copy of Internet Explorer is set to. You can change these settings by doing the following:

1.

On the View menu, click Options. The Options dialog appears.

2.

Click the Security tab.

3.

Click the Safety Level button.

4.

The choices for Security Level are High, Medium, None. The default for Internet Explorer is High, so controls that have not been digitally signed will not be downloaded. ComponentOne Chart is signed.

Note:

Internet Explorer caches all downloaded ActiveX control components within a directory called OCCACHE that exists directly under the WINDOWS or WINNT root directories. If you wish to remove ComponentOne Chart from your test system, you only need to delete the files in the OCCACHE directory that correspond to the ones listed in the .INF file described in step 4.


Object Reference

This following provides reference information on the objects that comprise the 3D Chart control, including their properties and methods. The objects are listed alphabetically.

Chart3D Object

Chart3DCoordResult Object

Chart3DData Object

Chart3DDataCoordResult Object

Chart3DDataIndexResult Object

ActionMap Object

ActionMapCollection

AxisCollection

Axis Object

Bar Object

Border Object

Ceiling Object

ChartArea Object

ChartGroupCollection

ChartGroup Object

ChartLabelCollection

ChartLabel Object

ChartStyle Object

ChartStyleCollection

Contour Object

ContourLevels Object

ContourStyle Object

ContourStyleCollection

Coord Object

CubeFont Object

DataColor Object

DataColorCollection

DataCoord Object

DataCoordCollection

DataIndex Object

DerivedDouble Object

DerivedLong Object

Elevation Object

FillStyle Object

Floor Object

GridLines Object

Image Object

Interior Object

Label Object

LabelCollection

Legend Object

LineStyle Object

Location Object

PlotCube Object

Projection Object

Surface Object

SymbolStyle Object

Title Object

ValueLabel Object

ValueLabelCollection

View3D Object

Viewport Object


Chart3D Object

Description

The chart.

Class Name

Chart3D


Chart3D Object Members

Chart3D Object Properties

ActionMaps | The action maps for the control.
AllowUserChanges | Specifies whether the end-user is to be permitted to pop up the property page at runtime.
Border | The border around the entire control.
Cborder | The border around the entire control.
ChartArea | The region of the graph containing the axes and data.
ChartGroups | The collection of data, styles, series/point labels
ChartLabels | The text annotations within the chart.
DataPath | Specifies the URL for a chart description (.OC3) file.
ErrorOffset | The base number for 3D Chart errors.
FontRotation | This new property indicates how TrueType (and TrueType only) fonts are rotated within the 3D plot cube.
Footer | The chart footer area.
Header | The chart header area.
hWnd | The window handle for the control.
Interior | The main background/foreground colors for the chart.
IsBatched | Determines whether changes to chart properties are shown.
IsDoubleBuffered | Determines how chart updates appear to the user.
Legend | The chart legend area.
PreviewMethod | How interactive rotations are previewed to the user.
PropertyPageHelpFile | Sets the full path of the help file (.chm or .hlp) to be used for the runtime property page help.
UseTrueType | Whether or not TrueType fonts are used inside the Plot Cube.

Chart3D Object Methods

AboutBox | Displays an about box for this product.
CallAction | Calls an action.
CopyToClipboard | Copies the chart to the clipboard.
DrawToDC | Draws the chart on a specified device.
DrawToFile | Draws the chart and saves the drawing in a file.
IsChartEditorElementVisible | Returns the state of the Property Editor element.
Load | Loads a chart description from a file.
LoadURL | Loads a chart description (an .OC3 file) from a URL.
PrintChart | Prints the chart.
Refresh | Repaints the chart.
Reset | The default state is the property settings and data values that appear in the chart when it is first dropped on a form.
Save | Saves a chart description to a file.
SaveImageAsDibBytes | Saves a bitmap (device independent bitmap) to a Byte array if successful or Empty if it fails.
SaveImageAsJpeg | Saves the chart as a JPEG image file.
SaveImageAsJpegBytes | Performs the same as the existing function SaveImageAsJpeg() except that the image data is not saved to a file, but is returned in a Byte array (memory only) if successful and Empty if it fails.
SaveImageAsPng | Saves the chart as a PNG image file.
SaveImageAsPngBytes | Performs the same as the existing functions SaveImageAsPng() except that the image data is not saved to a file, but is returned in a Byte array (memory only) if successful and Empty if it fails.
ShowChartEditorElement | Determines if a Property Editor tab is shown or not.


Chart3D Object Properties

ActionMaps Property (Chart3D)

AllowUserChanges Property

Border Property (Chart3D)

CBorder Property (Chart3D)

ChartArea Property (Chart3D)

ChartGroups Property (Chart3D)

ChartLabels Property (Chart3D)

DataPath Property (Chart3D)

ErrorOffset Property (Chart3D)

FontRotation Property (Chart3D)

Footer Property (Chart3D)

Header Property (Chart3D)

hWnd Property (Chart3D)

Interior Property (Chart3D)

IsBatched Property (Chart3D)

IsDoubleBuffered Property (Chart3D)

Legend Property (Chart3D)

PreviewMethod Property (Chart3D)

PropertyPageHelpFile Property (Chart3D)

UseTrueType Property (Chart3D)


ActionMaps Property (Chart3D)

The action maps for the control. See ActionMap Object, ActionMapCollection for details.

Syntax

Property ActionMaps As ActionMapCollection

See Also

Chart3D Object


AllowUserChanges Property

Specifies whether the end-user is to be permitted to pop up the property page at runtime.

Syntax

Property AllowUserChanges As Boolean

See Also

Chart3D Object


Border Property (Chart3D)

The border around the entire control. See Border Object for details.

Syntax

Property Border As Border

See Also

Chart3D Object


CBorder Property (Chart3D)

The border around the entire control. See Border Object for details. This property refers to the exactly the same object as he Border property. It provides an alternate name to the Border object as some browsers (Internet Explorer 6x for example) do not allow ActiveX objects to use Border as a property name.

Syntax

Property CBorder As Border

See Also

Chart3D Object


ChartArea Property (Chart3D)

The region of the graph containing the axes and data. See ChartArea Object for details.

Syntax

Property ChartArea As ChartArea

See Also

Chart3D Object


ChartGroups Property (Chart3D)

The collection of data, styles, series/point labels. See ChartGroup Object, ChartGroupCollection for details.

Syntax

Property ChartGroups As ChartGroupCollection

See Also

Chart3D Object


ChartLabels Property (Chart3D)

The text annotations within the chart. See ChartLabel Object, ChartLabelCollection for details.

Syntax

Property ChartLabels As ChartLabelCollection

See Also

Chart3D Object


DataPath Property (Chart3D)

Specifies the URL for a chart description (.OC3) file. This property is used in ActiveX scripting when embedding a chart into a web page. By setting this property, the chart is automatically loaded into the web page, instead of the chart loading default data.

Syntax

Property DataPath As String

See Also

Chart3D Object


ErrorOffset Property (Chart3D)

The base number for 3D Chart errors.

Syntax

Property ErrorOffset As Long

See Also

Chart3D Object


FontRotation Property (Chart3D)

This new property indicates how TrueType (and TrueType only) fonts are rotated within the 3D plot cube. The following options are available and affect the axis title and annotations:

Syntax

Property FontRotation As FontRotationConstants

Constant | Description
oc3dFontRotationNone = 0 | TitleFont is rotated in the plain of the chart. The text runs parallel to the line of the corresponding axis. Annotations are not rotated and always appear upright near the axis.
oc3dFontRotation2D = 1 | TitleFont is rotated in the plain of the chart. The text runs parallel to the line of the corresponding axis. Annotations are rotated such that the text is parallel to the crossing axis of the plane annotated.
oc3dFontRotation3D = 2 | TitleFont is rotated with the plotcube of the chart. The text appears to lie entirely in the plane annotated and is parallel to the corresponding axis. Annotations are rotated with the plotcube of the chart. The text appears to lie entirely in the plane annotated and is perpendicular to the corresponding axis.

See Also

Chart3D Object


Footer Property (Chart3D)

The chart footer area. See Title Object for details.

Syntax

Property Footer As Title

See Also

Chart3D Object


Header Property (Chart3D)

The chart header area. See Title Object for details.

Syntax

Property Header As Title

See Also

Chart3D Object


hWnd Property (Chart3D)

The window handle for the control.

Syntax

Property hWnd As OLE_HANDLE

See Also

Chart3D Object


Interior Property (Chart3D)

The main background/foreground colors for the chart. See Interior Object for details.

Syntax

Property Interior As Interior

See Also

Chart3D Object


IsBatched Property (Chart3D)

Determines whether changes to chart properties are shown. When set to False, changing a property causes the chart display to update immediately. When set to True, property changes are not shown until this property is reset to False.

Syntax

Property IsBatched As Boolean

See Also

Chart3D Object


IsDoubleBuffered Property (Chart3D)

Determines how chart updates appear to the user. When set to True, redrawing the chart is buffered to limit flashing. When set to False, redrawing takes place directly on the screen, which results in less memory used.

Syntax

Property IsDoubleBuffered As Boolean

See Also

Chart3D Object


Legend Property (Chart3D)

The chart legend area. See Legend Object for details. Chart automatically creates legends whenever contours or zones are drawn.

Syntax

Property Legend As Legend

See Also

Chart3D Object


PreviewMethod Property (Chart3D)

How interactive rotations are previewed to the user. See PreviewMethod Constants for valid values.

Syntax

Property PreviewMethod As PreviewMethodConstants

See Also

Chart3D Object


PropertyPageHelpFile Property (Chart3D)

Sets the full path of the help file (.chm or .hlp) to be used for the runtime property page help. Note that designtime property page help is always the same as before.

Syntax

Property PropertyPageHelpfile As String

See Also

Chart3D Object


UseTrueType Property (Chart3D)

Whether or not TrueType fonts are used inside the Plot Cube.

Syntax

Property UseTrueType As Boolean

See Also

Chart3D Object


Chart3D Object Methods

AboutBox Method (Chart3D)

CallAction Method (Chart3D)

CopyToClipboard Method (Chart3D)

DrawToDC Method (Chart3D)

DrawToFile Method (Chart3D)

IsChartEditorElementVisible Method (Chart3D)

Load Method (Chart3D)

LoadURL Method (Chart3D)

PrintChart Method (Chart3D)

Refresh Method (Chart3D)

Reset Method (Chart3D)

Save Method (Chart3D)

SaveImageAsDibBytes Method (Chart3D)

SaveImageAsJpeg Method (Chart3D)

SaveImageAsJpegBytes Method (Chart3D)

SaveImageAsPng Method (Chart3D)

SaveImageAsPngBytes Method (Chart3D)

ShowChartEditorElement Method (Chart3D)


AboutBox Method (Chart3D)

Displays an about box for this product.

Syntax

Sub AboutBox()

See Also

Chart3D Object


CallAction Method (Chart3D)

Calls an action.

Syntax

Sub CallAction(Action As ActionConstants, XCoord As Long, YCoord As Long)

Part | Type | Description
Action | Integer | The action to be called. See Action Constants for valid values.
XCoord | Long | The X-coordinate of the specified location.
YCoord | Long | The Y-coordinate of the specified location.

See Also

Chart3D Object


CopyToClipboard Method (Chart3D)

Copies the chart to the clipboard. Returns True on success, False on failure.

Syntax

Function CopyToClipboard(Format As FormatConstants) As Boolean

Part | Type | Description
Format | Integer | Print format used. See Format Constants for valid values.

See Also

Chart3D Object


DrawToDC Method (Chart3D)

Draws the chart on a specified device. Left, Top, Width and Height are measured in pixels. Returns True on success, False on failure.

Syntax

Function DrawToDC(Hdc As Long, Format As FormatConstants, Scale As ScaleConstants, Left As Long, Top As Long, Width As Long, Height As Long) As Boolean

Part | Type | Description
Hdc | Long | Microsoft Windows device context handle.
Format | Integer | Print format used. See Format Constants for valid values.
Scale | String | Scaling to perform when drawing. See Scale Constants for valid values.
Left | Long | Offset from left edge of page.
Top | Long | Offset from top of page.
Width | Long | Width of drawn image.
Height | Long | Height of drawn image.

See Also

Chart3D Object


DrawToFile Method (Chart3D)

Draws the chart and saves the drawing in a file. Returns True on success, False on failure.

Syntax

Function DrawToFile(FileName As String, Format As FormatConstants) As Boolean

Part | Type | Description
FileName | String | File to contain drawing.
Format | Integer | Print format used. See Format Constants for valid values.

See Also

Chart3D Object


IsChartEditorElementVisible Method (Chart3D)

Returns the state of the Property Editor element. Returns True if the element is visible, False otherwise.

Syntax

Function IsChartEditorElementVisible(Element As Integer) As Boolean

Part | Type | Description
Element | Short | The Property Editor Element. See ChartEditorElement Constants for valid values.

See Also

Chart3D Object


Load Method (Chart3D)

Loads a chart description from a file. Returns True on success, False on failure.

Syntax

Function Load(FileName As String) As Boolean

Part | Type | Description
FileName | String | Name of file, including path if necessary.

See Also

Chart3D Object


LoadURL Method (Chart3D)

Loads a chart description (an .OC3 file) from a URL. Returns True on success and False on failure.

Syntax

Function LoadURL(URLName As String) As Boolean

Part | Type | Description
URLName | String | The URL where the chart description file is located.

See Also

Chart3D Object


PrintChart Method (Chart3D)

Prints the chart. Left, Top, Width and Height are measured in pixels. Returns True on success, False on failure.

Syntax

Function PrintChart(Format As FormatConstants, Scale As ScaleConstants, Left As Long, Top As Long, Width As Long, Height As Long) As Boolean

Part | Type | Description
Format | Integer | Print format used. See Format Constants for valid values.
Scale | String | Scaling to perform when printing. See Scale Constants for valid values.
Left | Long | Offset from left edge of page.
Top | Long | Offset from top of page.
Width | Long | Width of printed image (if set to 0, use width specified by print device).
Height | Long | Height of printed image (if set to 0, use height specified by print device).

See Also

Chart3D Object


Refresh Method (Chart3D)

Repaints the chart.

Syntax

Sub Refresh()

See Also

Chart3D Object


Reset Method (Chart3D)

The default state is the property settings and data values that appear in the chart when it is first dropped on a form.

This method has also been added to the Control-General property page as a button. Pressing the button resets the 2D or 3D chart to its default state.

Syntax

Sub Reset()

See Also

Chart3D Object


Save Method (Chart3D)

Saves a chart description to a file. Returns True on success, False on failure.

Syntax

Function Save(FileName As String) As Boolean

Part | Type | Description
FileName | String | Name of file, including path if necessary.

See Also

Chart3D Object


SaveImageAsDibBytes Method (Chart3D)

Saves a bitmap (device independent bitmap) to a Byte array if successful or Empty if it fails.

Syntax

Function SaveImageAsDibBytes()

See Also

Chart3D Object


SaveImageAsJpeg Method (Chart3D)

Saves the chart as a JPEG image file. Returns True if successful, False if not.

Syntax

Function SaveImageAsJpeg(FileName As String, Quality As Long, GrayScale As Boolean, OptimizeCompression As Boolean, ProgressiveJpeg As Boolean) As Boolean

Part | Type | Description
FileName | String | The path and file name of the image to be stored.
Quality | Long | A value from 0 to 100. The larger the value, the better the image quality (but a larger file size).
GrayScale | Boolean | GrayScale has a value of True if the image is to be saved as a grayscale. A grayscale image is composed of 256 shades of gray.
OptimizeCompression | Boolean | Set to True to optimize the compression, resulting in a smaller file size (but longer load time).
ProgressiveJpeg | Boolean | Set to True to create a JPEG that will display incrementally.

See Also

Chart3D Object


SaveImageAsJpegBytes Method (Chart3D)

Performs the same as the existing function SaveImageAsJpeg() except that the image data is not saved to a file, but is returned in a Byte array (memory only) if successful and Empty if it fails.

Syntax

Function SaveImageAsJpegBytes(Quality As Long, GrayScale As Boolean, OptimizeCompression As Boolean, ProgressiveJpeg As Boolean)

Part | Type | Description
Quality | Long | A value from 0 to 100. The larger the value, the better the image quality (but a larger file size).
GrayScale | Boolean | GrayScale has a value of True if the image is to be saved as a grayscale. A grayscale image is composed of 256 shades of gray.
OptimizeCompression | Boolean | Set to True to optimize the compression, resulting in a smaller file size (but longer load time).
ProgressiveJpeg | Boolean | Set to True to create a JPEG that will display incrementally.

See Also

Chart3D Object


SaveImageAsPng Method (Chart3D)

Saves the chart as a PNG image file. Returns True if successful, False if not.

Syntax

Function SaveImageAsPng(FileName As String, Interlace As Boolean) As Boolean

Part | Type | Description
FileName | String | The path and file name of the image to be stored.
Interlace | Boolean | Set to True to create an interlaced PNG file.

See Also

Chart3D Object


SaveImageAsPngBytes Method (Chart3D)

Performs the same as the existing functions SaveImageAsPng() except that the image data is not saved to a file, but is returned in a Byte array (memory only) if successful and Empty if it fails.

Syntax

Function SaveImageAsPngBytes(Interlace As Boolean)

Part | Type | Description
Interlace | Boolean | Set to True to create an interlaced PNG file.

See Also

Chart3D Object


ShowChartEditorElement Method (Chart3D)

Determines if a Property Editor tab is shown or not. Returns True if the element is currently visible, False if it is not.

Syntax

Function ShowChartEditorElement(Element As Integer, Show As Boolean) As Boolean

Part | Type | Description
Element | Short | The Property Editor component to be shown or hidden. See ChartEditorElement Constants for valid values.
Show | Boolean | If the element is shown or not. True if the element is shown, False if it is not.

See Also

Chart3D Object


Chart3DCoordResult Object

A screen coordinate. Stores the results of the ChartGroup Object's DataCoordToCoordObject() and DataIndexToCoordObject() methods.


Chart3DCoordResult Object Members

Chart3DCoordResult Object Properties

X | The X-coordinate.
Y | The Y-coordinate.


Chart3DCoordResult Object Properties


X Property (Chart3DCoordResult)

The X-coordinate.

Syntax

Property X As Long

See Also

Chart3DCoordResult Object


Y Property (Chart3DCoordResult)

The Y-coordinate.

Syntax

Property Y As Long

Applies To

ChartGroup Object

See Also

Chart3DCoordResult Object


Chart3DData Object

The data associated with a particular chart group.


Chart3DData Object Members

Chart3DData Object Properties

ColumnCount | The number of columns of data in the chart group.
ColumnDelta | Indicates the amount of space between a data value and its neighboring column.
ColumnOrigin | The Y-coordinate of the grid origin.
Datapath | Specifies a URL containing chart data to load at runtime.
FileName | The name of the file to which data is saved when IsSaved is set to False.
HoleValue | The value representing a missing data value (a hole in the chart).
IsBatched | Whether property changes are currently being batched (i.e., the chart is not being immediately updated).
IsSaved | How to save the data.
Layout | The chart data type.
NumSeries | The number of series in the chart.
Parent | The parent object.
PointSeries | Returns the collection of point data for a given series.
RowCount | The number of rows of data in the chart group.
RowDelta | Indicates the amount of space between a data value and its neighboring row.
RowOrigin | The X-coordinate of the grid origin.
Value | Represents the Z-values for the specified data. Value is indexed by Row and Column.

Chart3DData Methods

Copy | Creates a copy of this data object.
CopyZArrayIn | Copies an array to the Z values for a specific series of data.
CopyZArrayOut | Copies the Z values for a specific series of data from the chart into an array.
CreateContours | Returns a list of points that represent the contour lines.
CreateShaded | Creates a Chart3DData object and fill it with a shaded-relief map of the original data.
CreateSubset | Creates a new Chart3DData object consisting of a subset of the original data.
Load | Loads data from a file.
LoadURL | Loads data from a URL.
Save | Saves data to a file.
Smooth | Passes a center-weighted averaging function over the grid to produce smoother-looking data.
UpdateDataValue | Replaces data of a specified value with a new value.


Chart3DData Object Properties

ColumnCount Property (Chart3DData)

ColumnDelta Property (Chart3DData)

ColumnOrigin Property (Chart3DData)

Datapath Property (Chart3DData)

FileName Property (Chart3DData)

HoleValue Property (Chart3DData)

IsBatched Property (Chart3DData)

IsSaved Property (Chart3DData)

Layout Property (Chart3DData)

NumSeries Property (Chart3DData)

Parent Property (Chart3DData)

PointSeries Property (Chart3DData)

RowCount Property (Chart3DData)

RowDelta Property (Chart3DData)

RowOrigin Property (Chart3DData)

Value Property (Chart3DData)


ColumnCount Property (Chart3DData)

The number of columns of data in the chart group.

Syntax

Property ColumnCount As Long

See Also

Chart3DData Object


ColumnDelta Property (Chart3DData)

Indicates the amount of space between a data value and its neighboring column. ColumnDelta is indexed by an Integer, Column. Set a new ColumnDelta by specifying the Column index (the column you want to change) and setting the new value. Note that if the Layout property is set to oc3dDataGrid, this property has only one value.

Syntax

Property ColumnDelta(Column As Long) As Double

See Also

Chart3DData Object


ColumnOrigin Property (Chart3DData)

The Y-coordinate of the grid origin.

Syntax

Property ColumnOrigin As Double

See Also

Chart3DData Object


Datapath Property (Chart3DData)

Specifies a URL containing chart data to load at runtime. If this property is set, ComponentOne Chart will attempt to load data into the chart from the specified location. If the data cannot be located, it will load the default data.

Syntax

Property DataPath As String

See Also

Chart3DData Object


FileName Property (Chart3DData)

The name of the file to which data is saved when IsSaved is set to False.

Syntax

Property FileName As String

See Also

Chart3DData Object


HoleValue Property (Chart3DData)

The value representing a missing data value (a hole in the chart).

Syntax

Property HoleValue As Double

See Also

Chart3DData Object


IsBatched Property (Chart3DData)

Whether property changes are currently being batched (i.e., the chart is not being immediately updated).

Syntax

Property IsBatched As Boolean

See Also

Chart3DData Object


IsSaved Property (Chart3DData)

How to save the data. If True, data is saved with the chart. If False and FileName is provided, it is saved to the specified file.

Syntax

Property IsSaved As Boolean

See Also

Chart3DData Object


Layout Property (Chart3DData)

The chart data type. See DataLayout Constants for valid values.

Syntax

Property Layout As DataLayoutConstants

See Also

Chart3DData Object


NumSeries Property (Chart3DData)

The number of series in the chart. Only applicable when the data layout is Point.

Syntax

Property NumSeries As Long

See Also

Chart3DData Object


Parent Property (Chart3DData)

The parent object.

Syntax

Property Parent As Object

See Also

Chart3DData Object


PointSeries Property (Chart3DData)

Returns the collection of point data for a given series.

Syntax

Property PointSeries(Series As Long) As DataCoordCollection

See Also

Chart3DData Object


RowCount Property (Chart3DData)

The number of rows of data in the chart group.

Syntax

Property RowCount As Long

See Also

Chart3DData Object


RowDelta Property (Chart3DData)

Indicates the amount of space between a data value and its neighboring row. RowDelta is indexed by an Integer, Row. Set a new RowDelta by specifying the Row index (the row you want to change) and setting the new value. Note that if the Layout property is set to oc3dDataGrid, this property has only one value.

Syntax

Property RowDelta(Row As Long) As Double

See Also

Chart3DData Object


RowOrigin Property (Chart3DData)

The X-coordinate of the grid origin.

Syntax

Property RowOrigin As Double

See Also

Chart3DData Object


Value Property (Chart3DData)

Represents the Z-values for the specified data. Value is indexed by Row and Column. Set a new Z value by specifying the Row and Column index, and setting the new value.

Syntax

Property Value(Row As Long, Column As Long) As Double

See Also

Chart3DData Object


Chart3DData Methods

Copy Method (Chart3DData)

CopyZArrayIn Method (Chart3DData)

CopyZArrayOut Method (Chart3DData)

CreateContours Method (Chart3DData)

CreateShaded Method (Chart3DData)

CreateSubset Method (Chart3DData)

Load Method (Chart3DData)

LoadURL Method (Chart3DData)

Save Method (Chart3DData)

Smooth Method (Chart3DData)

UpdateDataValue Method (Chart3DData)


Copy Method (Chart3DData)

Creates a copy of this data object.

Syntax

Function Copy() As Chart3DData

See Also

Chart3DData Object


CopyZArrayIn Method (Chart3DData)

Copies an array to the Z values for a specific series of data. This method cannot be used with Point data.

Syntax

Function CopyZArrayIn(vArray) As Boolean

Part | Type | Description
Array | Variant | Name of the array where the data is stored. The array must be a two-dimensional array of doubles.

See Also

Chart3DData Object


CopyZArrayOut Method (Chart3DData)

Copies the Z values for a specific series of data from the chart into an array. This method cannot be used with Point data.

Syntax

Function CopyZArrayOut(vArray) As Boolean

Part | Type | Description
Array | Variant | Name of the array where the data is to be copied. The array must be a two-dimensional array of doubles.

See Also

Chart3DData Object


CreateContours Method (Chart3DData)

Returns a list of points that represent the contour lines. The data set will be copied into a new CData object, which is returned by the method.

Syntax

Function CreateContours(first As Integer, last As Integer, filter As Integer) As Chart3DData

Part | Type | Description
First Last Filter | Integer | First contour line to be exported Last contour line to be exported Allows every nth contour line to be exported (skipping the others)

Example

' Sample Visual Basic code that extracts the contour data, and
' then saves the data to a file

Private Sub Export_contour()

Dim mydata As Chart3DData

Set mydata = Chart3D1.ChartGroups(1).ElevationData.CreateContours(1,

Chart3D1.ChartGroups(1).Contour.Levels.NumLevels, 1)

mydata.Save "e:\temp\contour.dat"

End Sub

See Also

Chart3DData Object


CreateShaded Method (Chart3DData)

Creates a Chart3DData object and fill it with a shaded-relief map of the original data. This method cannot be used with Point data.

Syntax

Function CreateShaded(Sweep As Double, Rise As Double, Scale As Double, Ambient As Double, Intensity As Double) As Chart3DData

Part | Type | Description
Sweep | Double | The sweep angle used when calculating the location of the light source
Rise | Double | The rise angle used when calculating the location of the light source
Scale | Double | The difference in units between the XY-plane coordinates and the Z-value coordinates (if set to 0, a default value is used)
Ambient | Double | The base amount of light for the surface (must be between 0 and 1)
Intensity | Double | The brightness of the light (must be between 0 and 1)

See Also

Chart3DData Object


CreateSubset Method (Chart3DData)

Creates a new Chart3DData object consisting of a subset of the original data. This method cannot be used with Point data.

Syntax

Function CreateSubset(XStart As Double, YStart As Double, XEnd As Double, YEnd As Double, NumX As Long, NumY As Long, Method As InterpolationConstants) As Chart3DData

Part | Type | Description
Xstart | Double | X-coordinate of start of data subset
Ystart | Double | Y-coordinate of start of data subset
Xend | Double | X-coordinate of end of data subset
Yend | Double | Y-coordinate of end of data subset
NumX | Long | Number of grid lines in X direction
NumY | Long | Number of grid lines in Y direction
Method | Long | Spline interpolation method (see Interpolation Constants for valid values)

See Also

Chart3DData Object


Load Method (Chart3DData)

Loads data from a file. Returns True on success and False on failure.

Syntax

Function Load(FileName As String) As Boolean

Part | Type | Description
FileName | String | File containing data

See Also

Chart3DData Object


LoadURL Method (Chart3DData)

Loads data from a URL. Returns True on success and False on failure.

Syntax

Function LoadURL(URLName As String) As Boolean

Part | Type | Description
URLName | String | The URL for the file where the data is located.

See Also

Chart3DData Object


Save Method (Chart3DData)

Saves data to a file. Returns True on success and False on failure.

Syntax

Function Save(FileName As String) As Boolean

Part | Type | Description
FileName | String | File to be written to.

See Also

Chart3DData Object


Smooth Method (Chart3DData)

Passes a center-weighted averaging function over the grid to produce smoother-looking data. This method cannot be used with Point data.

Syntax

Sub Smooth(Weight As Double)

Part | Type | Description
Weight | Double | The center weight to use (must be between 0 and 1).

See Also

Chart3DData Object


UpdateDataValue Method (Chart3DData)

Replaces data of a specified value with a new value. All values matching OldValue will be replaced with NewValue. Returns the number of replacements made.

Syntax

Function UpdateDataValue(OldValue As Double, NewValue As Double) As Long

Part | Type | Description
OldValue | double | The data to be replaced.
NewValue | double | The value replacing the old data.

Example

' Specify number of columns in elevation data

Chart3D1.ChartGroups(1).ElevationData.ColumnCount = 5

Applies To

ChartGroup Object

See Also

Chart3DData Object


Chart3DDataCoordResult Object

Stores the results of the ChartGroup Object's CoordToDataCoordObject() method.


Chart3DDataCoordResult Object Members

Chart3DDataCoordResult Object Properties

Region | The region where the coordinates are located.
X | The X-coordinate.
Y | The Y-coordinate.
Z | The Z-coordinate.


Chart3DDataCoordResult Object Properties

Region Property (Chart3DDataCoordResult)

X Property (Chart3DDataCoordResult)

Y Property (Chart3DDataCoordResult)

Z Property (Chart3DDataCoordResult)


Region Property (Chart3DDataCoordResult)

The region where the coordinates are located. See Region Constants for valid values.

Syntax

Property Region As RegionConstants

See Also

Chart3DDataCoordResult Object


X Property (Chart3DDataCoordResult)

The X-coordinate.

Syntax

Property X As Double

See Also

Chart3DDataCoordResult Object


Y Property (Chart3DDataCoordResult)

The Y-coordinate.

Syntax

Property Y As Double

See Also

Chart3DDataCoordResult Object


Z Property (Chart3DDataCoordResult)

The Z-coordinate.

Syntax

Property Z As Double

Applies To

ChartGroup Object

See Also

Chart3DDataCoordResult Object


Chart3DDataIndexResult Object

Stores the results of the ChartGroup Object's DataIndexToCoordObject() method.


Chart3DDataIndexResult Object Members

Chart3DDataIndexResult Object Properties

Column | Returned nearest column.
Distance | Distance between pixel coordinate and closest displayed data.
Region | The region where the coordinates are located.
Row | Returned nearest row.


Chart3DDataIndexResult Object Properties

Column Property (Chart3DDataIndexResult)

Distance Property (Chart3DDataIndexResult)

Region Property (Chart3DDataIndexResult)

Row Property (Chart3DDataIndexResult)


Column Property (Chart3DDataIndexResult)

Returned nearest column.

Syntax

Property Column As Long

See Also

Chart3DDataIndexResult Object


Distance Property (Chart3DDataIndexResult)

Distance between pixel coordinate and closest displayed data.

Syntax

Property Distance As Long

See Also

Chart3DDataIndexResult Object


Region Property (Chart3DDataIndexResult)

The region where the coordinates are located. See Region Constants for valid values.

Syntax

Property Region As RegionConstants

See Also

Chart3DDataIndexResult Object


Row Property (Chart3DDataIndexResult)

Returned nearest row.

Syntax

Property Row As Long

Applies To

ChartGroup Object

See Also

Chart3DDataIndexResult Object


ActionMap Object

An ActionMap object is one action map (which defines a user event that causes some interactive action within the control).


ActionMap Object Members

ActionMap Object Properties

Action | The action associated with this action map.
Keycode | The keycode for this action.
Message | The message to be passed to the message handler.
Modifier | The modifier flags, if any.
Parent | The parent object.


ActionMap Object Properties

Action Property

Keycode Property (ActionMap)

Message Property (ActionMap)

Modifier Property (ActionMap)

Parent Property (ActionMap)


Action Property

The action associated with this action map. See Action Constants for valid values.

Syntax

Property Action As Integer

Example

' Set first action to rotate

Chart3D1.ActionMaps(message, modifier, keycode).Action = oc3dActionRotate

See Also

ActionMap Object


Keycode Property (ActionMap)

The keycode for this action.

Syntax

Property Keycode As Integer

See Also

ActionMap Object


Message Property (ActionMap)

The message to be passed to the message handler.

Syntax

Property Message As Integer

See Also

ActionMap Object


Modifier Property (ActionMap)

The modifier flags, if any.

Syntax

Property Modifier As Integer

See Also

ActionMap Object


Parent Property (ActionMap)

The parent object.

Syntax

Property Parent As Object

Applies To

Chart3D object

See Also

ActionMap Object


ActionMapCollection

The ActionMap collection is a collection of all ActionMap objects.


ActionMapCollection Members

ActionMapCollection Properties

Count | The current number of ActionMap objects in the collection.
Item | Specifies a specific ActionMap object from the collection.
Parent | The parent object.

ActionMapCollection Methods

Add | Adds an action map to the collection.
Remove | Removes an action map from the collection.
RemoveAll | Removes all elements in the collection.
Reset | Resets the collection to the default set of actions that are created when a new control is created.


ActionMapCollection Properties


Count Property (ActionMapCollection)

The current number of ActionMap objects in the collection.

Syntax

Property Count As Long

See Also

ActionMapCollection


Item Property (ActionMapCollection)

Specifies a specific ActionMap object from the collection. Indexed by message, modifier flags, and keycode.

Syntax

Property Item(Message As Integer, Modifier As Integer, Keycode As Integer) As ActionMap

See Also

ActionMapCollection


Parent Property (ActionMapCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ActionMapCollection


ActionMapCollection Methods

Add Method (ActionMapCollection)

Remove Method (ActionMapCollection)

RemoveAll Method (ActionMapCollection)

Reset Method (ActionMapCollection)


Add Method (ActionMapCollection)

Adds an action map to the collection.

Syntax

Function Add(Message As Integer, Modifier As Integer, Keycode As Integer, Action As Integer) As ActionMap

Part | Type | Description
Message | Integer | The message passed to the message handler
Modifier | Integer | Modifier flags, if any
Keycode | Integer | The associated keycode
Action | Integer | The action to be added (value must be an action constant)

See Also

ActionMapCollection


Remove Method (ActionMapCollection)

Removes an action map from the collection.

Syntax

Sub Remove(Message As Integer, Modifier As Integer, Keycode As Integer)

Part | Type | Description
Message | Integer | The message passed to the message handler
Modifier | Integer | Modifier flags, if any
Keycode | Integer | The associated keycode

See Also

ActionMapCollection


RemoveAll Method (ActionMapCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

ActionMapCollection


Reset Method (ActionMapCollection)

Resets the collection to the default set of actions that are created when a new control is created.

Syntax

Sub Reset()

See Also

ActionMapCollection


AxisCollection

The Axis collection is a static collection of three Axis objects, named “X”, “Y” and “Z”.


AxisCollection Members

AxisCollection Properties

Count | The current number of Axis objects in the collection.
Item | Specifies a specific Axis object from the collection.
Parent | The parent object.

See Also

AxisCollection


AxisCollection Properties


Count Property (AxisCollection)

The current number of Axis objects in the collection.

Syntax

Property Count As Long

See Also

AxisCollection


Item Property (AxisCollection)

Specifies a specific Axis object from the collection. Indexed by number (with 1 representing the first object in the collection) or by the value of the Name property.

Syntax

Property Item(Index) As Axis

See Also

AxisCollection


Parent Property (AxisCollection)

The parent object.

Syntax

Property Parent As Object

See Also

AxisCollection


Axis Object

An Axis object is one chart axis.


Axis Object Members

Axis Object Properties

AnnotationFont | The font for the axis annotation.
AnnotationMethod | The method used to annotate the axis.
AnnotationPosition | Specifies axis annotation and title position.
IsShowing | Whether the axis is displayed.
MajorGrid | The grid to be displayed on a plane containing this axis.
Max | The maximum value of the axis.
Min | The minimum value of the axis.
Name | The axis name, which is one of “X”, “Y” or “Z”.
Origin | For the Z-axis, defines the Z-value from which bars are filled.
Parent | The parent object.
Title | The axis title.
TitleFont | The font for the axis titles.
ValueLabels | The labels for the axis, used when the AnnotationMethod property has the value oc3dAnnotateValueLabels.


Axis Object Properties

AnnotationFont Property

AnnotationMethod Property

AnnotationPosition Property

IsShowing Property (Axis)

MajorGrid Property (Axis)

Max Property (Axis)

Min Property (Axis)

Name Property (Axis)

Origin Property (Axis)

Parent Property (Axis)

Title Property (Axis)

TitleFont Property (Axis)

ValueLabels Property (Axis)


AnnotationFont Property

The font for the axis annotation. See CubeFont Object for details.

Syntax

Property AnnotationFont As CubeFont

See Also

Axis Object


AnnotationMethod Property

The method used to annotate the axis. See AnnotationMethod Constants for valid values.

Syntax

Property AnnotationMethod As AnnotationMethodConstants

See Also

Axis Object


AnnotationPosition Property

Specifies axis annotation and title position.

Constant | Description
oc3dAnnotationPositionBoth = 0 | Both axis lines are annotated.
oc3dAnnotationPositionNear = 1 | Only near axis line is annotated.
oc3dAnnotationPositionFar = 2 | Only far axis line is annotated.
oc3dAnnotationPositionNone = 3 | Axis lines are not annotated.

See Also

Axis Object


IsShowing Property (Axis)

Whether the axis is displayed.

Syntax

Property IsShowing As Boolean

See Also

Axis Object


MajorGrid Property (Axis)

The grid to be displayed on a plane containing this axis.

Syntax

Property MajorGrid As GridLines

See Also

Axis Object

GridLines Object


Max Property (Axis)

The maximum value of the axis. See DerivedDouble Object for details. For the X-axis and Y-axis, ComponentOne Chart automatically adjusts sets so that data values higher than the value of this property are not displayed. For the Z-axis, the value of this property cannot be less than the maximum Z-value.

Syntax

Property Max As DerivedDouble

Example

' Set maximum value for X-axis

Chart3D1.ChartArea.Axes("X").Max = 500.0

See Also

Axis Object


Min Property (Axis)

The minimum value of the axis. See DerivedDouble Object for details. For the X-axis and Y-axis, ComponentOne Chart automatically adjusts sets so that data values lower than the value of this property are not displayed. For the Z-axis, the value of this property cannot be less than the minimum Z-value.

Syntax

Property Min As DerivedDouble

See Also

Axis Object


Name Property (Axis)

The axis name, which is one of “X”, “Y” or “Z”.

Syntax

Property Name As String

See Also

Axis Object


Origin Property (Axis)

For the Z-axis, defines the Z-value from which bars are filled. This property has no effect on surface charts.

Syntax

Property Origin As Double

See Also

Axis Object


Parent Property (Axis)

The parent object.

Syntax

Property Parent As Object

See Also

Axis Object


Title Property (Axis)

The axis title. See Label Object, LabelCollection for details.

Syntax

Property Title As Label

See Also

Axis Object


TitleFont Property (Axis)

The font for the axis titles. See CubeFont Object for details.

Syntax

Property TitleFont As CubeFont

See Also

Axis Object


ValueLabels Property (Axis)

The labels for the axis, used when the AnnotationMethod property has the value oc3dAnnotateValueLabels. See ValueLabel Object, ValueLabelCollection for details.

Syntax

Property ValueLabels As ValueLabelCollection

Applies To

ChartArea object

See Also

Axis Object


Bar Object

The bars in a bar chart.


Bar Object Members

Bar Object Properties

Colors | The collection of colors to be applied, in order, in bar charts.
ColumnFormat | The representation format of the bar chart along the Y-axis.
ColumnSpacing | The amount of space between columns in a bar chart, measured as a percentage of the total amount of space available.
Parent | The parent object.
RowFormat | The representation format of the bar chart along the X-axis.
RowSpacing | The amount of space between rows in a bar chart, measured as a percentage of the total amount of space available.


Bar Object Properties

Colors Property (Bar)

ColumnFormat Property (Bar)

ColumnSpacing Property (Bar)

Parent Property (Bar)

RowFormat Property (Bar)

RowSpacing Property (Bar)


Colors Property (Bar)

The collection of colors to be applied, in order, in bar charts. See DataColor Object, DataColorCollection for details.

Syntax

Property Colors As DataColorCollection

See Also

Bar Object


ColumnFormat Property (Bar)

The representation format of the bar chart along the Y-axis. See BarFormat Constants for valid values.

Syntax

Property ColumnFormat As BarFormatConstants

See Also

Bar Object


ColumnSpacing Property (Bar)

The amount of space between columns in a bar chart, measured as a percentage of the total amount of space available. Values between 1.0 and 100.0 are valid.

Syntax

Property ColumnSpacing As Double

Example

' Set bar column spacing

Chart3D1.ChartArea.Bar.ColumnSpacing = 5.0

See Also

Bar Object


Parent Property (Bar)

The parent object.

Syntax

Property Parent As Object

See Also

Bar Object


RowFormat Property (Bar)

The representation format of the bar chart along the X-axis. See BarFormat Constants for valid values.

Syntax

Property RowFormat As BarFormatConstants

See Also

Bar Object


RowSpacing Property (Bar)

The amount of space between rows in a bar chart, measured as a percentage of the total amount of space available. Values between 1.0 and 100.0 are valid.

Syntax

Property RowSpacing As Double

Applies To

ChartArea Object

See Also

Bar Object


Border Object

The border around parts of the chart.


Border Object Members

Border Object Properties

Parent | The parent object.
Type | The type of border drawn around the parent object.
Width | The thickness of the border.


Parent Property (Border)

The parent object.

Syntax

Property Parent As Object

See Also

Border Object


Type Property (Border)

The type of border drawn around the parent object. See BorderType Constants for valid values.

Syntax

Property Type As BorderTypeConstants

See Also

Border Object


Width Property (Border)

The thickness of the border. Valid values are between 0 and 20.

Syntax

Property Width As Long

Example

' Set header border width

Chart3D1.ChartArea.Header.Border.Width = 5

Applies To

Chart3D object

ChartArea object

ChartLabel object

Legend object

Title object

See Also

Border Object


Ceiling Object

The projection of contours and/or zones on the z=zmax plane.


Ceiling Object Members

Ceiling Object Properties

Parent | The parent object.
Projection | The ceiling projection employed.


Parent Property (Ceiling)

The parent object.

Syntax

Property Parent As Object

See Also

Ceiling Object


Projection Property (Ceiling)

The ceiling projection employed. See Projection Object for details.

Syntax

Property Projection As Projection

Example

' Set ceiling projection to be zoned

Chart3D1.ChartArea.PlotCube.Ceiling.Projection.IsZoned = True

Applies To

PlotCube Object

See Also

Ceiling Object


ChartArea Object

The main body of the chart (containing the axes and the charted data).


ChartArea Object Members

ChartArea Object Properties

Axes | The chart axes.
Bar | Controls the appearance of a bar chart.
Border | The border enclosing the chart area.
Interior | The background/foreground colors.
Location | The size and position of the chart area.
Parent | The parent object.
PlotCube | The unit cube used to determine scaling and projection.
Surface | Controls the appearance of a surface format chart.
Viewport | The chart region to which the plot cube is mapped.
View3D | The 3D effects used when displaying a chart.


ChartArea Object Properties

Axes Property

Bar Property (ChartArea)

Border Property (ChartArea)

Interior Property (ChartArea)

Location Property (ChartArea)

Parent Property (ChartArea)

PlotCube Property (ChartArea)

Surface Property (ChartArea)

Viewport Property (ChartArea)

View3D Property (ChartArea)


Axes Property

The chart axes. See Axis Object, AxisCollection for details.

Syntax

Property Axes As AxisCollection

See Also

ChartArea Object


Bar Property (ChartArea)

Controls the appearance of a bar chart. See Bar Object for details.

Syntax

Property Bar As Bar

See Also

ChartArea Object


Border Property (ChartArea)

The border enclosing the chart area. See Border Object for details.

Syntax

Property Border As Border

See Also

ChartArea Object


Interior Property (ChartArea)

The background/foreground colors. See Interior Object for details.

Syntax

Property Interior As Interior

See Also

ChartArea Object


Location Property (ChartArea)

The size and position of the chart area. See Location Object for details.

Syntax

Property Location As Location

See Also

ChartArea Object


Parent Property (ChartArea)

The parent object.

Syntax

Property Parent As Object

See Also

ChartArea Object


PlotCube Property (ChartArea)

The unit cube used to determine scaling and projection. See PlotCube Object for details.

Syntax

Property PlotCube As PlotCube

See Also

ChartArea Object


Surface Property (ChartArea)

Controls the appearance of a surface format chart. See Surface Object for details.

Syntax

Property Surface As Surface

See Also

ChartArea Object


Viewport Property (ChartArea)

The chart region to which the plot cube is mapped. See Viewport Object for details.

Syntax

Property Viewport As Viewport

See Also

ChartArea Object


View3D Property (ChartArea)

The 3D effects used when displaying a chart. See View3D Object for details.

Syntax

Property View3D As View3D

Example

' Set bar column spacing

Chart3D1.ChartArea.Bar.ColumnSpacing = 5.0

Applies To

Chart3D object

See Also

ChartArea Object


ChartGroupCollection

The ChartGroups collection contains one ChartGroup object.


ChartGroupCollection Members

ChartGroupCollection Properties

Count | The current number of ChartGroup objects in the collection.
Item | Specifies a specific ChartGroup object from the collection.
Parent | The parent object.


ChartGroupCollection Properties


Count Property (ChartGroupCollection)

The current number of ChartGroup objects in the collection.

Syntax

Property Count As Long

See Also

ChartGroupCollection


Item Property (ChartGroupCollection)

Specifies a specific ChartGroup object from the collection. Indexed by number (with 1 representing the first object in the collection).

Syntax

Property Item(Index) As ChartGroup

Remarks

In Visual Basic, the Item property is understood and does not need to be explicitly set. Other development environments (JavaScript and Delphi, for example), however, do not automatically set this. In these environments, specify the Item property as follows:

' Sets the chart type to Pie
Chart2D1.ChartGroups.Item(1).ChartType = oc2dTypePie

See Also

ChartGroupCollection


Parent Property (ChartGroupCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ChartGroupCollection


ChartGroup Object

A ChartGroup object is one chart group, containing the contour data, elevation data, and row/column labels.


ChartGroup Object Members

ChartGroup Object Properties

ChartType | The type of chart to be displayed.
ColumnLabels | The labels for the columns (Y-axis) in the chart, used when the Y-axis has its AnnotationMethod property set to oc3dAnnotateDataLabels.
Contour | The type of contouring to be used.
ContourData | Contour data for the chart (used when drawing 4D charts).
Elevation | How the three-dimensional view is to appear.
ElevationData | Elevation data for the chart.
Parent | The parent object.
RowLabels | The labels for the rows (X-axis) in the chart, used when the X-axis has its AnnotationMethod property set to oc3dAnnotateDataLabels.
Styles | The ChartStyles collection defining the appearance of each chart series used for Scatter Charts.

ChartGroup Object Methods

CoordToDataCoord | Maps a pixel coordinate to a data coordinate.
CoordToDataCoordObject | Maps a pixel coordinate to a chart coordinate.
CoordToDataIndex | Picks the displayed data closest to the given pixel coordinate.
CoordToDataIndexObject | Picks the displayed data closest to the given pixel coordinate.
DataCoordToCoord | Maps a data coordinate to a pixel coordinate.
DataCoordToCoordObject | Maps a chart coordinate to a pixel coordinate.
DataIndexToCoord | Determines a pixel coordinate given a chart group row and column.
DataIndexToCoordObject | Determines a pixel coordinate given a chart group series and point.
DragZValue | Changes the value of a grid location.
SurfaceValue | Determines the Z-value of any point on the surface.


ChartGroup Object Properties

ChartType Property (ChartGroup)

ColumnLabels Property (ChartGroup)

Contour Property (ChartGroup)

ContourData Property (ChartGroup)

Elevation Property (ChartGroup)

ElevationData Property (ChartGroup)

Parent Property (ChartGroup)

RowLabels Property (ChartGroup)

Styles Property (ChartGroup)


ChartType Property (ChartGroup)

The type of chart to be displayed. See ChartType Constants for valid values.

Syntax

Property ChartType As ChartTypeConstants

See Also

ChartGroup Object


ColumnLabels Property (ChartGroup)

The labels for the columns (Y-axis) in the chart, used when the Y-axis has its AnnotationMethod property set to oc3dAnnotateDataLabels. See Label Object, LabelCollection for details.

Syntax

Property ColumnLabels As LabelCollection

See Also

ChartGroup Object


Contour Property (ChartGroup)

The type of contouring to be used. See Contour Object for details.

Syntax

Property Contour As Contour

See Also

ChartGroup Object


ContourData Property (ChartGroup)

Contour data for the chart (used when drawing 4D charts). See Chart3DData Object for details.

Syntax

Property ContourData As Chart3DData

See Also

ChartGroup Object


Elevation Property (ChartGroup)

How the three-dimensional view is to appear. See Elevation Object for details.

Syntax

Property Elevation As Elevation

See Also

ChartGroup Object


ElevationData Property (ChartGroup)

Elevation data for the chart. See Chart3DData Object for details.

Syntax

Property ElevationData As Chart3DData

See Also

ChartGroup Object


Parent Property (ChartGroup)

The parent object.

Syntax

Property Parent As Object

See Also

ChartGroup Object


RowLabels Property (ChartGroup)

The labels for the rows (X-axis) in the chart, used when the X-axis has its AnnotationMethod property set to oc3dAnnotateDataLabels. See Label Object, LabelCollection for details.

Syntax

Property RowLabels As LabelCollection

See Also

ChartGroup Object


Styles Property (ChartGroup)

The ChartStyles to use when drawing symbols and the dropdown line for Scatter Charts. See ChartStyle Object, ChartStyleCollection for details.

Syntax

Property Styles As ChartStyleCollection

See Also

ChartStyle Object


ChartGroup Object Methods

CoordToDataCoord Method (ChartGroup)

CoordToDataCoordObject Method (ChartGroup)

CoordToDataIndex Method (ChartGroup)

CoordToDataIndexObject Method (ChartGroup)

DataCoordToCoord Method (ChartGroup)

DataCoordToCoordObject Method (ChartGroup)

DataIndexToCoord Method (ChartGroup)

DataIndexToCoordObject Method (ChartGroup)

DragZValue Method (ChartGroup)

SurfaceValue Method (ChartGroup)


CoordToDataCoord Method (ChartGroup)

Maps a pixel coordinate to a data coordinate. Returns a value indicating the chart region in which the coordinate is found. See Region Constants for valid values.

Syntax

Function CoordToDataCoord(XPixel As Long, YPixel As Long, X As Double, Y As Double, Z As Double) As RegionConstants

Part | Type | Description
XPixel | Long | X pixel coordinate
YPixel | Long | Y pixel coordinate
X | Double | Returned X data coordinate
Y | Double | Returned Y data coordinate
Z | Double | Returned Z data coordinate

See Also

ChartGroup Object


CoordToDataCoordObject Method (ChartGroup)

Maps a pixel coordinate to a chart coordinate. This method is similar to CoordToDataCoord, except that the Chart3DDataCoordResult object is returned with the X and Y values indicating chart region in which the coordinate is found. This method should be used if passing parameters by reference is not allowed in your development environment (such as VBScript). See Chart3DDataCoordResult Object for more information.

Syntax

Function CoordToDataCoordObject(XPixel As Long, YPixel As Long) As Chart3DDataCoordResult

Part | Type | Description
XPixel | Long | X pixel coordinate
YPixel | Long | Y pixel coordinate

See Also

ChartGroup Object


CoordToDataIndex Method (ChartGroup)

Picks the displayed data closest to the given pixel coordinate. Returns a value indicating the chart region in which the coordinate is found. See Region Constants for valid values. For Scatter Plot charts, mouse selection of individual legend entries is detected using the pick functionality -- the “Row” parameter of CoordToDataIndex is set to the corresponding series when an entry is picked inside the legend.

Syntax

Function CoordToDataIndex(XPixel As Long, YPixel As Long, Row As Long, Column As Long, Distance As Long) As RegionConstants

Part | Type | Description
Xpixel | Long | X pixel coordinate
Ypixel | Long | Y pixel coordinate
Row | Long | row in which displayed data appears
Column | Long | column in which displayed data appears
Distance | Long | distance from data to coordinate

See Also

ChartGroup Object


CoordToDataIndexObject Method (ChartGroup)

Picks the displayed data closest to the given pixel coordinate. This method is similar to CoordToDataIndex, except that the Chart3DDataIndexResult object is returned with the Row, Point and Distance values that indicate the chart region in which the coordinate is found. This method should be used if passing parameters by reference is not allowed in your development environment (such as VBScript). See Chart3DDataIndexResult Object for more information.

Syntax

Function CoordToDataIndexObject(XPixel As Long, YPixel As Long) As Chart3DDataIndexResult

Part | Type | Description
XPixel | Long | X pixel coordinate
YPixel | Long | Y pixel coordinate

See Also

ChartGroup Object


DataCoordToCoord Method (ChartGroup)

Maps a data coordinate to a pixel coordinate.

Syntax

Sub DataCoordToCoord(X As Double, Y As Double, Z As Double, XPixel As Long, YPixel As Long)

Part | Type | Description
X | Double | X data coordinate
Y | Double | Y data coordinate
Z | Double | Z data coordinate
XPixel | Long | Returned X pixel coordinate
YPixel | Long | Returned Y pixel coordinate

See Also

ChartGroup Object


DataCoordToCoordObject Method (ChartGroup)

Maps a chart coordinate to a pixel coordinate. This method is similar to DataCoordToCoord, except that the Chart3DCoordResult object is returned with the Xpixel and Ypixel values. This method should be used if passing parameters by reference is not allowed in your development environment (such as VBScript). See Chart3DCoordResult Object for more information.

Syntax

Function DataCoordToCoordObject(X As Double, Y As Double, Z As Double) As Chart3DCoordResult

Part | Type | Description
X | Double | X chart coordinate
Y | Double | Y chart coordinate
Z | Double | Z chart coordinate

See Also

ChartGroup Object


DataIndexToCoord Method (ChartGroup)

Determines a pixel coordinate given a chart group row and column.

Syntax

Sub DataIndexToCoord(Row As Long, Column As Long, XPixel As Long, YPixel As Long)

Part | Type | Description
Row | Long | row in which point appears
Column | Long | column in which point appears
XPixel | Long | Returned X pixel coordinate
YPixel | Long | Returned Y pixel coordinate

See Also

ChartGroup Object


DataIndexToCoordObject Method (ChartGroup)

Determines a pixel coordinate given a chart group series and point. This method is similar to DataIndexToCoord, except that the Chart3DCoordResult object is returned with the XPixel and YPixel values. This method should be used if passing parameters by reference is not allowed in your development environment (such as VBScript). See Chart3DCoordResult Object for more information.

Syntax

Function DataIndexToCoordObject(Row As Long, Column As Long) As Chart3DCoordResult

Part | Type | Description
Row | Long | Row in which point appears
Column | Long | Column in which point appears

See Also

ChartGroup Object


DragZValue Method (ChartGroup)

Changes the value of a grid location.

Syntax

Function DragZValue(Row As Long, Column As Long, XPixel As Long, YPixel As Long) As Double

Part | Type | Description
Row | Long | row in which point appears
Column | Long | column in which point appears
XPixel | Long | X pixel coordinate
YPixel | Long | Y pixel coordinate

See Also

ChartGroup Object


SurfaceValue Method (ChartGroup)

Determines the Z-value of any point on the surface.

Syntax

Function SurfaceValue(X As Double, Y As Double) As Double

Part | Type | Description
X | Double | X data coordinate
Y | Double | Y data coordinate

Example

' Use cell zoning for contours in first chart group

Chart3D1.ChartGroups(1).Contour.ZoneMethod = oc3dZoneCells

Applies To

Chart3D Object

See Also

ChartGroup Object


ChartLabelCollection

The ChartLabels collection is a collection of all ChartLabel objects.


ChartLabelCollection Members

ChartLabelCollection Properties

Count | The current number of ChartLabel objects in the collection.
Item | Specifies a specific ChartLabel object from the collection. Indexed by number (with 1 representing the first object in the collection) or by the value of the Name property.
Parent | The parent object.

ChartLabelCollection Methods

Add | Adds a ChartLabel object to the collection.
Remove | Removes a ChartLabel object from the collection
RemoveAll | Removes all elements in the collection.


ChartLabelCollection Properties


Count Property (ChartLabelCollection)

The current number of ChartLabel objects in the collection.

Syntax

Property Count As Long

See Also

ChartLabelCollection


Item Property (ChartLabelCollection)

Specifies a specific ChartLabel object from the collection. Indexed by number (with 1 representing the first object in the collection) or by the value of the Name property. If multiple items in the collection share the same name, the first entry (lowest numerical index) will be indicated. Also accepts Text value as index similar to Name for chart labels.

Syntax

Property Item(Index) As ChartLabel

See Also

ChartLabelCollection


Parent Property (ChartLabelCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ChartLabelCollection


ChartLabels Collection Methods


Add Method (ChartLabelCollection)

Adds a ChartLabel object to the collection. Returns a ChartLabel object.

Syntax

Function Add() As ChartLabel

Part | Type | Description
Text | String | The text string for the new label.
Index | Variant | Index of the location of the new label in the collection (if omitted, add at end). Index can be number or text.

See Also

ChartLabelCollection


Remove Method (ChartLabelCollection)

Removes a ChartLabel object from the collection. If multiple items in the collection share the same name, the first entry (lowest numerical index) will be indicated.

Syntax

Sub Remove(Index)

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element). Index can be number or text.

See Also

ChartLabelCollection


RemoveAll Method (ChartLabelCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

ChartLabelCollection


ChartLabel Object

A ChartLabel object is an independent text annotation that can be attached to the chart.


ChartLabel Object Members

ChartLabel Object Properties

Adjust | Specifies how to adjust the strings within the chart label.
AttachCoord | The pixel coordinates to which the chart label is to be attached.
AttachDataCoord | The data coordinates to which the chart label is to be attached.
AttachDataIndex | The data index to which the chart label is to be attached.
AttachMethod | The attachment type for the chart label.
Border | The border for the chart label.
CubeFont | The cube font for the chart label text.
Font | The font in which the text is displayed.
HorizontalOffset | The horizontal distance, measured in pixels, between the center of the chart label and the point of attachment.
Interior | The background/foreground colors.
IsBatched | Whether property changes are currently being batched (i.e., the chart is not being immediately updated).
IsConnected | Whether a line is drawn from the chart label to the attachment position.
IsShowing | Whether the chart label is displayed.
Name | The name of the chart label.
Parent | The parent object.
Plane | The plane on which to position the chart label.
Text | The chart label text.
VerticalOffset | The vertical distance, measured in pixels, between the center of the chart label and the point of attachment.


ChartLabel Object Properties

Adjust Property

AttachCoord Property

AttachDataCoord Property

AttachDataIndex Property

AttachMethod Property

Border Property (ChartLabel)

CubeFont Property (ChartLabel)

Font Property (ChartLabel)

HorizontalOffset Property (ChartLabel)

Interior Property (ChartLabel)

IsBatched Property (ChartLabel)

IsConnected Property (ChartLabel)

IsShowing Property (ChartLabel)

Name Property (ChartLabel)

Parent Property (ChartLabel)

Plane Property (ChartLabel)

Text Property (ChartLabel)

VerticalOffset Property (ChartLabel)


Adjust Property

Specifies how to adjust the strings within the chart label. See Adjust Constants for valid values.

Syntax

Property Adjust As AdjustConstants

See Also

ChartLabel Object


AttachCoord Property

The pixel coordinates to which the chart label is to be attached. Used when AttachMethod is set to oc3dAttachCoord. See Coord Object for details.

Syntax

Property AttachCoord As Coord

See Also

ChartLabel Object


AttachDataCoord Property

The data coordinates to which the chart label is to be attached. The data coordinates must correspond to a point inside the chart; otherwise, the label is not drawn. Used when AttachMethod is set to oc3dAttachDataCoord. See DataCoord Object for details.

Syntax

Property AttachDataCoord As DataCoord

See Also

ChartLabel Object


AttachDataIndex Property

The data index to which the chart label is to be attached. Used when AttachMethod is set to oc3dAttachDataIndex. See DataIndex Object for details.

Syntax

Property AttachDataIndex As DataIndex

See Also

ChartLabel Object


AttachMethod Property

The attachment type for the chart label. See AttachMethod Constants for valid values.

Syntax

Property AttachMethod As AttachMethodConstants

See Also

ChartLabel Object


Border Property (ChartLabel)

The border for the chart label. See Border Object for details. This property is only used when AttachMethod is set to oc3dAttachCoord. Otherwise, the border is a 1-pixel line around the label, displayed in the background color.

Syntax

Property Border As Border

See Also

ChartLabel Object


CubeFont Property (ChartLabel)

The cube font for the chart label text. See CubeFont Object for details.

Syntax

Property CubeFont As CubeFont

See Also

ChartLabel Object


Font Property (ChartLabel)

The font in which the text is displayed. (This is a standard OLE Font object.)

Syntax

Property Font As StdFont

See Also

ChartLabel Object


HorizontalOffset Property (ChartLabel)

The horizontal distance, measured in pixels, between the center of the chart label and the point of attachment. This property is only used when AttachMethod is set to oc3dAttachCoord, or when the control is in a 2D projection.

Syntax

Property HorizontalOffset As Long

See Also

ChartLabel Object


Interior Property (ChartLabel)

The background/foreground colors. See Interior Object for details.

Syntax

Property Interior As Interior

See Also

ChartLabel Object


IsBatched Property (ChartLabel)

Whether property changes are currently being batched (i.e., the chart is not being immediately updated).

Syntax

Property IsBatched As Boolean

See Also

ChartLabel Object


IsConnected Property (ChartLabel)

Whether a line is drawn from the chart label to the attachment position. If drawn, this line is 1 pixel wide, and is drawn in the foreground color.

Syntax

Property IsConnected As Boolean

See Also

ChartLabel Object


IsShowing Property (ChartLabel)

Whether the chart label is displayed.

Syntax

Property IsShowing As Boolean

See Also

ChartLabel Object


Name Property (ChartLabel)

The name of the chart label.

Syntax

Property Name As String

See Also

ChartLabel Object


Parent Property (ChartLabel)

The parent object.

Syntax

Property Parent As Object

See Also

ChartLabel Object


Plane Property (ChartLabel)

The plane on which to position the chart label. See Plane Constants for valid values. Labels are always rendered so that the text is drawn left-to-right. This property is ignored in a 2D projection.

Syntax

Property Plane As PlaneConstants

See Also

ChartLabel Object


Text Property (ChartLabel)

The chart label text. See Label Object, LabelCollection for details.

Syntax

Property Text As Label

See Also

ChartLabel Object


VerticalOffset Property (ChartLabel)

The vertical distance, measured in pixels, between the center of the chart label and the point of attachment. This property is only used when AttachMethod is set to oc3dAttachCoord, or when the control is in a 2D projection.

Syntax

Property VerticalOffset As Long

Example

' Set vertical offset for first chart label

Chart3D1.ChartLabels(1).VerticalOffset = 10

Applies To

Chart3D Object

See Also

ChartLabel Object


ChartStyle Object

A ChartStyle object is one data style.


ChartStyle Object Members

ChartStyle Object Properties

Line | The color, pattern, and thickness of drop lines in scatter plots.
Parent | The parent object.
Symbol | The color, size, and shape of points in scatter plots.


ChartStyle Object Properties


Line Property (ChartStyle)

The color, pattern, and thickness of drop lines in scatter plots. See LineStyle Object for details.

Syntax

Property Line As LineStyle

See Also

ChartStyle Object


Parent Property (ChartStyle)

The parent object.

Syntax

Property Parent As Object

See Also

ChartStyle Object


Symbol Property (ChartStyle)

The color, size, and shape of points in scatter plots. See SymbolStyle Object for details.

Syntax

Property Symbol As SymbolStyle

Example

' Position label below chart

Chart2D1.ChartGroups(1).Styles(1).Symbol.Size = 3

Applies To

ChartGroup Object

See Also

ChartStyle Object


ChartStyleCollection

The ChartStyles collection is a collection of all ChartStyle objects, indexed by number. One ChartStyle object is defined for each data series in a Chart3DData PointSeries.


ChartStyleCollection Members

ChartStyleCollection Properties

Count | The current number of ChartStyle objects in the collection.
Item | Specifies a specific ChartStyle object from the collection.
Parent | The parent object.

ChartStyleCollection Methods

Add | Adds a ChartStyle object to the collection.
Remove | Removes a ChartStyle object from the collection.
RemoveAll | Removes all elements in the collection, and recreates another element (using the standard defaults), for each series for the ChartGroup.


ChartStyleCollection Properties


Count Property (ChartStyleCollection)

The current number of ChartStyle objects in the collection.

Syntax

Property Count As Long

See Also

ChartStyleCollection


Item Property (ChartStyleCollection)

Specifies a specific ChartStyle object from the collection. Indexed by number (with 1 representing the first object in the collection).

Syntax

Property Item(Index) As ChartStyle

See Also

ChartStyleCollection


Parent Property (ChartStyleCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ChartStyleCollection


ChartStyleCollection Methods


Add Method (ChartStyleCollection)

Adds a ChartStyle object to the collection. Returns a ChartStyle object.

Syntax

Function Add([Before]) As ChartStyle

Part | Type | Description
Index | Variant | Index of the location of the new object in the collection (if omitted, add at end)

See Also

ChartStyleCollection


Remove Method (ChartStyleCollection)

Removes a ChartStyle object from the collection. Returns False if the method failed.

Syntax

Function Remove(Index) As Boolean

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element)

See Also

ChartStyleCollection


RemoveAll Method (ChartStyleCollection)

Removes all elements in the collection, and recreates another element (using the standard defaults), for each series for the ChartGroup.

Syntax

Sub RemoveAll()

See Also

ChartStyleCollection


Contour Object

The contour lines and zone regions displayed in a chart.


Contour Object Members

Contour Object Properties

IsContoured | Whether contour lines are to be drawn.
IsZoned | Whether zone regions are to be defined
Levels | The number of distribution levels used when drawing contour lines or zone regions.
Parent | The parent object.
Styles | The contour styles to use when drawing contour lines, and the zone colors to use when drawing zone regions.
ZoneMethod | The method used to fill the zone regions (when specified by setting IsZoned to True).


Contour Object Properties

IsContoured Property (Contour)

IsZoned Property (Contour)

Levels Property (Contour)

Parent Property (Contour)

Styles Property (Contour)

ZoneMethod Property (Contour)


IsContoured Property (Contour)

Whether contour lines are to be drawn. The Levels property specifies the number of contour lines, and the Styles property specifies the line styles to use. If IsContoured is True and IsZoned is False, the chart automatically generates a legend entry for each contour line. This property is ignored when a 4D bar chart is drawn.

Syntax

Property IsContoured As Boolean

See Also

Contour Object


IsZoned Property (Contour)

Whether zone regions are to be defined. The Levels property specifies the number of zone regions, and the Styles property specifies the zone colors to use. If IsZoned is True, the chart automatically generates a legend entry for each zone color.

Syntax

Property IsZoned As Boolean

See Also

Contour Object


Levels Property (Contour)

The number of distribution levels used when drawing contour lines or zone regions. See ContourLevels Object for details.

Syntax

Property Levels As ContourLevels

See Also

Contour Object


Parent Property (Contour)

The parent object.

Syntax

Property Parent As Object


Styles Property (Contour)

The contour styles to use when drawing contour lines, and the zone colors to use when drawing zone regions. See ContourStyle Object, ContourStyleCollection for details.

Syntax

Property Styles As ContourStyleCollection

See Also

Contour Object


ZoneMethod Property (Contour)

The method used to fill the zone regions (when specified by setting IsZoned to True). See ZoneMethod Constants for valid values.

Syntax

Property ZoneMethod As ZoneMethodConstants

Example

' Use cell zoning for contours in first chart group

Chart3D1.ChartGroups(1).Contour.ZoneMethod = oc3dZoneCells

Applies To

ChartGroup Object

See Also

Contour Object


ContourLevels Object

The contour levels (distribution levels) displayed in the chart.


ContourLevels Object Members

ContourLevels Object Properties

IsDefault | Whether to use a linear distribution table to determine the spacing of contour levels.
NumLevels | The number of contour levels in the chart.
Parent | The parent object.
Value | An entry in the distribution table, indexed by number.

ContourLevels Object Methods

Add | Adds a contour level to the distribution table.
CalcIndex | Given a Z-value, determines the contour level in which it is contained.
Load | Loads a distribution table.
LoadURL | Loads a distribution table file by URL using Internet protocols.
Remove | Removes a contour level from the distribution table.
Save | Saves a distribution table.


ContourLevels Object Properties

IsDefault Property (ContourLevels)

NumLevels Property (ContourLevels)

Parent Property (ContourLevels)

Value Property (ContourLevels)


IsDefault Property (ContourLevels)

Whether to use a linear distribution table to determine the spacing of contour levels.

Syntax

Property IsDefault As Boolean

See Also

ContourLevels Object


NumLevels Property (ContourLevels)

The number of contour levels in the chart. Any value between 0 and 100 is valid. If this property is set to 0, no contour lines are drawn and only one zone is drawn.

Syntax

Property NumLevels As Long

See Also

ContourLevels Object


Parent Property (ContourLevels)

The parent object.

Syntax

Property Parent As Object

See Also

ContourLevels Object


Value Property (ContourLevels)

An entry in the distribution table, indexed by number.

Syntax

Property Value(Index) As Double

See Also

ContourLevels Object


ContourLevels Object Methods

Add Method (ContourLevels)

CalcIndex Method (ContourLevels)

Load Method (ContourLevels)

LoadURL Method

Remove Method (ContourLevels)

Save Method (ContourLevels)


Add Method (ContourLevels)

Adds a contour level to the distribution table.

Syntax

Sub Add(Value As Double)

Part | Type | Description
Value | Double | The contour level

Example

' Use 10 contour levels

Chart3D1.ChartGroups(1).Contour.Levels.NumLevels = 10

See Also

ContourLevels Object


CalcIndex Method (ContourLevels)

Given a Z-value, determines the contour level in which it is contained.

Syntax

Function CalcIndex(Value As Double) As Long

Part | Type | Description
Value | Double | The Z-value

See Also

ContourLevels Object


Load Method (ContourLevels)

Loads a distribution table. Returns True on success and False on failure.

Syntax

Function Load(FileName As String) As Boolean

Part | Type | Description
FileName | String | The file to load

See Also

ContourLevels Object


LoadURL Method

Loads a distribution table by URL using Internet protocols. Returns True on success and False on failure.

Syntax

Function LoadURL(URLName As String) As Boolean

See Also

ContourLevels Object


Remove Method (ContourLevels)

Removes a contour level from the distribution table.

Syntax

Sub Remove(Value As Double)

Part | Type | Description
Value | Double | The contour level

See Also

ContourLevels Object


Save Method (ContourLevels)

Saves a distribution table. Returns True on success and False on failure.

Syntax

Function Save(FileName As String) As Boolean

Part | Type | Description
FileName | String | The save file

Applies To

Contour Object

See Also

ContourLevels Object


ContourStyle Object

A ContourStyle object is a contour style.


ContourStyle Object Members

ContourStyle Object Properties

FillStyle | The fill style to use when drawing zones.
LineStyle | The line style to use when drawing contours.
Parent | The parent object.


ContourStyle Object Properties


FillStyle Property (ContourStyle)

The fill style to use when drawing zones. See FillStyle Object for details.

Syntax

Property FillStyle As FillStyle

Example

' Set fill color for first chart style to green

Chart3D1.ChartGroups(1).Contour.Styles(1).FillStyle.Color = RGB(0, 128, 0)

See Also

ContourStyle Object


LineStyle Property (ContourStyle)

The line style to use when drawing contours. See LineStyle Object for details.

Syntax

Property LineStyle As LineStyle

See Also

ContourStyle Object


Parent Property (ContourStyle)

The parent object.

Syntax

Property Parent As Object

Applies To

Contour Object

See Also

ContourStyle Object


ContourStyleCollection

The ContourStyles collection is a collection of all ContourStyle objects.


ContourStyleCollection Members

ContourStyleCollection Properties

Count | The current number of ContourStyle objects in the collection.
Item | Specifies a specific ContourStyle object from the collection.
Parent | The parent object.

ContourStyleCollection Methods

Add | Adds a ContourStyle object to the collection.
CalcIndex | Returns the index of the contour style associated with a given ContourLevels index.
Load | Loads a contour style table.
Remove | Removes a ContourStyle object from the collection.
RemoveAll | Removes all elements in the collection.
Reset | Reverts to using the internal contour style table.
Save | Saves a contour style table.


ContourStyleCollection Properties


Count Property (ContourStyleCollection)

The current number of ContourStyle objects in the collection.

Syntax

Property Count As Long

See Also

ContourStyleCollection


Item Property (ContourStyleCollection)

Specifies a specific ContourStyle object from the collection. Indexed by number (with 1 representing the first object in the collection).

Syntax

Property Item(Index) As ContourStyle

See Also

ContourStyleCollection


Parent Property (ContourStyleCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ContourStyleCollection


ContourStyleCollection Methods

Add Method (ContourStyleCollection)

CalcIndex Method (ContourStyleCollection)

Load Method (ContourStyleCollection)

Remove Method (ContourStyleCollection)

RemoveAll Method (ContourStyleCollection)

Reset Method (ContourStyleCollection)

Save Method (ContourStyleCollection)


Add Method (ContourStyleCollection)

Adds a ContourStyle object to the collection.

Syntax

Function Add([Before]) As ContourStyle

Part | Type | Description
Before | Variant | Optional index of the location of the new object in the collection (if not provided, add to end of collection)

See Also

ContourStyleCollection


CalcIndex Method (ContourStyleCollection)

Returns the index of the contour style associated with a given ContourLevels index.

Syntax

Function CalcIndex(LevelIndex) As Long

Part | Type | Description
LevelIndex | Long | The ContourLevels index

See Also

ContourStyleCollection


Load Method (ContourStyleCollection)

Loads a contour style table. Returns True if successful and False on failure.

Syntax

Function Load(FileName As String) As Boolean

Part | Type | Description
FileName | String | The file containing the table

See Also

ContourStyleCollection


Remove Method (ContourStyleCollection)

Removes a ContourStyle object from the collection. Returns True if remove successful, False otherwise.

Syntax

Function Remove(Index) As Boolean

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element)

See Also

ContourStyleCollection


RemoveAll Method (ContourStyleCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

ContourStyleCollection


Reset Method (ContourStyleCollection)

Reverts to using the internal contour style table.

Syntax

Sub Reset()

See Also

ContourStyleCollection


Save Method (ContourStyleCollection)

Saves a contour style table. Returns True if successful and False on failure.

Syntax

Function Save(FileName As String) As Boolean

Part | Type | Description
FileName | String | The file in which to save the table

See Also

ContourStyleCollection


Coord Object

A screen coordinate.


Coord Object Members

Coord Object Properties

Parent | The parent object.
X | The X-coordinate.
Y | The Y-coordinate.


Coord Object Properties


Parent Property (Coord)

The parent object.

Syntax

Property Parent As Object

See Also

Coord Object


X Property (Coord)

The X-coordinate.

Syntax

Property X As Long

See Also

Coord Object


Y Property (Coord)

The Y-coordinate.

Syntax

Property Y As Long

Example

' Specify pixel coordinates of chart label attachment location

Chart3D1.ChartLabels(1).AttachCoord.X = 10

Chart3D1.ChartLabels(1).AttachCoord.Y = 20

Applies To

ChartLabel object

See Also

Coord Object


CubeFont Object

A font.


CubeFont Object Members

CubeFont Object Properties

Parent | The parent object.
Size | The size of the axis annotation font, measured in thousandths of the unit cube size.
Stroke | The name of the cube Stroke font being used.
TrueType | The name of the cube True Type font being used.


CubeFont Object Properties

Parent Property (CubeFont)

Size Property (CubeFont)

Stroke Property (CubeFont)

TrueType Property (CubeFont)


Parent Property (CubeFont)

The parent object.

Syntax

Property Parent As Object

See Also

CubeFont Object


Size Property (CubeFont)

The size of the axis annotation font, measured in thousandths of the unit cube size. Must be between 0 and 1000. Setting the font size to zero restores the default font size.

Syntax

Property Size As Long

Example

' Set title font size for X-axis to 10 point

Chart3D1.ChartArea.Axes("X").TitleFont.Size = 10

See Also

CubeFont Object


Stroke Property (CubeFont)

The name of the cube font being used. See StrokeFont Constants for valid values.

Syntax

Property Stroke As StrokeFontConstants

See Also

CubeFont Object


TrueType Property (CubeFont)

The name of the cube font being used.

Syntax

Property TrueType As StdFont

Applies To

Axis Object

ChartLabel Object

See Also

CubeFont Object


DataColor Object

A DataColor object is a color used in a Chart3DData object.


DataColor Object Members

DataColor Object Properties

Color | The data color.
DataIndex | The data value to which this color is applied.
Parent | The parent object.


DataColor Object Properties


Color Property (DataColor)

The data color.

Syntax

Property Color As OLE_COLOR

Example

' Set fill color for first data value to green

Chart3D1.ChartArea.Bar.Colors(1, 1).Color = RGB(0, 128, 0)

See Also

DataColor Object


DataIndex Property (DataColor)

The data value to which this color is applied. See DataIndex Object for details. (The Row and Column properties of this DataIndex object are read-only.)

Syntax

Property DataIndex As DataIndex

See Also

DataColor Object


Parent Property (DataColor)

The parent object.

Syntax

Property Parent As Object

Applies To

Bar Object

See Also

DataColor Object


DataColorCollection

The DataColor collection is a collection of all DataColor objects.


DataColorCollection Members

DataColorCollection Properties

Count | The current number of DataColor objects in the collection.
Item | Specifies a specific DataColor object from the collection. Indexed by row and column.
Parent | The parent object.

DataColorCollection Methods

Add | Adds a DataColor object to the collection.
Remove | Removes a DataColor object from the collection.
RemoveAll | Removes all elements in the collection.


DataColorCollection Properties


Count Property (DataColorCollection)

The current number of DataColor objects in the collection.

Syntax

Property Count As Long

See Also

DataColorCollection


Item Property (DataColorCollection)

Specifies a specific DataColor object from the collection. Indexed by row and column.

Syntax

Property Item(Row, Column) As DataColor

See Also

DataColorCollection


Parent Property (DataColorCollection)

The parent object.

Syntax

Property Parent As Object

See Also

DataColorCollection


DataColorCollection Methods


Add Method (DataColorCollection)

Adds a DataColor object to the collection.

Syntax

Function Add(Row, Column, Color As OLE_COLOR) As DataColor

Part | Type | Description
Row | Variant | The row in which the new data color appears (if 0, applies to entire column)
Column | Variant | The column in which the new data color appears (if 0, applies to entire row)
Color | Long | The data color

See Also

DataColorCollection


Remove Method (DataColorCollection)

Removes a DataColor object from the collection. Returns True if remove successful, False otherwise.

Syntax

Sub Remove(Row, Column)

Part | Type | Description
Row | Variant | The row in which the data color appears
Column | Variant | The column in which the data color appears

See Also

DataColorCollection


RemoveAll Method (DataColorCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

DataColorCollection


DataCoord Object

A DataCoord object is a three-dimensional data coordinate.


DataCoord Object Members

DataCoord Object Properties

Parent | The parent object.
X | The X-coordinate.
Y | The Y-coordinate.
Z | The Z-coordinate.


DataCoord Object Properties

Parent Property (DataCoord)

X Property (DataCoord)

Y Property (DataCoord)

Z Property (DataCoord)


Parent Property (DataCoord)

The parent object.

Syntax

Property Parent As Object

See Also

DataCoord Object


X Property (DataCoord)

The X-coordinate.

Syntax

Property X As Double

See Also

DataCoord Object


Y Property (DataCoord)

The Y-coordinate.

Syntax

Property Y As Double

See Also

DataCoord Object


Z Property (DataCoord)

The Z-coordinate.

Syntax

Property Z As Double

Example

' Specify data coordinates of chart label attachment location

Chart3D1.ChartLabels(1).AttachDataCoord.X = 10

Chart3D1.ChartLabels(1).AttachDataCoord.Y = 20

Chart3D1.ChartLabels(1).AttachDataCoord.Z = 30

‘ Specify y coordinate of third point in second series

Chart3D1.ChartGroups(1).ElevationData.PointSeries(2).Item(3).y = 4

Applies To

ChartLabel Object

Chart3DData Object

See Also

DataCoord Object


DataCoordCollection

A DataCoordCollection is a collection of a series of DataCoord objects.


DataCoordCollection Members

DataCoordCollection Properties

Count | The current number of DataCoord objects in the collection.
Item | Specifies a specific DataCoord object from the collection. Indexed by number (from 1).
Parent | The parent object.

DataCoordCollection Methods

Add | Adds a DataCoord object to the collection.
Remove | Removes a DataCoord object from the collection.
RemoveAll | Removes all elements in the collection.


DataCoordCollection Properties


Count Property (DataCoordCollection)

The current number of DataCoord objects in the collection.

Syntax

Property Count As Long

See Also

DataCoordCollection


Item Property (DataCoordCollection)

Specifies a specific DataCoord object from the collection. Indexed by number (from 1).

Syntax

Property Item(Index) As DataCoord

See Also

DataCoordCollection


Parent Property (DataCoordCollection)

The parent object.

Syntax

Property Parent As Object

See Also

DataCoordCollection


DataCoordCollection Methods


Add Method (DataCoordCollection)

Adds a DataCoord object to the collection.

Syntax

Function Add(X As Double, Y As Double, Z As Double) As DataCoord

Part | Type | Description
X | Double | The X coordinate
Y | Double | The Y coordinate
Zr | Double | The Z coordinate

See Also

DataCoordCollection


Remove Method (DataCoordCollection)

Removes a DataCoord object from the collection. Nothing is returned.

Syntax

Sub Remove(Index)

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element)

See Also

DataCoordCollection


RemoveAll Method (DataCoordCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

DataCoordCollection


DataIndex Object

A data index.


DataIndex Object Members

DataIndex Object Properties

Column | The column in which the data value appears.
Parent | The parent object.
Row | The row in which the data value appears.


DataIndex Object Properties


Column Property (DataIndex)

The column in which the data value appears.

Syntax

Property Column As Long

See Also

DataIndex Object


Parent Property (DataIndex)

The parent object.

Syntax

Property Parent As Object

See Also

DataIndex Object


Row Property (DataIndex)

The row in which the data value appears.

Syntax

Property Row As Long

Example

' Retrieve row in which attached data appears

DataRow = Chart3D1.ChartLabels(1).AttachDataIndex.Row

Applies To

DataColor Object

ChartLabel Object

See Also

DataIndex Object


DerivedDouble Object

A double-precision floating-point value, normally calculated by the chart.


DerivedDouble Object Members

DerivedDouble Object Properties

IsDefault | Whether the value is the default value calculated by the chart.
Parent | The parent object.
Value | The current value.


DerivedDouble Object Properties


IsDefault Property (DerivedDouble)

Whether the value is the default value calculated by the chart.

Syntax

Property IsDefault As Boolean

See Also

DerivedDouble Object


Parent Property (DerivedDouble)

The parent object.

Syntax

Property Parent As Object

See Also

DerivedDouble Object


Value Property (DerivedDouble)

The current value.

Syntax

Property Value As Double

Example

' Set maximum value for X-axis (default property)

Chart3D1.ChartArea.Axes("X").Max = 500.0

Applies To

Axis Object

See Also

DerivedDouble Object


DerivedLong Object

A long integer value, normally calculated by the chart.


DerivedLong Object Members

DerivedLong Object Properties

IsDefault | Whether the value is the default value calculated by the chart.
Parent | The parent object.
Value | The current value.


DerivedLong Object Properties


IsDefault Property (DerivedLong)

Whether the value is the default value calculated by the chart.

Syntax

Property IsDefault As Boolean

See Also

DerivedLong Object


Parent Property (DerivedLong)

The parent object.

Syntax

Property Parent As Object

See Also

DerivedLong Object


Value Property (DerivedLong)

The current value.

Syntax

Property Value As Double

Example

' Set header width to 100

Chart3D1.ChartArea.Header.Location.Width.Value = 100

Applies To

Location Object

See Also

DerivedLong Object


Elevation Object

A set of attributes controlling the behavior of the three-dimensional view.


Elevation Object Members

Elevation Object Properties

HasDropLines | If True, draws drop lines from each point in the chart.
IsMeshed | If True, displays the surface as a mesh, or displays bars in outline.
IsShaded | If True, displays the surface or bars as a flat shade of color.
IsTransparent | Indicates whether hidden lines are to be displayed.
MeshBottomColor | The bottom color of the mesh.
MeshTopColor | The top color of the mesh.
Parent | The parent object.
ShadedBottomColor | The bottom color of the shaded surface, or the color of bars whose Z-value is less than zero.
ShadedTopColor | The top color of the shaded surface, or the color of bars whose Z-value is greater than zero.


Elevation Object Properties

HasDropLines Property (Elevation)

IsMeshed Property (Elevation)

IsShaded Property (Elevation)

IsTransparent Property (Elevation)

MeshBottomColor Property (Elevation)

MeshTopColor Property (Elevation)

Parent Property (Elevation)

ShadedBottomColor Property (Elevation)

ShadedTopColor Property (Elevation)


HasDropLines Property (Elevation)

If True, draws drop lines from each point in the chart. This property only applies to Scatter plots.

Syntax

Property HasDropLines As Boolean

See Also

Elevation Object


IsMeshed Property (Elevation)

If True, displays the surface as a mesh, or displays bars in outline. (The IsColumnMeshShowing and IsRowMeshShowing properties of the Surface object control allow you to turn off mesh lines in either the X or the Y direction.)

Syntax

Property IsMeshed As Boolean

See Also

Elevation Object


IsShaded Property (Elevation)

If True, displays the surface or bars as a flat shade of color.

Syntax

Property IsShaded As Boolean

See Also

Elevation Object


IsTransparent Property (Elevation)

Indicates whether hidden lines are to be displayed. For realistic images, this property should be set to False. Setting this property to True improves rendering performance.

Syntax

Property IsTransparent As Boolean

Example

' Display hidden lines

Chart3D1.ChartGroups(1).Elevation.IsTransparent = True

See Also

Elevation Object


MeshBottomColor Property (Elevation)

The bottom color of the mesh. For bar charts, this color is used for bars with a value less than that specified by the Z-axis Origin property.

Syntax

Property MeshBottomColor As OLE_COLOR

See Also

Elevation Object


MeshTopColor Property (Elevation)

The top color of the mesh. For bar charts, this color is used for bars with a value greater than that specified by the Z-axis Origin property.

Syntax

Property MeshTopColor As OLE_COLOR

See Also

Elevation Object


Parent Property (Elevation)

The parent object.

Syntax

Property Parent As Object

See Also

Elevation Object


ShadedBottomColor Property (Elevation)

The bottom color of the shaded surface, or the color of bars whose Z-value is less than zero.

Syntax

Property ShadedBottomColor As OLE_COLOR

See Also

Elevation Object


ShadedTopColor Property (Elevation)

The top color of the shaded surface, or the color of bars whose Z-value is greater than zero.

Syntax

Property ShadedTopColor As OLE_COLOR

Applies To

ChartGroup Object

See Also

Elevation Object


FillStyle Object

The fill style used when drawing zones.


FillStyle Object Members

FillStyle Object Properties

Color | The fill style color.
Parent | The parent object.


FillStyle Object Properties


Color Property (FillStyle)

The fill style color.

Syntax

Property Color As OLE_COLOR

Example

' Set fill color for first chart style to green

Chart3D1.ChartGroups(1).Contour.Styles(1).FillStyle.Color = RGB(0, 128, 0)

See Also

FillStyle Object


Parent Property (FillStyle)

The parent object.

Syntax

Property Parent As Object

Applies To

ContourStyle Object

See Also

FillStyle Object


Floor Object

The projection of contours and/or zones on the z=zmin plane.


Floor Object Members

Floor Object Properties

Parent | The parent object.
Projection | The floor projection employed.


Floor Object Properties


Parent Property (Floor)

The parent object

Syntax

Property Parent As Object

See Also

Floor Object


Projection Property (Floor)

The floor projection employed. See Projection Object for details.

Syntax

Property Projection As Projection

Example

' Set floor projection to be zoned

Chart3D1.ChartArea.PlotCube.Floor.Projection.IsZoned = True

Applies To

PlotCube Object

See Also

Floor Object


GridLines Object

The grid lines appearing on a chart along the specified axis. The grid lines are drawn wherever an axis label would be drawn.


GridLines Object Members

GridLines Object Properties

IsOnXYPlane | Set to True if grid lines are to appear on the XY-plane.
IsOnXZPlane | Set to True if grid lines are to appear on the XZ-plane.
IsOnYZPlane | Set to True if grid lines are to appear on the YZ-plane.
Parent | The parent object.
Style | Controls the pattern, width, and color of grid lines.


GridLines Object Properties

IsOnXYPlane Property (GridLines)

IsOnXZPlane Property (GridLines)

IsOnYZPlane Property (GridLines)

Parent Property (GridLines)

Style Property (GridLines)


IsOnXYPlane Property (GridLines)

Set to True if grid lines are to appear on the XY-plane. In 2D projections, grid lines are drawn perpendicular to the axis.

Syntax

Property IsOnXYPlane As Boolean

Example

' Grid lines in XY-plane

Chart3D1.ChartArea.Axes("X").MajorGrid.IsOnXYPlane = True

See Also

GridLines Object


IsOnXZPlane Property (GridLines)

Set to True if grid lines are to appear on the XZ-plane. In 2D projections, grid lines are drawn perpendicular to the axis.

Syntax

Property IsOnXZPlane As Boolean

See Also

GridLines Object


IsOnYZPlane Property (GridLines)

Set to True if grid lines are to appear on the YZ-plane. In 2D projections, grid lines are drawn perpendicular to the axis.

Syntax

Property IsOnYZPlane As Boolean

See Also

GridLines Object


Parent Property (GridLines)

The parent object.

Syntax

Property Parent As Object

See Also

GridLines Object


Style Property (GridLines)

Controls the pattern, width, and color of grid lines. See LineStyle Object for details.

Syntax

Property Style As LineStyle

Applies To

Axis Object

See Also

GridLines Object


Image Object

The image displayed within the chart element.


Image Object Members

Image Object Properties

FileName | The file name and path of the bitmap or Metafile to be displayed.
HasMinimumSize | Whether or not the text are should be sized according to the background image.
IsEmbedded | Whether or not the image file is embedded in the chart.
IsTransparent | If True indicates that the specified bitmap image be rendered as a transparent bitmap.
Layout | How the image appears.
Parent | The parent object.


Image Object Properties

FileName Property (Image)

HasMinimumSize Property (Image)

IsEmbedded Property (Image)

IsTransparent Property (Image)

Layout Property (Image)

Parent Property (Image)


FileName Property (Image)

The file name and path of the bitmap or Metafile to be displayed. Note that enhanced Metafiles are only supported under Windows 95 and Windows NT.

Syntax

FileName As String

Example

' Set chart background to use TEXTURE.BMP image file

Chart3D1.Interior.Image.FileName = c:\pics\TEXTURE.BMP

See Also

Image Object


HasMinimumSize Property (Image)

Whether or not the text are should be sized according to the background image. If True, then the text area will be at least as large as the image. If False, the text area will be sized according to the text, without regard for the size of the image.

Syntax

HasMinimumSize As Boolean

See Also

Image Object


IsEmbedded Property (Image)

Whether or not the image file is embedded in the chart. If True, then the file is embedded within the chart. If False, the chart looks for the file in the specified location.

Syntax

IsEmbedded As Boolean

See Also

Image Object


IsTransparent Property (Image)

If True indicates that the specified bitmap image be rendered as a transparent bitmap. The lower left pixel of the bitmap is used to indicate the transparent color mapping.

Syntax

IsTransparent As Boolean

See Also

Image Object


Layout Property (Image)

How the image appears. See ImageLayout Constants for valid values.

Syntax

Layout As ImageLayoutConstants

Applies To

Interior Object

See Also

Image Object


Parent Property (Image)

The parent object.

Syntax

Parent As Object

See Also

Image Object


Interior Object

The colors used for the interior of a parent object.


Interior Object Members

Interior Object Properties

BackgroundColor | The background color.
ForegroundColor | The foreground color.
Image | The bitmap or Metafile image name.
Parent | The parent object.


Interior Object Properties

BackgroundColor Property

ForegroundColor Property (Interior)

Image Property (Interior)

Parent Property (Interior)


BackgroundColor Property

The background color. You can specify RGB colors using the RGB() or QBColor() functions.

Syntax

Property BackgroundColor As OLE_COLOR

See Also

Interior Object


ForegroundColor Property (Interior)

The foreground color. You can specify RGB colors using the RGB() or QBColor() functions.

Syntax

Property ForegroundColor As OLE_COLOR

See Also

Interior Object


Image Property (Interior)

The bitmap or Metafile image name. See Image Object for more details.

Syntax

Property Image As IImage_Dual

See Also

Interior Object


Parent Property (Interior)

The parent object.

Syntax

Parent As Object

Example

' Set chart background color to green

Chart3D1.Interior.BackgroundColor = RGB(0, 128, 0)

Applies To

ChartArea Object

ChartLabel Object

Legend Object

PlotCube Object

Title Object

Chart3D Object

See Also

Interior Object


Label Object

A Label object is one label.


Label Object Members

Label Object Properties

Parent | The parent object.
Text | The label text string.


Label Object Properties


Parent Property (Label)

The parent object.

Syntax

Parent As Object

See Also

Label Object


Text Property (Label)

The label text string.

Syntax

Property Text As String

Example

' Display and set the X-axis title
Chart3D1.ChartArea.Axes("X").IsShowing = True
Chart3D1.ChartArea.Axes("X").Title = "my title"

Applies To

Axis Object

ChartGroup Object

ChartLabel Object

Legend Object

Title Object

ValueLabel Object

See Also

Label Object


LabelCollection

The Labels collection is a collection of all Label objects.


LabelCollection Members

LabelCollection Properties

Count | The current number of Label objects in the collection.
Item | Specifies a specific Label object from the collection
Parent | The parent object.

LabelCollection Methods

Add | Adds a Label object to the collection
Remove | Removes a Label object from the collection.
RemoveAll | Removes all elements in the collection.


LabelCollection Properties


Count Property (LabelCollection)

The current number of Label objects in the collection.

Syntax

Property Count As Long

See Also

LabelCollection


Item Property (LabelCollection)

Specifies a specific Label object from the collection.

Syntax

Property Item(Index) As Label

Remarks

Indexed by number (with 1 representing the first object in the collection).

See Also

LabelCollection


Parent Property (LabelCollection)

The parent object.

Syntax

Property Parent As Object

See Also

LabelCollection


LabelCollection Methods


Add Method (LabelCollection)

Adds a Label object to the collection. Returns a Label object.

Syntax

Function Add(Text As String, [Before]) As Label

Part | Type | Description
Text | String | The label text
Before | Variant | Optional index of the location of the new object in the collection (if not specified, add to end)

See Also

LabelCollection


Remove Method (LabelCollection)

Removes a Label object from the collection. Nothing is returned.

Syntax

Sub Remove(Index)

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element)

See Also

LabelCollection


RemoveAll Method (LabelCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

LabelCollection


Legend Object

The chart legend.


Legend Object Members

Legend Object Properties

Anchor | Where to anchor the legend to the window.
Border | The border around the legend.
DistributionRange | The range of contour levels labels to appear in the legend.
Font | The font used for the legend.
Interior | The background/foreground colors.
IsShowing | Whether the legend is to be displayed.
LabelFilter | Specifies how many legend labels to display.
Labels | The labels to be used in the legend.
Location | The size and position of the legend on the chart.
Orientation | The orientation of the legend.
Parent | The parent object.
Text | The legend title.
Type | The legend type.


Legend Object Properties

Anchor Property

Border Property (Legend)

DistributionRange Property (Legend)

Font Property (Legend)

Interior Property (Legend)

IsShowing Property (Legend)

LabelFilter Property (Legend)

Labels Property (Legend)

Location Property (Legend)

Orientation Property (Legend)

Parent Property (Legend)

Text Property (Legend)

Type Property (Legend)


Anchor Property

Where to anchor the legend to the window. See Anchor Constants for valid values.

Syntax

Property Anchor As AnchorConstants

See Also

Legend Object


Border Property (Legend)

The border around the legend. See Border Object for details.

Syntax

Property Border As Border

See Also

Legend Object


DistributionRange Property (Legend)

The range of contour levels labels to appear in the legend. See DistributionRange Constants for valid values.

Syntax

Property DistributionRange As DistributionRangeConstants

See Also

Legend Object


Font Property (Legend)

The font used for the legend. (This is a standard OLE Font object.)

Syntax

Property Font As StdFont

See Also

Legend Object


Interior Property (Legend)

The background/foreground colors. See Interior Object for details.

Syntax

Property Interior As Interior

See Also

Legend Object


IsShowing Property (Legend)

Whether the legend is to be displayed.

Syntax

Property IsShowing As Boolean

See Also

Legend Object


LabelFilter Property (Legend)

Specifies how many legend labels to display. When set to n, every nth label will be drawn.

Syntax

Property LabelFilter As Integer

See Also

Legend Object


Labels Property (Legend)

The labels to be used in the legend. See Label Object, Labels Collection for details. The number of labels required is determined by the Levels property of the Contour object, and by the type of legend being drawn (specified by the Type property). If too few labels are provided, the corresponding entries in the legend are dropped.

Syntax

Property Labels As LabelCollection

See Also

Legend Object


Location Property (Legend)

The size and position of the legend on the chart. See Location Object for details.

Syntax

Property Location As Location

See Also

Legend Object


Orientation Property (Legend)

The orientation of the legend. See Orientation Constants for valid values.

Syntax

Property Orientation As OrientationConstants

See Also

Legend Object


Parent Property (Legend)

The parent object.

Syntax

Property Parent As Object

See Also

Legend Object


Text Property (Legend)

The legend title. See Label Object for details.

Syntax

Property Text As Label

See Also

Legend Object


Type Property (Legend)

The legend type. See LegendType Constants for valid values.

Syntax

Property Type As LegendTypeConstants

Example

' Print range for each zone

Chart3D1.Legend.Type = oc3dLegendTypeStepped

Applies To

Chart3D Object

See Also

Legend Object


LineStyle Object

The line style to use when drawing contours.


LineStyle Object Members

LineStyle Object Properties

Color | The line color.
Parent | The parent object.
Pattern | The line pattern.
Width | The line thickness.


LineStyle Object Properties

Color Property (LineStyle)

Parent Property (LineStyle)

Pattern Property (LineStyle)

Width Property (LineStyle)


Color Property (LineStyle)

The line color. You can specify RGB colors using the RGB() or QBColor() functions.

Syntax

Property Color As OLE_COLOR

See Also

LineStyle Object


Parent Property (LineStyle)

The parent object.

Syntax

Property Parent As Object

See Also

LineStyle Object


Pattern Property (LineStyle)

The line pattern. See LinePattern Constants for valid values.

Syntax

Property Pattern As LinePatternConstants

See Also

LineStyle Object


Width Property (LineStyle)

The line thickness.

Syntax

Property Width As Long

Example

' Set line width for first chart style

Chart3D1.ChartGroups(1).Contour.Styles(1).LineStyle.Width = 5

Applies To

ContourStyle Object

See Also

LineStyle Object


Location Object

The size and position of a chart area.


Location Object Members

Location Object Properties

Height | The height of the area.
Left | The distance between the left edge of the area and the control's origin.
Parent | The parent object.
Top | The distance between the top of the area and the control's origin.
Width | The width of the area.


Location Object Properties

Height Property (Location)

Left Property (Location)

Parent Property (Location)

Top Property (Location)

Width Property (Location)


Height Property (Location)

The height of the area. See DerivedLong Object for details.

Syntax

Property Height As DerivedLong

See Also

Location Object


Left Property (Location)

The distance between the left edge of the area and the control's origin. See DerivedLong Object for details.

Syntax

Property Left As DerivedLong

See Also

Location Object


Parent Property (Location)

The parent object.

Syntax

Property Parent As Object

See Also

Location Object


Top Property (Location)

The distance between the top of the area and the control's origin. See DerivedLong Object for details.

Syntax

Property Top As DerivedLong

See Also

Location Object


Width Property (Location)

The width of the area. See DerivedLong Object for details.

Syntax

Property Width As DerivedLong

Example

' Set header width to 100

Chart3D1.Header.Location.Width.Value = 100

Applies To

ChartArea Object

Legend Object

Title Object

See Also

Location Object


PlotCube Object

The plot cube, which is the smallest cube which encloses the entire chart (including the axes).


PlotCube Object Members

PlotCube Object Properties

Ceiling | The projection of contours and zones onto the z=zmax plane.
Floor | The projection of contours and zones onto the z=zmin plane.
Interior | The background/foreground colors.
Parent | The parent object.
XScale | The amount of scaling in the X-axis direction, measured as a percentage of the height of the cube.
YScale | The amount of scaling in the Y-axis direction, measured as a percentage of the height of the cube.


PlotCube Object Properties

Ceiling Property (PlotCube)

Floor Property (PlotCube)

Interior Property (PlotCube)

Parent Property (PlotCube)

XScale Property (PlotCube)

YScale Property (PlotCube)


Ceiling Property (PlotCube)

The projection of contours and zones onto the z=zmax plane. See Ceiling Object for details. This property is ignored in bar charts.

Syntax

Property Ceiling As Ceiling

See Also

PlotCube Object


Floor Property (PlotCube)

The projection of contours and zones onto the z=zmin plane. See Floor Object for details. This property is ignored in bar charts.

Syntax

Property Floor As Floor

See Also

PlotCube Object


Interior Property (PlotCube)

The background/foreground colors. See Interior Object for details.

Syntax

Property Interior As Interior)

See Also

PlotCube Object


Parent Property (PlotCube)

The parent object.

Syntax

Property Parent As Object

See Also

PlotCube Object


XScale Property (PlotCube)

The amount of scaling in the X-axis direction, measured as a percentage of the height of the cube.

Syntax

Property XScale As Double

Example

' Set X-axis scaling factor

Chart3D1.ChartArea.PlotCube.XScale = 75.0

See Also

PlotCube Object


YScale Property (PlotCube)

The amount of scaling in the Y-axis direction, measured as a percentage of the height of the cube.

Syntax

Property YScale As Double

Applies To

ChartArea Object

See Also

PlotCube Object


Projection Object

The projection of contours and zones.


Projection Object Members

Projection Object Properties

IsContoured | Specifies whether projected contours are to be drawn.
IsZoned | Specifies whether zones are to be drawn.
Parent | The parent object.


Projection Object Properties


IsContoured Property (Projection)

Specifies whether projected contours are to be drawn. If True, projected contours are drawn regardless of the value of the IsContoured property of the Contour object.

Syntax

Property IsContoured As Boolean

See Also

Projection Object


IsZoned Property (Projection)

Specifies whether zones are to be drawn. If True, projected contours are drawn regardless of the value of the IsZoned property of the Contour object.

Syntax

Property IsZoned As Boolean

Example

' Set ceiling projection to be zoned

Chart3D1.ChartArea.PlotCube.Ceiling.Projection.IsZoned = True

See Also

Projection Object


Parent Property (Projection)

The parent object.

Syntax

Property Parent As Object

Applies To

Ceiling Object

Floor Object

See Also

Projection Object


Surface Object

The surface in a surface format chart.


Surface Object Members

Surface Object Properties

ColumnMeshFilter | The column mesh filter.
IsColumnMeshShowing | Specifies whether the column mesh lines are to appear.
IsRowMeshShowing | Specifies whether the row mesh lines are to appear.
IsSolid | Specifies whether a solid skirt should be drawn around the data to render the 3D surface as a solid object.
Parent | The parent object.
RowMeshFilter | The row mesh filter.


Surface Object Properties

ColumnMeshFilter Property (Surface)

IsColumnMeshShowing Property (Surface)

IsRowMeshShowing Property (Surface)

IsSolid Property (Surface)

Parent Property (Surface)

RowMeshFilter Property (Surface)


ColumnMeshFilter Property (Surface)

The column mesh filter. When this property has the value n, every nth mesh line is drawn. This mesh filter applies to both regular and irregular grids. When this property is set to 0, the chart automatically chooses a mesh filter.

Syntax

Property ColumnMeshFilter As Long

See Also

Surface Object


IsColumnMeshShowing Property (Surface)

Specifies whether the column mesh lines are to appear.

Syntax

Property IsColumnMeshShowing As Boolean

See Also

Surface Object


IsRowMeshShowing Property (Surface)

Specifies whether the row mesh lines are to appear.

Syntax

Property IsRowMeshShowing As Boolean

See Also

Surface Object


IsSolid Property (Surface)

Specifies whether a solid skirt should be drawn around the data to render the 3D surface as a solid object. This joins the edge of the surface to a plane at the minimum Z-value.

Syntax

Property IsSolid As Boolean

Example

' Draw solid skirt around data

Chart3D1.ChartArea.Surface.IsSolid = True

See Also

Surface Object


Parent Property (Surface)

The parent object.

Syntax

Property Parent As Object

See Also

Surface Object


RowMeshFilter Property (Surface)

The row mesh filter. When this property has the value n, every nth mesh line is drawn. This mesh filter applies to both regular and irregular grids. When this property is set to 0, the chart automatically chooses a mesh filter.

Syntax

Property RowMeshFilter As Long

Applies To

ChartArea Object

See Also

Surface Object


SymbolStyle Object

The shape, size, and color used in scatter plots for the points in a series.


SymbolStyle Object Members

SymbolStyle Object Properties

Color | The symbol color.
Parent | The parent object.
Shape | The symbol shape.
Size | The relative size of the symbol.


SymbolStyle Object Properties

Color Property (SymbolStyle)

Parent Property (SymbolStyle)

Shape Property (SymbolStyle)

Size Property (SymbolStyle)


Color Property (SymbolStyle)

The symbol color. You can specify RGB colors using the RGB() or QBColor() functions.

Syntax

Property Color As OLE_COLOR

Example

' Set symbol color for second chart style to green

Chart2D1.ChartGroups(1).Styles(2).Symbol.Color = RGB(0, 128, 0)

See Also

SymbolStyle Object


Parent Property (SymbolStyle)

The parent object.

Syntax

Property Parent As Object

See Also

SymbolStyle Object


Shape Property (SymbolStyle)

The symbol shape. See Shape Constants for valid values.

Syntax

Property Shape As ShapeConstants

See Also

SymbolStyle Object


Size Property (SymbolStyle)

The relative size of the symbol. Must be 0 or greater. When set to 0, no symbol is displayed.

Syntax

Property Size As Long

Applies To

ChartStyle Object

See Also

SymbolStyle Object


Title Object

A chart title (header or footer).


Title Object Members

Title Object Properties

Adjust | How multiple text lines are aligned within the title.
Border | The border around the title.
Font | The font used in the title.
Interior | The background/foreground colors.
IsShowing | Whether the title is to be displayed.
Location | The size and position of the title on the chart.
Parent | The parent object.
Text | The text displayed in the title.


Title Object Properties

Adjust Property

Border Property (Title)

Font Property (Title)

Interior Property (Title)

IsShowing Property (Title)

Location Property (Title)

Parent Property (Title)

Text Property (Title)


Adjust Property

How multiple text lines are aligned within the title. See Adjust Constants for valid values.

Syntax

Property Adjust As AdjustConstants

See Also

Title Object


Border Property (Title)

The border around the title. See Border Object for details.

Syntax

Property Border As Border

See Also

Title Object


Font Property (Title)

The font used in the title. (This is a standard OLE Font object.)

Syntax

Property Font As StdFont

See Also

Title Object


Interior Property (Title)

The background/foreground colors. See Interior Object for details.

Syntax

Property Interior As Interior

See Also

Title Object


IsShowing Property (Title)

Whether the title is to be displayed.

Syntax

Property IsShowing As Boolean

Example

' Suppress header display

Chart3D1.Header.IsShowing = False

See Also

Title Object


Location Property (Title)

The size and position of the title on the chart. See Location Object for details.

Syntax

Property Location As Location

See Also

Title Object


Parent Property (Title)

The parent object.

Syntax

Property Parent As Object

See Also

Title Object


Text Property (Title)

The text displayed in the title. See Label Object, LabelCollection for details.

Syntax

Property Text As Label

Applies To

Chart3D Object

See Also

Title Object


ValueLabel Object

A ValueLabel object is one axis Value-label.


ValueLabel Object Members

ValueLabel Object Properties

Label | The label for this Value-label.
Parent | The parent object.
Value | The data coordinate at which to display the Value-label.


ValueLabel Object Properties


Label Property (ValueLabel)

The label for this Value-label. See Label Object, LabelCollection for details.

Syntax

Property Label As Label

See Also

ValueLabel Object


Parent Property (ValueLabel)

The parent object.

Syntax

Property Parent As Object

See Also

ValueLabel Object


Value Property (ValueLabel)

The data coordinate at which to display the Value-label.

Syntax

Property Value As Double

Example

' Specify location of first value label

Chart3D1.ChartArea.Axes("X").ValueLabels(1).Value = 3.5

Applies To

Axis Object

See Also

ValueLabel Object


ValueLabelCollection

The ValueLabels collection is a collection of all ValueLabel objects.


ValueLabelCollection Members

ValueLabelCollection Properties

Count | The current number of ValueLabel objects in the collection.
Item | Specifies a specific ValueLabel object from the collection.
Parent | The parent object.

ValueLabelCollection Methods

Add | Adds a ValueLabel object to the end of the collection.
Remove | Removes a ValueLabel object from the collection.
RemoveAll | Removes all elements in the collection.


ValueLabelCollection Properties


Count Property (ValueLabelCollection)

The current number of ValueLabel objects in the collection.

Syntax

Property Count As Long

See Also

ValueLabelCollection


Item Property (ValueLabelCollection)

Specifies a specific ValueLabel object from the collection. Indexed by number (with 1 representing the first object in the collection).

Syntax

Property Item(Index) As ValueLabel

See Also

ValueLabelCollection


Parent Property (ValueLabelCollection)

The parent object.

Syntax

Property Parent As Object

See Also

ValueLabelCollection


ValueLabels Collection Methods


Add Method (ValueLabelCollection)

Adds a ValueLabel object to the end of the collection. Returns a ValueLabel object.

Syntax

Function Add(Value As Double, Text As String) As ValueLabel

Part | Type | Description
Value | Double | The data coordinate of the new Value-label.
Text | String | The text for the new Value-label.

See Also

ValueLabelCollection


Remove Method (ValueLabelCollection)

Removes a ValueLabel object from the collection. Nothing is returned.

Syntax

Sub Remove(Index)

Part | Type | Description
Index | Variant | An object index (with 1 representing the first element)

See Also

ValueLabelCollection


RemoveAll Method (ValueLabelCollection)

Removes all elements in the collection.

Syntax

Sub RemoveAll()

See Also

ValueLabelCollection


View3D Object

The three-dimensional view of the plot cube.


View3D Object Members

View3D Object Properties

Parent | The parent object.
Perspective | The perspective effect.
XRotation | Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the X-axis.
YRotation | Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the Y-axis
ZRotation | Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the Z-axis.


View3D Object Properties

Parent Property (View3D)

Perspective Property (View3D)

XRotation Property (View3D)

YRotation Property (View3D)

ZRotation Property (View3D)


Parent Property (View3D)

The parent object.

Syntax

Property Parent As Object

See Also

View3D Object


Perspective Property (View3D)

The perspective effect. Must be a value greater than or equal to 1. Higher values reduce the perspective effect and approach a parallel projection.

Syntax

Property Perspective As Double

See Also

View3D Object


XRotation Property (View3D)

Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the X-axis. 3D Chart applies rotations in Z-Y-X order.

Syntax

Property XRotation As Double

Example

' Rotate 30 degrees about the X-axis

Chart3D1.ChartArea.View3D.XRotation = 30.0

See Also

View3D Object


YRotation Property (View3D)

Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the Y-axis. 3D Chart applies rotations in Z-Y-X order.

Syntax

Property YRotation As Double

See Also

View3D Object


ZRotation Property (View3D)

Specifies the number of degrees of rotation of the plot cube, in a counter-clockwise direction about the Z-axis. 3D Chart applies rotations in Z-Y-X order.

Syntax

Property ZRotation As Double

Applies To

ChartArea Object

See Also

View3D Object


Viewport Object

The rectangular region in the chart which is mapped to by the plot cube.

Viewport Object Members

Viewport Object Properties

Event Method Members

Event Methods


Viewport Object Members

Viewport Object Properties

HorizontalShift | Specifies the degree of horizontal view translation from a full view (a maximal, non-clipped view).
IsNormalized | Specifies whether the full view is always calculated before taking scaling or translation into account.
Parent | The parent object.
ScaleFactor | Specifies the degree of scaling (zooming) up or down from a full (maximal, non-clipped) view.
VerticalShift | Specifies the degree of vertical view translation from a full view.


Viewport Object Properties

HorizontalShift Property (Viewport)

IsNormalized Property (Viewport)

Parent Property (Viewport)

ScaleFactor Property (Viewport)

VerticalShift Property (Viewport)


HorizontalShift Property (Viewport)

Specifies the degree of horizontal view translation from a full view (a maximal, non-clipped view). Translation is relative to a normalized box with origin in the bottom left corner. Translation of more than a full unit (more than 1.0 or -1.0) causes the view to translate “out of view”. This property is updated if the user dynamically translates the view.

Syntax

Property HorizontalShift As Double

See Also

Viewport Object


IsNormalized Property (Viewport)

Specifies whether the full view is always calculated before taking scaling or translation into account. This maximizes the view without causing any portion of the view to be clipped. When this property is set to True, dynamic rotations of the chart appear “jerky”.

Syntax

Property IsNormalized As Boolean

See Also

Viewport Object


Parent Property (Viewport)

The parent object.

Syntax

Property Parent As Object

See Also

Viewport Object


ScaleFactor Property (Viewport)

Specifies the degree of scaling (zooming) up or down from a full (maximal, non-clipped) view. Valid values must be between 1/30 and 30.0. This property is updated if the user dynamically scales or zooms the view.

Syntax

Property ScaleFactor As Double

Example

' Zoom up

Chart3D1.ChartArea.Viewport.ScaleFactor = 10.0

See Also

Viewport Object


VerticalShift Property (Viewport)

Specifies the degree of vertical view translation from a full view. Translation is relative to a normalized box with origin in the bottom left corner. Translation of more than a full unit (more than 1.0 or -1.0) causes the view to translate “out of view”. This property is updated if the user dynamically translates the view.

Syntax

Property VerticalShift As Double

Applies To

ChartArea Object

See Also

Viewport Object


Event Reference

The following lists the events supported by the control (in addition to the standard events such as Click).


Event Method Members

Event Methods

ModifyEnd | Notify the application that user interaction has ended.
ModifyStart | Notify the application that user interaction has started, giving the application a way to disallow it.
Repaint | Notify the application that a region has been repainted.
Resize | Notify the application that the chart has been resized.
View3DModify | Notify the application that the 3D effect in a chart has changed.
ViewportModify | Notify the application that the plot cube has been translated.


Event Methods

ModifyEnd Event

ModifyStart Event

Repaint Event

Resize Event

View3DModify Event

ViewportModify Event


ModifyEnd Event

Notify the application that user interaction has ended.


ModifyStart Event

Notify the application that user interaction has started, giving the application a way to disallow it.

Remarks

Part | Type | Description
IsOK | Boolean | True if this user interaction is allowed, False if disallowed (modifiable)


Repaint Event

Notify the application that a region has been repainted.

Remarks

Part | Type | Description
hDC | Long | Microsoft Windows device context handle
Left | Long | Distance between left edge of redrawn rectangle and left edge of chart
Top | Long | Distance between top edge of redrawn rectangle and top edge of chart
Width | Long | Width of redrawn rectangle
Height | Long | Height of redrawn rectangle


Resize Event

Notify the application that the chart has been resized.

Remarks

Part | Type | Description
Width | Long | New width
Height | Long | New height


View3DModify Event

Notify the application that the plot cube has been rotated.

Remarks

Part | Type | Description
XRotation | Double | X-axis rotation (modifiable)
YRotation | Double | Y-axis rotation (modifiable)
ZRotation | Double | Z-axis rotation (modifiable)
IsOK | Boolean | True if this user interaction is allowed, False if disallowed (modifiable)


ViewportModify Event

Notify the application that the plot cube has been translated.

Remarks

Part | Type | Description
ScaleFactor | Double | Degree of scaling (between 1/30 and 30.0) (modifiable)
HorizontalShift | Double | Degree of horizontal view translation (modifiable)
VerticalShift | Double | Degree of vertical view translation (modifiable)
IsOK | Boolean | True if this user interaction is allowed, False if disallowed (modifiable)


Constants Reference

This following provides reference information on the constants used by the 3D Chart control. The constants are listed alphabetically.


Constants Members

Action Constants

Adjust Constants

Anchor Constants

AnnotationMethod Constants

AnnotationPosition Constants

AttachMethod Constants

AxisID Constants

BarFormat Constants

BorderType Constants

ChartEditorElement Constants

ChartType Constants

DataLayout Constants

DistributionRange Constants

Error Constants

FontRotation Constants

Format Constants

ImageLayout Constants

Interpolation Constants

LegendType Constants

LinePattern Constants

Orientation Constants

Plane Constants

PreviewMethod Constants

Region Constants

Scale Constants

Shape Constants

StrokeFont Constants

ZoneMethod Constants


Action Constants

Specifies the action currently being performed.

Constant | Action
oc3dActionNone | No action
oc3dActionModifyStart | Start any user interaction
oc3dActionModifyEnd | End any user interaction
oc3dActionModifyCancel | Cancel a user interaction
oc3dActionRotate | Rotate a chart
oc3dActionScale | Scale a chart
oc3dActionTranslate | Translate a chart
oc3dActionZoomStart | Start a zoom
oc3dActionZoomUpdate | Update the zoom rubberband
oc3dActionZoomEnd | End a zoom
oc3dActionZoomCancel | Cancel a zoom in progress
oc3dActionRotateXAxis | Rotate about the X-axis
oc3dActionRotateYAxis | Rotate about the Y-axis
oc3dActionRotateZAxis | Rotate about the Z-axis
oc3dActionRotateEye | Rotate about the eyepoint
oc3dActionRotateFree | Unconstrained rotation
oc3dActionReset | Undo all scaling and translations
oc3dActionProperties | Display property page


Adjust Constants

Specifies the alignment of multiple lines of text in a header or footer.

Constant | Alignment
oc3dAdjustLeft | Aligned to left edge
oc3dAdjustRight | Aligned to right edge
oc3dAdjustCenter | Centered


Anchor Constants

Specifies the position of the Legend or ChartLabel object relative to the chart area.

Constant | Positioning
oc3dAnchorNorth | Above chart area
oc3dAnchorSouth | Below chart area
oc3dAnchorEast | To right of chart area
oc3dAnchorWest | To left of chart area
oc3dAnchorNorthWest | Above and to left of chart area
oc3dAnchorNorthEast | Above and to right of chart area
oc3dAnchorSouthWest | Below and to left of chart area
oc3dAnchorSouthEast | Below and to right of chart area


AnnotationMethod Constants

Specifies the annotation method.

Constant | Description
oc3dAnnotateDataLabels | Annotate using data labels
oc3dAnnotateValueLabels | Annotate using ValueLabels property
oc3dAnnotateValues | Annotate using chart's X- or Y-values


AnnotationPosition Constants

Enumerates available values for Axis.AnnotationPosition property.

Constant | Setting
oc3dAnnotationPositionBoth | 0
oc3dAnnotationPositionNear | 1
oc3dAnnotationPositionFar | 2
oc3dAnnotationPositionNone | 3


AttachMethod Constants

Specifies how a text object is to be attached to the chart.

Constant | Description
oc3dAttachDataIndex | Attach to a grid index
oc3dAttachCoord | Attach to pixel coordinates on the chart
oc3dAttachDataCoord | Attach to a point in 3D space


AxisID Constants

Specifies a chart axis.

Constant | Axis
oc3dAxisX | X-axis
oc3dAxisY | Y-axis
oc3dAxisZ | Z-axis


BarFormat Constants

The format in which bars are displayed.

Constant | Description
oc3dBarFixed | Fixed format (bars are fixed width and centered about their X or Y values)
oc3dBarHistogram | Histogram format (each bar fills the space up to its adjoining bar)


BorderType Constants

Valid border styles.

Constant | Style
oc3dBorderNone |
oc3dBorder3DOut |
oc3dBorder3DIn |
oc3dBorderEtchedOut |
oc3dBorderEtchedIn |
oc3dBorderShadow |
oc3dBorderPlain |
oc3dBorderFrameIn |
oc3dBorderFrameOut |
oc3dBorderBevel |


ChartEditorElement Constants

Specifies the Property Editor tab.

Constant | Description
oc3dceeControl | Control tab
oc3dceeControlGeneral | Control tab, General subtab
oc3dceeControlGeneralIsBatched | Control tab, General subtab
oc2dceeControlGeneralIsDoubleBuffered | Control tab, General subtab
oc3dceeControlGeneralReset | Control tab, General subtab
oc3dceeControlBorder | Control tab, Border subtab
oc3dceeControlInterior | Control tab, interior subtab
oc3dceeControlImage | Control tab, Image subtab
oc3dceeControlAbout | Control tab, About subtab
oc3dceeAxes | Axes tab
oc3dceeAxesGeneral | Axes tab, General subtab
oc3dceeAxesScale | Axes tab, Scale subtab
oc3dceeAxesTitle | Axes tab, Title subtab
oc3dceeAxesGridLines | Axes tab, GridLines subtab
oc3dceeAxesGridStyles | Axes tab, GridStyle subtab
oc3dceeAxesStrokeFont | Obsolete
oc3dceeAxesValueLabels | Axes tab, ValueLabels subtab
oc3dceeAxesFont | Axes tab, Font subtab
oc3dceeBar | Obsolete
oc3dceeBarColors | ChartGroup tab, Bar Colors subtab
oc3dceeBarGeneral | ChartGroup tab, Bar subtab
oc3dceeChartGroup | ChartGroup tab
oc3dceeChartGroupGeneral | ChartGroup tab, General subtab
oc3dceeChartGroupData | ChartGroup tab, Data subtab
oc3dceeChartGroupDataColLayout | ChartGroup tab, Data subtab, Edit Column button
oc3dceeChartGroupDataEdit | Control tab, Data subtab, Edit button
oc3dceeChartGroupDataLoad | ChartGroup tab, Data subtab, Load button
oc3dceeChartGroupDataRowLayout | ChartGroup tab, Data subtab, Edit Row button
oc3dceeChartGroupDataSave | ChartGroup tab, Data subtab, Save button
oc3dceeChartGroupDataSmooth | ChartGroup tab, Data subtab, Smooth button
oc3dceeChartGroupLabels | ChartGroup tab, Labels subtab
oc3dceeChartGroupElevation | ChartGroup tab, Elevation subtab
oc3dceeChartGroupInternet | ChartGroup tab, Internet subtab
oc3dceeChartGroupScatter | ChartGroup tab, Scatter subtab
oc3dceeChartGroupSurface | ChartGroup tab, Surface subtab
oc3dceeChartGroupBar | ChartGroup tab, Bar subtab
oc3dceeChartGroupBarColor | ChartGroup tab, Bar Colors subtab
oc3dceeChartStyles | ChartStyles tab
oc3dceeChartStylesAdd | ChartStyles tab, Add button
oc3dceeChartStylesLineStyle | ChartStyles tab, Line subtab
oc3dceeChartStylesRemove | ChartStyles tab, Remove button
oc3dceeChartStylesSymbolStyle | ChartStyles tab, Symbol subtab
oc3dceeScatterGeneral | ChartGroup tab, Scatter subtab
oc3dceeStyles | Styles tab
oc3dceeStylesAdd | Styles tab, Add button
oc3dceeStylesFillStyle | Styles tab, FillStyle subtab
oc3dceeStylesGeneral | Styles tab, General subtab
oc3dceeStylesGeneralLoad | Styles tab, General subtab, Load button
oc3dceeStylesGeneralSave | Styles tab, General subtab, Save button
oc3dceeStylesGeneralReset | Styles tab, General subtab, Reset button
oc3dceeStylesLineStyle | Styles tab, LineStyle subtab
oc3dceeStylesRemove | Styles tab, Remove button
oc3dceeSurface | Obsolete
oc3dceeSurfaceGeneral | ChartGroup tab, Surface subtab
oc3dceeTitles | Titles tab
oc3dceeTitlesGeneral | Titles tab, General subtab
oc3dceeTitlesLabel | Titles tab, Label subtab
oc3dceeTitlesLocation | Titles tab, Location subtab
oc3dceeTitlesBorder | Titles tab, Border subtab
oc3dceeTitlesInterior | Titles tab, Interior subtab
oc3dceeTitlesFont | Titles tab, Font subtab
oc3dceeTitlesImage | Titles tab, Image subtab
oc3dceeLegend | Legend tab
oc3dceeLegendGeneral | Legend tab, General subtab
oc3dceeLegendLabels | Legend tab, Labels subtab
oc3dceeLegendLocation | Legend tab, Location subtab
oc3dceeLegendBorder | Legend tab, Border subtab
oc3dceeLegendInterior | Legend tab, Interior subtab
oc3dceeLegendFont | Legend tab, Font subtab
oc3dceeLegendImage | Legend tab, Image subtab
oc3dceeLegendTitle | Legend tab, Title subtab
oc3dceeChartArea | ChartArea tab
oc3dceeChartAreaLocation | ChartArea tab, Location subtab
oc3dceeChartAreaBorder | ChartArea tab, Border subtab
oc3dceeChartAreaInterior | ChartArea tab, Interior subtab
oc3dceeChartAreaImage | Legend tab, Image subtab
oc3dceePlotCube | PlotCube tab
oc3dceePlotCubeGeneral | PlotCube tab, General subtab
oc3dceePlotCubeCeiling | PlotCube tab, Ceiling subtab
oc3dceePlotCubeFloor | PlotCube tab, Floor subtab
oc3dceePlotCubeViewport | PlotCube tab, Viewport subtab
oc3dceePlotCubeInterior | PlotCube tab, Interior subtab
oc3dceeChartLabels | ChartLabels tab
oc3dceeChartLabelsGeneral | ChartLabels tab, General subtab
oc3dceeChartLabelsAttach | ChartLabels tab, Attach subtab
oc3dceeChartLabelsLabel | ChartLabels tab, Label subtab
oc3dceeChartLabelsBorder | ChartLabels tab, Border subtab
oc3dceeChartLabelsInterior | ChartLabels tab, Interior subtab
oc3dceeChartLabelsFont | ChartLabels tab, Font subtab
oc3dceeChartLabelsStrokeFont | ChartLabels tab, Font subtab
oc3dceeChartLabelsImage | ChartLabels tab, Image subtab
oc3dceeView3D | View3D tab
oc3dceeView3DGeneral | View3D tab, General subtab
oc3dceeLevels | Levels tab
oc3dceeLevelsAdd | Levels tab, Add button
oc3dceeLevelsGeneral | Levels tab, General subtab
oc3dceeLevelsRemove | Levels tab, Remove button
oc3dceeControlGeneralLoad | Control tab, General subtab, Load button
oc3dceeControlGeneralSave | Control tab, General subtab, Save button


ChartType Constants

Specifies the chart display type.

Constant | Display Type
oc3dTypeSurface | Surface chart
oc3dTypeBar | Bar chart
oc3dTypeScatter | Scatter plot


DataLayout Constants

Specifies the type of data to be charted.

Constant | Description
oc3dDataGrid | Regular grid data
oc3dDataIrregularGrid | Irregular grid data
oc3dDataPoint | Point data


DistributionRange Constants

Specifies whether all the user-specified labels in the distribution range should appear.

Constant | Description
oc3dDistributionRangeData | The range spanned by the data
oc3dDistributionRangeAll | All the labels


Error Constants

Specifies the error detected by 3D Chart.

Constant | Description
ocErrorInvalidIndex | Invalid index found in variant
ocErrorReadOnly | Property is read-only and cannot be modified
ocErrorOutOfRange | Numeric value is out of range
ocErrorInvalidEnum | Invalid enumerated value for property
ocErrorInvalidValue | Invalid value for property
ocErrorNoSuchProperty | Property does not exist for this instance of the object
ocErrorDuplicateValue | Collection already contains a duplicate value
ocErrorNoSuchItem | Cannot find item in collection
ocErrorCannotCreateObject | Cannot create object
ocErrorTypeMismatch | Property set to wrong object type
ocErrorReadOnlyWhenBound | Property is read-only when the chart group is bound
ocErrorBadArrayDimensions | Wrong dimensions in SafeArray passed to a function
ocErrorNotConnected | Object does not have a parent
ocErrorInvalidFormat | Invalid custom format
ocErrorDllNotCompatible | DLL version is not compatible
ocErrorSeriesArrayNotOne | Series index must be 1 for Array data layout


FontRotation Constants

Specifies font rotation of the chart.

Constant | Description
oc3dFontRotationNone | None
oc3dFontRotation2D | 2D
oc3dFontRotation3D | 3D


Format Constants

Specifies the format to use when printing.

Constant | Description
oc3dFormatBitmap | Bitmap
oc3dFormatMetafile | Metafile
oc3dFormatEnhMetafile | Enhanced metafile
oc3dFormatStandardMetafile | Standard metafile


ImageLayout Constants

Valid image file layouts.

Constant | Description
oc3dImageCentered | Image is centered
oc3dImageTiled | Image is tiled
oc3dImageFitted | Image is resized to fit as much of the area as possible, while maintaining the aspect ratio
oc3dImageStretched | Image is resized to fit the entire area
oc3dImageStretchedToWidth | Image is stretched to fit the area width
oc3dImageStretchedToHeight | Image is stretched to fit the area height
oc3dImageCropFitted | Image is fitted to the smaller of the two dimensions


Interpolation Constants

Specifies the spline interpolation method to use when extracting a subset of a Chart3DData object.

Constant | Description
oc3dInterpolateLinearSpline | Linear spline interpolation
oc3dInterpolateCubicSpline | Cubic spline interpolation


LegendType Constants

Determines the legend style.

Constant | Description
oc3dLegendTypeStepped | Range printed for each zone
oc3dLegendTypeContinuous | Level printed at the division between two adjacent zones


LinePattern Constants

Valid line patterns.

Constant | Style
oc3dLineNone |
oc3dLineSolid |
oc3dLineLongDash |
oc3dLineDotted |
oc3dLineShortDash |
oc3dLineLongShortLongDash |
oc3dLineDashDot |


Orientation Constants

Specifies the legend orientation.

Constant | Orientation
oc3dOrientVertical | Vertical
oc3dOrientHorizontal | Horizontal


Plane Constants

Specifies a plane of the chart.

Constant | Description
oc3dXYPlane | The XY-plane
oc3dXZPlane | The XZ-plane
oc3dYZPlane | The YZ-plane


PreviewMethod Constants

Specifies how interactive rotations are to be presented to the user.

Constant | Description
oc3dPreviewCube | Draw outline of plot cube
oc3dPreviewFull | Draw entire chart


Region Constants

Specifies a region of a chart.

Constant | Region
oc3dRegionInChartArea | Located in chart area (main body of chart)
oc3dRegionInLegend | Located in legend
oc3dRegionInHeader | Located in header
oc3dRegionInFooter | Located in footer
oc3dRegionNone | None of the above


Scale Constants

Specifies the scaling to use when printing.

Constant | Description
oc3dScaleNone | Same size as actual chart
oc3dScaleToWidth | Scale to specified width, preserving aspect ratio
oc3dScaleToHeight | Scale to specified height, preserving aspect ratio
oc3dScaleToFit | Scale to existing window (minimum of height and width), preserving aspect ratio
oc3dScaleToMax | Enlarge to size of page


Shape Constants

Valid symbol shapes.

Constant | Shape
oc3dShapeNone |
oc3dShapeDot |
oc3dShapeBox |
oc3dShapeTriangle |
oc3dShapeDiamond |
oc3dShapeStar |
oc3dShapeVerticalLine |
oc3dShapeHorizontalLine |
oc3dShapeCross |
oc3dShapeCircle |
oc3dShapeSquare |
oc3dShapeInvertTriangle |
oc3dShapeDiagonalCross |
oc3dShapeOpenTriangle |
oc3dShapeOpenDiamond |
oc3dShapeOpenInvertTriangle |


StrokeFont Constants

Specifies a stroke font.

Constant | Stroke font
oc3dCyrillicComplex | CyrillicComplex
oc3dGothicEnglish | GothicEnglish
oc3dGothicGerman | GothicGerman
oc3dGothicItalian | GothicItalian
oc3dGreekComplex | GreekComplex
oc3dGreekComplexSmall | GreekComplexSmall
oc3dGreekSimplex | GreekSimplex
oc3dItalicComplex | ItalicComplex
oc3dItalicComplexSmall | ItalicComplexSmall
oc3dItalicTriplex | ItalicTriplex
oc3dRomanComplex | RomanComplex
oc3dRomanComplexSmall | RomanComplexSmall
oc3dRomanDuplex | RomanDuplex
oc3dRomanSimplex | RomanSimplex
oc3dRomanTriplex | RomanTriplex
oc3dScriptComplex | ScriptComplex
oc3dScriptSimplex | ScriptSimplex


ZoneMethod Constants

Specifies the method used to fill each zone region.

Constant | Method
oc3dZoneContours | Contour zoning
oc3dZoneCells | Cell zoning


Chart3D Hierarchy Part I

ActionMap Object/ActionMaps Collection Hierarchy

Axis Object/Axes Collection Hierarchy

Bar Object Hierarchy

Border Object Hierarchy

Ceiling Object Hierarchy

ChartArea Object Hierarchy

ChartGroup Object/ChartGroups Collection Hierarchy

ChartLabel Object/ChartLabels Collection Hierarchy

ChartStyle Object ChartStyles Collection Hierarchy

Chart3DData Object Hierarchy

Contour Object Hierarchy

ContourLevels Object Hierarchy

ContourStyle Object/ContourStyles Collection Hierarchy

Coord Object Hierarchy

DataColor Object/Data Colors Collection Hierarchy

DataCoord Object Hierarchy

DataIndex Object Hierarchy

DerivedDouble Object Hierarchy

DerivedLong Object Hierarchy

Elevation Object Hierarchy

FillStyle Object Hierarchy

Floor Object Hierarchy

GridLines Object Hierarchy

SymbolStyle Object Hierarchy


ActionMap Object/ActionMaps Collection Hierarchy


Axis Object/Axes Collection Hierarchy


Bar Object Hierarchy


Border Object Hierarchy


Ceiling Object Hierarchy


ChartArea Object Hierarchy


ChartGroup Object/ChartGroups Collection Hierarchy


ChartLabel Object/ChartLabels Collection Hierarchy


ChartStyle Object ChartStyles Collection Hierarchy


Chart3DData Object Hierarchy


Contour Object Hierarchy


ContourLevels Object Hierarchy


ContourStyle Object/ContourStyles Collection Hierarchy


Coord Object Hierarchy


DataColor Object/Data Colors Collection Hierarchy


DataCoord Object Hierarchy


DataIndex Object Hierarchy


DerivedDouble Object Hierarchy


DerivedLong Object Hierarchy


Elevation Object Hierarchy


FillStyle Object Hierarchy


Floor Object Hierarchy


GridLines Object Hierarchy


SymbolStyle Object Hierarchy


Chart3D Hierarchy Part II

Image Object Hierarchy

Interior Object Hierarchy

Label Object/Labels Collection Hierarchy

Legend Object Hierarchy

LineStyle Object Hierarchy

Location Object Hierarchy

PlotCube Object Hierarchy

Projection Object Hierarchy

CubeFont Object Hierarchy

Surface Object Hierarchy

Title Object Hierarchy


Image Object Hierarchy


Interior Object Hierarchy


Label Object/Labels Collection Hierarchy


Legend Object Hierarchy


LineStyle Object Hierarchy


Location Object Hierarchy


PlotCube Object Hierarchy


Projection Object Hierarchy


CubeFont Object Hierarchy


Surface Object Hierarchy


Title Object Hierarchy


Chart3D Hierarchy Part III

ValueLabel Object/ValueLabels Collection Hierarchy

View3D Object Hierarchy

Viewport Object Hierarchy

Chart3D Object Hierarchy


ValueLabel Object/ValueLabels Collection Hierarchy


View3D Object Hierarchy


Viewport Object Hierarchy


Chart3D Object Hierarchy