Contact Sales

Call center available M-F 9:00 - 4:00 US Eastern Time.

Case Studies

Datasoft Solutions

Datasoft Solutions selected Toolkit Pro with Visual C++ over many...

Product Image
Toolkit Pro Logo

Create professional applications that incorporate a full set of highly customizable user interface components including Visual Studio style docking panes and Office style Ribbons, Toolbars, and Menus to give your application a modern appearance.

awards

Product Features

Codejock Toolkit Pro for Visual C++ provides Windows developers with a robust set of components combining 11 of our most popular components: Command Bars, Controls, Chart Pro, Calendar, Docking Pane, Property Grid, Report Control, Shortcut Bar, Syntax Edit, Skin Framework and Task Panel.

Click on any of the links below for a product overview and feature tour:
Outlook style calendar and date selection components.
Advanced chart library includes bar, bubble, gantt, area, and many more!
Comprehensive, fully customizable menus and toolbars.
Many ready-to-use, thoroughly designed and tested components.
Fully customizable VS style dockable pane windows.
Comprehensive, fully customizable VS style grid component.
Outlook style Reporting grid component.
Outlook style navigation panel component.
Sophisticated application skinning framework technology.
Visual Studio .NET style text editor component.
Office style Task Panel and VS Toolbox control.

Supported Environments

Visual Studio 2015 ( MFC 14.0 )
Visual Studio 2013 ( MFC 12.0 )
Visual Studio 2012 ( MFC 11.0 )
Visual Studio 2010 ( MFC 10.0 )
Visual Studio 2008 ( MFC 9.0 )
Visual Studio 2005 ( MFC 8.0 )
Visual Studio 2003 ( MFC 7.1 )
Visual Studio 2002 ( MFC 7.0 )
Visual Studio 6.0

Supported Operating Systems

Windows 10 ( x32, x64 )
Windows 8.1 ( x32, x64 )
Windows 8 ( x32, x64 )
Windows 7 ( x32, x64 )
Windows Vista ( x32, x64 )
Windows XP ( x32, x64 )
Windows Server 2012 R2 ( x64 )
Windows Server 2012 ( x64 )
Windows Server 2008 R2 ( x64 )
Windows Server 2008 ( x32, x64 )
Windows Server 2003 ( x32, x64 )
Windows 2000
Windows Me
Windows 98SE
Windows 98
Windows NT 4.0
Windows 95

Minimum Requirements

Visual C++ 6.0
Windows 95 or NT 4.0

Close

Integrated Time Scales

Calendar comes with its own built in “Time Scale”. The Time Scale is automatically displayed while in Day or Work Week view. Pre-defined time increments from 5 minutes to 1 hour can be used to display the data in the calendar. In addition to the standard Time Scale, an additional Time Scale can be displayed to show two different time zones at the same time. This allows you to easily keep track of appointments across time zones. The calendar can automatically look up all available time zones from the system registry.

Time Scale in 15 Minute Increments

image
Multiple Time Scales

image

Date Picker Control

Calendar comes with its own built in multiple selection Date Picker Control. The Date Picker can work in both “bound” and “un-bound” mode. While working in bound mode, the Date Picker is synchronized with the Calendar. All dates in the calendar that have an Appointment will appear in bold font in the Date Picker.  Selecting dates in the Date Picker will cause the corresponding dates to be displayed in the calendar, the correct view is automatically used. For example, when selecting 7 days in the Date Picker, the corresponding 7 days will appear in Week View in the calendar.

image

Office 2007 Theme Support

Calendar provides your application with Office 2007 style theme support that gives your application the closest, most exact Office 2007 style themes of any 3rd party tool available today. The Office 2007 theme is already built in, so you don't have to spend any extra time on this.

Office 2010 Theme Support

Calendar provides your application with Office 2010 style theme support that gives your application the closest, most exact Office 2010 style themes of any 3rd party tool available today. The Office 2010 theme is already built in, so you don't have to spend any extra time on this.

Office 2013 Theme Support

Calendar provides your application with Office 2013 style theme support that gives your application the closest, most exact Office 2013 style themes of any 3rd party tool available today. The Office 2013 theme is already built in, so you don't have to spend any extra time on this.

Custom Theme Support

All of the colors, fonts, and text used in the calendar can now be customized. This allows you to customize each and every part of the calendar. You can now create a completely custom theme using the exact colors you need. Since you can change all text drawn by the calendar you can modify the format or text to look and say exactly what you want it to.

Custom Icon Support

Custom calendar appointment icon support allows you to override the standard occurrence, recurrence, private, meeting, and exception icons displayed in appointments.  You can also add your own additional icons.

Display Multiple Schedules Side-by-Side

Viewing and comparing the schedule of multiple users is effortless with Calendar's multi-schedule features. Multi-schedules work great in the office setting. If you are wondering what two or more people are doing on the same day, the schedule for each person can be displayed side-by-side so you can make informed decisions based on everyone's schedule.

Multi-Schedule Support - Comparing John and Jane's Schedules

Editing Appointments

Calendar has several options that allow the Appointments in the calendar to be edited with only the click of a mouse or the press of a key. This provides users with a fast and easy way to edit the various Appointments in the calendar.

With the click of a mouse, an Appointment can be edited (Office 2007)


With the click of a mouse, an Appointment can be edited (Office 2003)

Custom Print Support

Custom print support allows the Calendar to be printed in several different ways. Users can print the contents of the Calendar using the Calendar's built-in print dialog. You can choose to incorporate a print header which includes a mini calendar of the current month, the current day, week, and day of the week. When viewing the Calendar in day or work week view you can specify a time range that will be printed so you are not limited to the times displayed on the screen.

Built-in Calendar Print Dialog

Reminders Manager

Reminders make it easy to alert users when an appointment in the Calendar is approaching or is past due. You can customize how much in advanced or how long after the appointment's due time to alert the user. Alerting users about an appointment is a great way to keep the user informed. All you need to do is specify how far in advance or how long after an appointment the reminder should occur and the calendar will notify you.

A Notification is Sent When an Appointment is Past Due or Upcoming

Day View

Calendar can display a single day at a time. Viewing a single day at a time makes it easier to view, move, and edit the appointments for the current day.

A single day viewed in “Day View”

Work Week View

Calendar can be set up to display only the current “work week”. Using Work Week view makes it easy to see all the tasks and appointments that will happen for the work week. The calendar can also display a week mask that indicates the hours of the day that are work hours. Typically, work week days are Monday - Friday, but any combination of days can be used.

A typical work week viewed in “Work Week View”

7 Day Week View

Calendar will display a 7 day “conventional style” calendar when using “week view”. With only a glimpse you can see what is planned for the entire week. Convenient icons are displayed when in Week and Month view that indicates a private task, a meeting, and type of recurrence. You have the option of displaying the start and end times of the appointments in digital time or analog time clocks. Analog time clocks will display an image of a clock with the correct start and end times.

A typical 7 day week viewed in “Week View”

Month View

Calendar can display a “conventional style” calendar by month when using “month view”. With only a glimpse you can see what is planned for an entire month. Month view can be configured to show anywhere from 2 to 6 weeks at a time so it is easy to see appointments that extend for long periods of time. Convenient icons are displayed when in Week and Month view that indicates a private task, a meeting, and type of recurrence. You have the option of displaying the start and end times of the appointments in digital time or analog time clocks. Analog time clocks will display an image of a clock with the correct start and end times. Weekends can be shown in compressed format or regular format.

Week Mask

Calendar provides a masking feature that allows you to easily see the work hours of a day while in day or work week view. The time cells of work hours will appear a different color than non-work hours. This makes it simple to see what is planned for the work day.

Mask indicating that work hours are from 8am to 5pm

Changing the Starting Day of the Week

Calendar allows you to specify which day starts the weeks.

Week starting with Monday

Week starting with Thursday

Changing the Number of Weeks Displayed in Month View

Calendar allows you to choose between 2 and 6 weeks while in Month view.

Calendar in Month View displaying only 3 weeks

One Time Appointment

Calendar allows you to add appointments that occur a single time. This is very useful when scheduling something that occurs only one time, or at different times in the day.

An appointment that occurs only one time

Daily Appointment

Calendar allows you to add appointments that occur at a specific interval of days. This is very useful when scheduling something that occurs at the same time multiple days. For example, you can specify that the appointment should occur every week day (Monday-Friday), or you could specify that it occurs every third day. When an appointment occurs multiple times, an arrow icon is displayed indicating that appointment has multiple occurrences.

An appointment that occurs every other day starting on Monday. Notice the icon to indicate the item has multiple occurrences

Multi-Day Appointment

Calendar allows you to add appointments that occur across multiple days. The appointment will be displayed differently depending on the duration of the appointment.

An appointment that occurs over multiple days, but does not last more than 24 hours

All Day Appointment

Calendar allows you to add appointments that occur the entire day. All day appointments can occur for multiple days as well. For example, an appointment can occur for 3 full days. All day events appear at the top of the calendar in day view and occur from 12am to 12pm for the given day so there will not be any time displayed for the appointment.

An “all day” appointment that occurs for 3 days, no start and end times are displayed because the appointment lasts all day

Weekly Appointment

Calendar allows you to add appointments that occur on a weekly basis. For example, you can specify that an appointment should be scheduled on Wednesday and Friday of every week. The weeks do not have to be consecutive, you can schedule the appointment for every fourth Monday starting at a given date.

An appointment that occurs Wednesday of every week

Monthly Appointment

Calendar allows you to add appointments that occur on a monthly basis. There are two ways to add an appointment that occurs on a single day of the month for multiple months. The first option allows you to specify the exact date of the month, for example, you can specify that an appointment should be scheduled on the 15th day of every 4th month. The second option allows you to specify the day of a week during the month, for example, you can specify that the appointment should be scheduled on the second Monday of every month. This allows you to easily set up an appointment that occurs every month or every couple of months.

An appointment that occurs on the second Wednesday of the month every six months

Yearly Appointment

Calendar allows you to add appointments that occur on a yearly basis. There are two ways to add an appointment that occurs on a yearly basis. The first option allows you to specify the exact month and day, for example, you can specify that an appointment should be scheduled on the 10th of July every year. The second option allows you to specify the day, week, and month the appointment should occur, for example, you can specify that the appointment should be scheduled on the second Monday of April every Year. This allows you to easily set up an appointment that occurs on a yearly basis such as a Birthday or Anniversary.

An appointment that occurs on the 14th of September every year

Private Appointment

Calendar allows you to mark an appointment as “private”. Private appointments will display a “key” or "lock" icon (depending on theme) during day, work week, and week view indicating that the appointment is private. This makes it easy to see when you have a private appointment.

A private appointment. Note the "lock" icon

Meeting Appointment

Calendar allows you to mark an appointment as a “meeting” with one or more people. Meeting appointments will display a “people” icon during day, work week, and week view indicating that the appointment is a meeting. This makes it easy to see when you have meetings and whom you will be meeting with.

A meeting appointment. Note the "people" icon

Appointment Labels

Appointment Labels

Calendar allows you to specify a “label” for an appointment. There are several predefined color coded labels that can be given to an appointment. Each label has a different meaning and they are color coded to make it easy to see what label has been assigned to the appointment. The background color of the appointment is determined by the label.

Several appointments with an assortment of labels

Time Management Status

Calendar allows you to specify the “busy status” for an appointment. The busy status indicates how the time during the appointment is managed. There are four different busy statuses to choose from ‘busy’, ‘free’, ‘tentative’, and ‘out of office’. The border color of the appointment during day and work week view is determined by the busy status. This allows you to look at an appointment and see how your time will be spent.

Time is showed as “busy”

Time is showed as “free”

Time is showed as “tentative”

Time is showed as “out of office”

Appointment Dialog

Calendar allows you to simply double click an appointment to edit it through the appointment dialog.

From this dialog you can set the time, recurrence, label, category, even set a reminder.

Pressing the Recurrence button brings you to a menu to tell the Calendar to repeat your event in whatever pattern that you require.

Options

Calendar features a large amount of options to customize your calendar.

Days can be disabled from view, time scale changed, even showing the time as a clock.


Advanced options are also available, like allowing certain in-place edit events, or enabling theme functionality.

Categories and Labels

Calendar allows you to set custom colors to your labels or categories, helping you to better recognize events. Once a category is set, the option to use labels is disabled until the categories are disabled again.

Choose from memorable keyword labels such as those listed here:


Categories are available as well and are the more up-to-date version tracking events. With these enabled, the Label control becomes disabled until all Categories are unselected.


Custom colors and labels can be chosen for either Categories or Labels by clicking once on an event, then selecting All Categories or All Labels from the Categories drop down menu on the ribbon.

Start and End Times

Calendar allows you to easily see and change the start and end times for an appointment. When in day and work week view, a convenient time scale is displayed to see the start and end time for the appointment. When in week and month view, the start and end time can be displayed as text or as a clock icon. To change the time of an appointment, you can simply use the mouse to add or subtract time.

Time is shown digitally

Time is shown as clock icons

Standard Bar Chart

A bar chart displays data with rectangular "bars" with lengths relative to the data they symbolize. Generally a bar chart is used to display discontinuous data (data that has a discrete value), however it can also be used for continuous data. Examples of discontinuous data would be "car color" or "tire size", examples of continuous data would be "population" or "age".

// Sample Code
'Bar series sample

    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Quoted")
        
    Series.Points.Add "Sam", 11
    Series.Points.Add "Jesse", 12
    Series.Points.Add "Dave", 4.5
    Series.Points.Add "Max", 6
    Series.Points.Add "Brian", 5
       
    Set Series = ChartControl.Content.Series.Add("Hourly")
    Series.Points.Add "Sam", 12
    Series.Points.Add "Jesse", 9.5
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 12
    Series.Points.Add "Brian", 11

    Set Series = ChartControl.Content.Series.Add("Unbillable")
    Series.Points.Add "Sam", 7
    Series.Points.Add "Jesse", 2
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 1
    Series.Points.Add "Brian", 4

    Set ChartControl.Content.Series(0).Style = New ChartBarSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartBarSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartBarSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
   
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
// Sample C# Code

Range Bar Chart

A Range Bar is used to display data\events that have a finite beginning and end value. The range bar can be displayed both overlapped or side-by-side so the different ranges of data can easily be compared to each other.

// Sample Code
'RangeBar sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If    
    
    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Odd Days")
        
    Series.Points.Add2 "Sam", 8, 14
    Series.Points.Add2 "Jesse", 9, 16
    Series.Points.Add2 "Dave", 7, 15
    Series.Points.Add2 "Max", 6, 15
    Series.Points.Add2 "Brian", 9, 17
       
    Set Series = ChartControl.Content.Series.Add("Even Days")
    Series.Points.Add2 "Sam", 12, 23
    Series.Points.Add2 "Jesse", 14, 18
    Series.Points.Add2 "Dave", 12, 20
    Series.Points.Add2 "Max", 12, 23
    Series.Points.Add2 "Brian", 19, 23
    
    Set ChartControl.Content.Series(0).Style = New ChartRangeBarSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartRangeBarSeriesStyle
    
    ChartControl.Content.Series(0).Style.Label.Visible = False
    ChartControl.Content.Series(1).Style.Label.Visible = False
    
    ChartControl.Content.Series(1).Style.BarWidth = 0.2
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
// Sample C# Code

Stacked Bar Chart

A stacked bar chart is similar to a standard bar chart except the bars for a given argument will be stacked on top of each other. You can stack the bars vertically or horizontally. This type of chart is used to compare the relationship of parts to the whole. Each bar is used to represent a total. For example, you could show the number of males\females that prefer each of the 4 major sports (football, basketball, hockey, baseball) in a stacked bar chart. There would be 4 stacked bars, each divided into 2 categories (male\female).

// Sample Code
    'This sample shows how to add a stacked bar


    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
               
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
        
    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Quoted")
        
    Series.Points.Add "Sam", 11
    Series.Points.Add "Jesse", 12
    Series.Points.Add "Dave", 4.5
    Series.Points.Add "Max", 6
    Series.Points.Add "Brian", 5
       
    Set Series = ChartControl.Content.Series.Add("Hourly")
    Series.Points.Add "Sam", 12
    Series.Points.Add "Jesse", 9.5
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 12
    Series.Points.Add "Brian", 11

    Set Series = ChartControl.Content.Series.Add("Unbillable")
    Series.Points.Add "Sam", 7
    Series.Points.Add "Jesse", 2
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 1
    Series.Points.Add "Brian", 4
            
    Set ChartControl.Content.Series(0).Style = New ChartStackedBarSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartStackedBarSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartStackedBarSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
// Sample C# Code

100% Stacked Bars Chart

A stacked bar chart is similar to a standard bar chart except the bars for a given argument will be stacked on top of each other. You can stack the bars vertically or horizontally. This type of chart is used to compare the relationship of parts to the whole. The StackHeight is used to make the bars 100%, but can be 80 for example. The chart will use the lowest value that a series has set and ignore all the larger values.

// Sample Code
    'This sample shows how to add a 100% stacked bar


    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
               
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
        
    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Quoted")
        
    Series.Points.Add "Sam", 11
    Series.Points.Add "Jesse", 12
    Series.Points.Add "Dave", 4.5
    Series.Points.Add "Max", 6
    Series.Points.Add "Brian", 5
       
    Set Series = ChartControl.Content.Series.Add("Hourly")
    Series.Points.Add "Sam", 12
    Series.Points.Add "Jesse", 9.5
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 12
    Series.Points.Add "Brian", 11

    Set Series = ChartControl.Content.Series.Add("Unbillable")
    Series.Points.Add "Sam", 7
    Series.Points.Add "Jesse", 2
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 1
    Series.Points.Add "Brian", 4
            
    Set ChartControl.Content.Series(0).Style = New ChartStackedBarSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartStackedBarSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartStackedBarSeriesStyle
    
    ChartControl.Content.Series(0).Style.StackHeight = 100
    ChartControl.Content.Series(1).Style.StackHeight = 100
    ChartControl.Content.Series(2).Style.StackHeight = 100
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
// Sample C# Code

Rotated Bars Chart

A bar chart can be rotated about its axis.

// Sample Code
'Bar series sample

    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Quoted")
        
    Series.Points.Add "Sam", 11
    Series.Points.Add "Jesse", 12
    Series.Points.Add "Dave", 4.5
    Series.Points.Add "Max", 6
    Series.Points.Add "Brian", 5
       
    Set Series = ChartControl.Content.Series.Add("Hourly")
    Series.Points.Add "Sam", 12
    Series.Points.Add "Jesse", 9.5
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 12
    Series.Points.Add "Brian", 11

    Set Series = ChartControl.Content.Series.Add("Unbillable")
    Series.Points.Add "Sam", 7
    Series.Points.Add "Jesse", 2
    Series.Points.Add "Dave", 5
    Series.Points.Add "Max", 1
    Series.Points.Add "Brian", 4

    Set ChartControl.Content.Series(0).Style = New ChartBarSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartBarSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartBarSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.Rotated = True
   
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
Diagram.AxisX.Label.Angle = 360
// Sample C# Code

Standard Point Chart

A point chart displays data in a grid using Cartesian coordinates. Data is displayed along the x and y axis, where x and y can represent any type of data. A point chart is also referred to as a plot or scatter chart.

// Sample Code
'Point series style

    ChartControl.Content.Titles(0).Text = "Point Chart"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Series 1")
    
    Series.ArgumentScaleType = xtpChartScaleNumerical
        
    Series.Points.Add 1, 67
    Series.Points.Add 14, 50
    Series.Points.Add 9, 74
    Series.Points.Add 38, 58
    Series.Points.Add 2, 64
    Series.Points.Add 25, 95
    Series.Points.Add 1, 77
    Series.Points.Add 1, 91
    Series.Points.Add 35, 92
    Series.Points.Add 27, 86
    Series.Points.Add 31, 54
    Series.Points.Add 22, 53
    Series.Points.Add 12, 82
    Series.Points.Add 21, 66
    Series.Points.Add 38, 95
    Series.Points.Add 7, 76
    Series.Points.Add 11, 88
    Series.Points.Add 29, 62
    Series.Points.Add 27, 99
    Series.Points.Add 35, 94
    
    Set Series = ChartControl.Content.Series.Add("Series 2")
    Series.Points.Add 63, 11
    Series.Points.Add 42, 33
    Series.Points.Add 73, 14
    Series.Points.Add 61, 11
    Series.Points.Add 53, 18
    Series.Points.Add 67, 44
    Series.Points.Add 62, 7
    Series.Points.Add 77, 9
    Series.Points.Add 43, 41
    Series.Points.Add 49, 28
    Series.Points.Add 76, 35
    Series.Points.Add 70, 42
    Series.Points.Add 48, 6
    Series.Points.Add 40, 42
    Series.Points.Add 64, 48
    Series.Points.Add 46, 5
    Series.Points.Add 50, 29
    Series.Points.Add 50, 0
    Series.Points.Add 46, 1
    Series.Points.Add 73, 48

    Set ChartControl.Content.Series(0).Style = New ChartPointSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartPointSeriesStyle
              
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    
    Diagram.AxisY.Visible = True
    Diagram.AxisY.Alignment = xtpChartAxisNear
    Diagram.AxisY.Interlaced = True
    Diagram.AxisY.MinorCount = 1
    Diagram.AxisY.Thickness = 1
    Diagram.AxisX.Thickness = 1
    
    Diagram.AxisX.Label.Visible = True
    'Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Axis Title"
    
    Diagram.AxisY.Label.Angle = -45
    Diagram.AxisY.Label.Antialiasing = True
    
    Diagram.AxisX.TickMarks.CrossAxis = True
    Diagram.AxisX.TickMarks.Length = 5
    Diagram.AxisX.TickMarks.Thickness = 1
    Diagram.AxisX.TickMarks.MinorLength = 1
    Diagram.AxisX.TickMarks.MinorThickness = 1
    Diagram.AxisX.TickMarks.MinorVisible = True
    Diagram.AxisX.TickMarks.Visible = True
    
    Diagram.AxisX.GridLines.Visible = True
    Diagram.AxisX.GridLines.MinorVisible = True
    Diagram.AxisX.Interlaced = False
    
    Diagram.AxisY.GridLines.Visible = True
    Diagram.AxisY.GridLines.MinorVisible = True
                 
    Diagram.AxisX.GridLines.LineStyle.DashStyle = xtpChartDashStyleSolid
    Diagram.AxisX.GridLines.MinorLineStyle.DashStyle = xtpChartDashStyleSolid
// Sample C# Code

Bubble Chart

A bubble chart is just a variation of a point chart, only it displays bubbles of the data points. Data in displayed in a grid using Cartesian coordinates. Data is displayed along the x and y axis, where x and y can represent any type of data (as in the chart below, x - decades, y - population).

// Sample Code
'Bubble series sample

    ChartControl.Content.Titles.Add "Top 10 States by Population"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
   
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Top 10 States by Population")
    
    CreateBubblePoint Series.Points, "California", 8, 37, 11.95
    CreateBubblePoint Series.Points, "Texas", 7, 25, 7.81
    CreateBubblePoint Series.Points, "New York", 6, 20, 6.31
    CreateBubblePoint Series.Points, "Florida", 5, 18, 5.97
    CreateBubblePoint Series.Points, "Illinois", 9, 13, 4.2
    CreateBubblePoint Series.Points, "Pennsylvania", 10, 12, 4.06
    CreateBubblePoint Series.Points, "Ohio", 4, 11, 3.75
    CreateBubblePoint Series.Points, "Michigan", 3, 10, 3.29
    CreateBubblePoint Series.Points, "Georgia", 2, 9, 3.12
    CreateBubblePoint Series.Points, "North Carolina", 1, 9, 3
                            
    Series.ArgumentScaleType = xtpChartScaleQualitative

    Dim BubbleSeriesStyle As New ChartBubbleSeriesStyle
    BubbleSeriesStyle.MinSize = 1.5
    BubbleSeriesStyle.MaxSize = 3.5
    
    Set ChartControl.Content.Series(0).Style = BubbleSeriesStyle
    'BubbleSeriesStyle.Label.Format = "%g$"
    BubbleSeriesStyle.Label.Format = "%g %%"
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title.Text = "Population in Millions"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Range.AutoRange = False
    Diagram.AxisY.Range.MaxValue = 50
    Diagram.AxisY.Range.MinValue = 0
    Diagram.AxisX.Title.Visible = False
    Diagram.AxisX.Visible = True
    Diagram.AxisX.Reversed = True
    Diagram.AxisX.TickMarks.Visible = False
    Diagram.AxisX.Label.Visible = False
    'Diagram.AxisY.Range.ShowZeroLevel = False
    
    txtMinBubbleSize.Text = BubbleSeriesStyle.MinSize
    txtMaxBubbleSize.Text = BubbleSeriesStyle.MaxSize

Sub CreateBubblePoint(ByVal pPointCollection As ChartSeriesPointCollection, lpszLegendText As String, nYear As Integer, nValue As Integer, dWidth As Double)
    Dim pPoint As ChartSeriesPoint
    Set pPoint = pPointCollection.Add2(nYear, nValue, dWidth)
    pPoint.LegendText = lpszLegendText
End Sub
// Sample C# Code

Line Chart

A line chart is is used to show a series of data points connected by straight line segments. Charts of this type are generally used to illustrate trends in data over a period of time.

// Sample Code
'Line series style

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("New York")

    Series.Points.Add 1900, 7268
    Series.Points.Add 1950, 14830
    Series.Points.Add 1990, 17990
    Series.Points.Add 2000, 18976
    Series.Points.Add 2008, 20323
    
    Set Series = ChartControl.Content.Series.Add("California")

    Series.Points.Add 1900, 1485
    Series.Points.Add 1950, 10586
    Series.Points.Add 1990, 29760
    Series.Points.Add 2000, 33871
    Series.Points.Add 2008, 36756
    
    Set Series = ChartControl.Content.Series.Add("Florida")

    Series.Points.Add 1900, 528
    Series.Points.Add 1950, 2771
    Series.Points.Add 1990, 12937
    Series.Points.Add 2000, 15982
    Series.Points.Add 2008, 18328
        
    Set Series = ChartControl.Content.Series.Add("Texas")

    Series.Points.Add 1900, 3048
    Series.Points.Add 1950, 7711
    Series.Points.Add 1990, 14986
    Series.Points.Add 2000, 20851
    Series.Points.Add 2008, 24326

    ChartControl.Content.Titles.Add "Population by U.S. State"
    ChartControl.Content.Legend.Visible = True
    
    Dim xLineStyle As ChartLineSeriesStyle
    Dim nThickness As Integer
    
    'nThickness = 10
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleSolid
    'xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(3).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleSolid
    'xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(2).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleSolid
    'xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(1).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleSolid
    'xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(0).Style = xLineStyle

    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Population Growth (Millions)"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Decade / Year"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

Scatter Line Chart

A Scatter chart is similar to a line chart, only the scatter chart will plot the data values in the exact order that they are entered and connect the plots with a line (unlike the line chart which will order the data based on the x and y axis). Scatter charts can be used for scientific data or can be used as a trend chart.

// Sample Code
'Scatterline Sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("Series")

    Dim cnt As Long, i As Long
    cnt = 60
    Dim PI As Double
    PI = 4 * Atn(1)
    
    For i = 0 To cnt
        Series.Points.Add Cos(2 * PI / cnt * i) * 10, Sin(2 * PI / cnt * i) * 10
    Next i
        
    Set Series.Style = New ChartScatterLineSeriesStyle
    Series.ArgumentScaleType = xtpChartScaleNumerical
       
    ChartControl.Content.Legend.Visible = False
// Sample C# Code

Fast Line Chart

Fast line is a variation of the normal line style that considerably improves performance by reducing the time it takes to draw the line. The increased speed comes at the cost of not displaying the plot points in the line and you can't display labels (among other things done behind the scenes). With fast line you can also turn off antialiasing. Common uses for a fast line might be a systems performance monitor that shows a chart in real time. Or possibly a chart that displays thousands of data points in a single view (might show a trend over 10,000 years in a single view).

// Sample Code
Private Sub UserControl_Initialize()
    
    cmblInterval.AddItem "100"
    cmblInterval.AddItem "300"
    cmblInterval.AddItem "500"
    cmblInterval.AddItem "1000"
    cmblInterval.ListIndex = 0

    cmbSeriesCount.AddItem "1"
    cmbSeriesCount.AddItem "2"
    cmbSeriesCount.AddItem "3"
    cmbSeriesCount.AddItem "4"
    cmbSeriesCount.AddItem "5"
    cmbSeriesCount.ListIndex = 0
    
    ChartControl.Content.Legend.Visible = False
    
    Dim Title As ChartTitle
    Set Title = ChartControl.Content.Titles.Add("Use mouse wheel to zoom chart")
    Title.Docking = xtpChartDockBottom
    Title.Alignment = xtpChartAlignFar
    
    Title.Font.StdFont.Size = 9
    Title.TextColor = vbGrayText

    CreateChart
    
End Sub

Private Sub CreateChart()
    
    ChartControl.Content.Series.DeleteAll
    
   
    Dim Series As ChartSeries
    
    Dim SeriesCount As Long
    SeriesCount = cmbSeriesCount.List(cmbSeriesCount.ListIndex)
            
    Dim i As Long
    For i = 1 To SeriesCount
        Set Series = ChartControl.Content.Series.Add("Series")
        
        Dim Style As New ChartFastLineSeriesStyle
        Set Series.Style = Style
        
        Series.ArgumentScaleType = xtpChartScaleNumerical
        
    Next i
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AllowZoom = True
    Diagram.AxisY.Range.MaxValue = 100.1
    Diagram.AxisY.Range.AutoRange = False
    Diagram.AxisY.AllowZoom = False
    
    Diagram.AxisX.Range.MaxValue = 100.1
    Diagram.AxisX.Range.AutoRange = False
    Diagram.AxisX.Range.ZoomLimit = 10
    
    Diagram.AxisX.Interlaced = False
    Diagram.AxisY.Interlaced = chkInterlaced
    
    chkAntialiased_Click
End Sub

Private Sub cmdAddPoints_Click()
    Dim i As Long
    For i = 1 To 1000
        AddPoint
    Next i

End Sub

Private Sub cmblInterval_Click()
    Timer.Interval = cmblInterval.List(cmblInterval.ListIndex)
End Sub

Private Sub cmbSeriesCount_Click()
    CreateChart
End Sub


Private Sub chkAntialiased_Click()
    Dim Series As ChartSeries
    For Each Series In ChartControl.Content.Series
        Series.Style.Antialiasing = chkAntialiased
    Next
End Sub

Private Sub chkInterlaced_Click()
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    Diagram.AxisY.Interlaced = chkInterlaced

End Sub

Private Sub AddPoint()
    Dim Series As ChartSeries
    Dim Value As Long, Count As Long
    
    For Each Series In ChartControl.Content.Series
        Value = 50
        
        Count = Series.Points.Count
        If (Count > 0) Then Value = Series.Points(Count - 1).Value(0)
        Value = Value + (Rnd() * 20) - 10
        If (Value < 0) Then Value = 0
        If (Value > 100) Then Value = 100
        
        Series.Points.Add Count, Value
    Next
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    If (Count > 100) Then
        Dim AutoScroll As Boolean
        AutoScroll = IIf(Diagram.AxisX.Range.ViewMaxValue = Diagram.AxisX.Range.MaxValue, True, False)
        
        Diagram.AxisX.Range.MaxValue = Count
        
        If (AutoScroll) Then
        
            Dim delta As Double
            delta = Diagram.AxisX.Range.ViewMaxValue - Diagram.AxisX.Range.ViewMinValue

            Diagram.AxisX.Range.ViewAutoRange = False
            Diagram.AxisX.Range.ViewMaxValue = Count
            Diagram.AxisX.Range.ViewMinValue = Count - delta
        End If
        
    
    End If
 
    
End Sub

Private Sub Timer_Timer()
    AddPoint
End Sub

Private Sub UserControl_Resize()
On Error Resume Next
            
    lblTitle.Width = ScaleWidth - 2 * gbOptions.Left
    gbOptions.Width = ScaleWidth - 2 * gbOptions.Left
    ChartControl.Move ChartControl.Left, ChartControl.Top, ScaleWidth - 2 * ChartControl.Left, ScaleHeight - ChartControl.Top - 8
End Sub
// Sample C# Code

Step Line Chart

The Step Line chart is another form of a Line chart. Unlike the traditional Line chart, Step Line charts only use vertical and horizontal lines to connect the data points forming what looks like steps.

// Sample Code
'StepLine Sample

    ChartControl.Content.Legend.Visible = True
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Legend.Visible = True
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("U.S. Fuel Oil Prices")
    
    Series.Points.Add "January, 2005", 138.7
    Series.Points.Add "February, 2005", 141.4
    Series.Points.Add "March, 2005", 159.5
    Series.Points.Add "April, 2005", 160.7
    Series.Points.Add "May, 2005", 148.8
    Series.Points.Add "June, 2005", 166.6
       
    ChartControl.Content.Titles.Add "U.S. Fuel Oil Prices"
    ChartControl.Content.Legend.Visible = True
    
    Dim Style As New ChartStepLineSeriesStyle
    Set ChartControl.Content.Series(0).Style = Style
    
    Style.ColorEach = True
    Style.Marker.Type = xtpChartMarkerSquare
    Style.Marker.Size = 16
    Style.Label.LineLength = 20
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Cents per Gallon"
    Diagram.AxisY.Title.Visible = True
    
    Diagram.AxisY.Interlaced = True
    Diagram.AxisX.Interlaced = False
    Diagram.AxisY.Range.ShowZeroLevel = False
    
    Diagram.AxisX.Label.Angle = 360 - 30
    Diagram.AxisX.Label.Antialiasing = True
// Sample C# Code

Spline Chart

A spline chart is used to show information as a series of data points connected by smooth flowing "spline" segments. The spline will draw a smooth flowing line through all data points in the data set. Charts of this type are generally used to illustrate trends in data over a period of time.

// Sample Code
'Spline Area Sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("New York")

    Series.Points.Add 1900, 7268
    Series.Points.Add 1950, 14830
    Series.Points.Add 1990, 17990
    Series.Points.Add 2000, 18976
    Series.Points.Add 2008, 20323
    
    Set Series = ChartControl.Content.Series.Add("California")

    Series.Points.Add 1900, 1485
    Series.Points.Add 1950, 10586
    Series.Points.Add 1990, 29760
    Series.Points.Add 2000, 33871
    Series.Points.Add 2008, 36756
    
    Set Series = ChartControl.Content.Series.Add("Florida")

    Series.Points.Add 1900, 528
    Series.Points.Add 1950, 2771
    Series.Points.Add 1990, 12937
    Series.Points.Add 2000, 15982
    Series.Points.Add 2008, 18328
        
    Set Series = ChartControl.Content.Series.Add("Texas")

    Series.Points.Add 1900, 3048
    Series.Points.Add 1950, 7711
    Series.Points.Add 1990, 14986
    Series.Points.Add 2000, 20851
    Series.Points.Add 2008, 24326


    ChartControl.Content.Titles.Add "Population by U.S. State"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartSplineSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartSplineSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartSplineSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartSplineSeriesStyle
        
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Population Growth (Millions)"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Decade / Year"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

2D Pie Chart

A pie chart displays a series of data as "slices" of a "pie". The data in the pie chart will be divided up into slices, each represents a percentage of the pie. The size of the slice will be proportional to the data it represents and each slice will be combined to represent some whole value.

// Sample Code
'Pie 2D series sample

    ChartControl.Content.Titles.Add "Population of Texas"
    ChartControl.Content.Legend.Visible = True
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Texas")
    
    CreatePiePoint Series.Points, "1900", "3.048", 3048
    CreatePiePoint Series.Points, "1950", "7.711", 7711
    CreatePiePoint Series.Points, "1990", "16.986", 16986
    CreatePiePoint Series.Points, "2000", "20.851", 20851
    CreatePiePoint Series.Points, "2008", "24.326", 24326
    
    Series.Points(3).Special = True

    Dim Style As ChartPieSeriesStyle
    Set Style = New ChartPieSeriesStyle
    Set ChartControl.Content.Series(0).Style = Style
    Style.Label.Format = "%.3f M"
               
    Style.Rotation = 30
    Style.Label.Visible = True    
    cmbPieLabelPosition.ListIndex = Style.Label.Position
    Style.Label.Antialiasing = False

 

Sub CreatePiePoint(ByVal pPointCollection As ChartSeriesPointCollection, lpszLegendText As String, vArg As Variant, nValue As Integer)
    Dim pPoint As ChartSeriesPoint
    Set pPoint = pPointCollection.Add(vArg, nValue)
    pPoint.LegendText = lpszLegendText
End Sub
// Sample C# Code

Doughnut Chart

A Doughnut chart functions exactly the same as a pie chart, only there is a blank hole in the middle of the pie.

// Sample Code
'Pie 2D Doughnut series sample

    ChartControl.Content.Titles.Add "Population of Texas"
    ChartControl.Content.Legend.Visible = True
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Texas")
    
    CreatePiePoint Series.Points, "1900", "3.048", 3048
    CreatePiePoint Series.Points, "1950", "7.711", 7711
    CreatePiePoint Series.Points, "1990", "16.986", 16986
    CreatePiePoint Series.Points, "2000", "20.851", 20851
    CreatePiePoint Series.Points, "2008", "24.326", 24326
    
    Series.Points(3).Special = True

    Dim Style As ChartPieSeriesStyle
    Set Style = New ChartPieSeriesStyle
    Set ChartControl.Content.Series(0).Style = Style
    Style.Label.Format = "%.3f M"
               
    Style.HolePercent = 40
    Style.Rotation = 30
    Style.Label.Visible = True
    
    cmbPieLabelPosition.ListIndex = Style.Label.Position
    Style.Label.Antialiasing = False

 

Sub CreatePiePoint(ByVal pPointCollection As ChartSeriesPointCollection, lpszLegendText As String, vArg As Variant, nValue As Integer)
    Dim pPoint As ChartSeriesPoint
    Set pPoint = pPointCollection.Add(vArg, nValue)
    pPoint.LegendText = lpszLegendText
End Sub
// Sample C# Code

Radar Point

Radar charts are basically another form of a line chart, only it is represented as a radar. Data is drawn as a line around the center of the radar. Radar charts use "poles" to display data. Each data point gets displayed on one of these poles radiating from the center.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    ChartControl.Content.Titles.Add "Radar Point Chart"
       
    Dim Style As ChartRadarPointSeriesStyle
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Series 1")
    
    Series.ArgumentScaleType = xtpChartScaleNumerical
        
    Series.Points.Add 1, 67
    Series.Points.Add 14, 50
    Series.Points.Add 9, 74
    Series.Points.Add 38, 58
    Series.Points.Add 2, 64
    Series.Points.Add 25, 95
    Series.Points.Add 1, 77
    Series.Points.Add 1, 91
    Series.Points.Add 35, 92
    Series.Points.Add 27, 86
    Series.Points.Add 31, 54
    Series.Points.Add 22, 53
    Series.Points.Add 12, 82
    Series.Points.Add 21, 66
    Series.Points.Add 38, 95
    Series.Points.Add 7, 76
    Series.Points.Add 11, 88
    Series.Points.Add 29, 62
    Series.Points.Add 27, 99
    Series.Points.Add 35, 94
    
    Set Style = New ChartRadarPointSeriesStyle
    Set Series.Style = Style
    
    Set Series = ChartControl.Content.Series.Add("Series 2")
    Series.Points.Add 63, 11
    Series.Points.Add 42, 33
    Series.Points.Add 73, 14
    Series.Points.Add 61, 11
    Series.Points.Add 53, 18
    Series.Points.Add 67, 44
    Series.Points.Add 62, 7
    Series.Points.Add 77, 9
    Series.Points.Add 43, 41
    Series.Points.Add 49, 28
    Series.Points.Add 76, 35
    Series.Points.Add 70, 42
    Series.Points.Add 48, 6
    Series.Points.Add 40, 42
    Series.Points.Add 64, 48
    Series.Points.Add 46, 5
    Series.Points.Add 50, 29
    Series.Points.Add 50, 0
    Series.Points.Add 46, 1
    Series.Points.Add 73, 48
    
    Set Style = New ChartRadarPointSeriesStyle
    Set Series.Style = Style
    
    Dim Diagram As ChartRadarDiagram
    Set Diagram = ChartControl.Content.Diagrams(0)
    Diagram.AxisX.TickMarks.Visible = False
// Sample C# Code

Radar Line

Radar charts are basically another form of a line chart, only it is represented as a radar. Data is drawn as a line around the center of the radar. Radar charts use "poles" to display data. Each data point gets displayed on one of these poles radiating from the center.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    
    ChartControl.Content.Titles.Add "Vehicle Sales by Color"
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("North America")
    
    Series.Points.Add "Silver", 0.18
    Series.Points.Add "White", 0.17
    Series.Points.Add "Gray", 0.15
    Series.Points.Add "Blue", 0.12
    Series.Points.Add "Black", 0.11
    Series.Points.Add "Red", 0.11
    Series.Points.Add "Silver", 0.18
    
    Dim Style As ChartRadarLineSeriesStyle
    Set Style = New ChartRadarLineSeriesStyle
    
    Set Series.Style = Style
    Style.Label.Visible = False
    Style.Marker.Visible = False
    
    Set Series = ChartControl.Content.Series.Add("Europe")
    
    Series.Points.Add "Silver", 0.29
    Series.Points.Add "White", 0.06
    Series.Points.Add "Gray", 0.16
    Series.Points.Add "Blue", 0.15
    Series.Points.Add "Black", 0.21
    Series.Points.Add "Red", 0.05
    Series.Points.Add "Silver", 0.29
    
    Set Series.Style = Style
       
    Dim Diagram As ChartRadarDiagram
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AxisY.Range.MaxValue = 0.35
    Diagram.AxisY.Range.MinValue = 0
    Diagram.AxisY.Range.AutoRange = False
    Diagram.AxisY.Label.Format.Category = xtpChartPercentage
    Diagram.AxisY.Label.Format.DecimalPlaces = 0
    
    Diagram.AxisX.Interlaced = False
    Diagram.AxisY.Interlaced = False
        
    Diagram.Style = xtpChartRadarDiagramPolygon
    
    Diagram.AxisX.Thickness = 0
    Diagram.AxisX.GridLines.Visible = True
    Diagram.AxisX.GridLines.MinorVisible = False
    Diagram.AxisX.Interlaced = False
    Diagram.AxisX.TickMarks.Visible = False
      
    Diagram.AxisY.GridLines.Visible = False
    Diagram.BorderColor = &HFFFFFF
    Diagram.BackgroundColor = &HFFFFFF
    Diagram.BackgroundColor2 = &HFFFFFF
    
    Dim Line As ChartAxisConstantLine
    Set Line = Diagram.AxisX.ConstantLines.Add("Perl")
    Line.AxisValue = 0.25
           
    Dim Strip As ChartAxisStrip
    Set Strip = Diagram.AxisY.Strips.Add("Common Color")
    Strip.AxisMinValue = 0.1
    Strip.AxisMaxValue = 0.2
// Sample C# Code

Radar Area

Radar charts are basically another form of a line chart, only it is represented as a radar. Data is drawn as a line around the center of the radar. Radar charts use "poles" to display data. Each data point gets displayed on one of these poles radiating from the center.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    
    ChartControl.Content.Titles.Add "Average Temperature in Boston, MA"
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Day")
    
    Series.Points.Add "January", 36
    Series.Points.Add "February", 39
    Series.Points.Add "March", 46
    Series.Points.Add "April", 56
    Series.Points.Add "May", 67
    Series.Points.Add "June", 77
    Series.Points.Add "July", 82
    Series.Points.Add "August", 80
    Series.Points.Add "September", 73
    Series.Points.Add "October", 62
    Series.Points.Add "November", 52
    Series.Points.Add "December", 42
        
    Dim Style As New ChartRadarSplineAreaSeriesStyle
    Set Series.Style = Style
    
    Set Series = ChartControl.Content.Series.Add("Night")
    
    Series.Points.Add "January", 22
    Series.Points.Add "February", 24
    Series.Points.Add "March", 31
    Series.Points.Add "April", 41
    Series.Points.Add "May", 50
    Series.Points.Add "June", 59
    Series.Points.Add "July", 65
    Series.Points.Add "August", 64
    Series.Points.Add "September", 57
    Series.Points.Add "October", 46
    Series.Points.Add "November", 38
    Series.Points.Add "December", 28
        
    Set Series.Style = Style
       
    Dim Diagram As ChartRadarDiagram
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AxisX.TickMarks.MinorVisible = False
    Diagram.AxisY.TickMarks.MinorVisible = False
    
    Diagram.AxisX.Interlaced = False
    Diagram.AxisY.Interlaced = True
// Sample C# Code

Polar Chart

Polar charts use polar coordinates to plot data. The X-Axis is a circle and the values are normally fixed in degrees (0-360) or radians typical polar charts, but the chart will allow you to set any range desired. Data is plotted in terms of values and angles, where "x" is the angle/rotation and "y" is distance from the center of the circle.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    
    ChartControl.Content.Titles.Add "Polar Chart"
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Predicted")
    
    Series.ArgumentScaleType = xtpChartScaleNumerical
    
    Series.Points.Add 0, 5
    Series.Points.Add 30, 1.5
    Series.Points.Add 60, 5
    Series.Points.Add 90, 4
    Series.Points.Add 120, 2
    Series.Points.Add 150, 10
    Series.Points.Add 180, 9.2
    Series.Points.Add 210, 2
    Series.Points.Add 240, 3.7
    Series.Points.Add 270, 8.5
    Series.Points.Add 300, 5
    Series.Points.Add 330, 6
    
    
    Dim Style As New ChartRadarSplineAreaSeriesStyle
    Set Series.Style = Style
    
    Style.Marker.Visible = False
    
    Set Series = ChartControl.Content.Series.Add("Measured")
    Series.ArgumentScaleType = xtpChartScaleNumerical
    
    Series.Points.Add 0, 8
    Series.Points.Add 20, 3
    Series.Points.Add 30, 5
    Series.Points.Add 50, 4.8
    Series.Points.Add 60, 6.5
    Series.Points.Add 70, 8
    Series.Points.Add 80, 8.6
    Series.Points.Add 90, 9
    Series.Points.Add 105, 7.5
    Series.Points.Add 120, 9
    Series.Points.Add 150, 5.5
    Series.Points.Add 170, 7
    Series.Points.Add 180, 3
    Series.Points.Add 195, 9
    Series.Points.Add 210, 7
    Series.Points.Add 220, 9
    Series.Points.Add 230, 9
    Series.Points.Add 240, 8
    Series.Points.Add 260, 2.3
    Series.Points.Add 270, 5
    Series.Points.Add 285, 4
    Series.Points.Add 300, 1.5
    Series.Points.Add 315, 8
    Series.Points.Add 330, 8.2
    Series.Points.Add 345, 9
    Series.Points.Add 0, 8
    
    Dim Style2 As New ChartRadarSplineSeriesStyle
    Set Series.Style = Style2
    
    Style2.Marker.Visible = False
       
    Dim Diagram As ChartRadarDiagram
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AxisX.Range.MinValue = 0
    Diagram.AxisX.Range.MaxValue = 360 - 30
    Diagram.AxisX.Range.AutoRange = False
    Diagram.AxisX.GridSpacing = 30
    Diagram.AxisX.GridSpacingAuto = False
    
    Diagram.AxisX.TickMarks.Visible = False
    Diagram.AxisX.Range.SideMargins = False
    
    Diagram.AxisY.Range.MinValue = 0
    Diagram.AxisY.Range.MaxValue = 10
    Diagram.AxisY.TickMarks.Visible = False
// Sample C# Code

Standard Area Chart

An area chart is very similar to a line chart. Data is displayed using different colors in the "area" below the line. Each series of points is represented with a different color. Area charts are commonly used to display accumulated values over a period of time.

// Sample Code
'Area series style chart

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("New York")

    Series.Points.Add 1900, 7268
    Series.Points.Add 1950, 14830
    Series.Points.Add 1990, 17990
    Series.Points.Add 2000, 18976
    Series.Points.Add 2008, 20323
    
    Set Series = ChartControl.Content.Series.Add("California")

    Series.Points.Add 1900, 1485
    Series.Points.Add 1950, 10586
    Series.Points.Add 1990, 29760
    Series.Points.Add 2000, 33871
    Series.Points.Add 2008, 36756
    
    Set Series = ChartControl.Content.Series.Add("Florida")

    Series.Points.Add 1900, 528
    Series.Points.Add 1950, 2771
    Series.Points.Add 1990, 12937
    Series.Points.Add 2000, 15982
    Series.Points.Add 2008, 18328
        
    Set Series = ChartControl.Content.Series.Add("Texas")

    Series.Points.Add 1900, 3048
    Series.Points.Add 1950, 7711
    Series.Points.Add 1990, 14986
    Series.Points.Add 2000, 20851
    Series.Points.Add 2008, 24326

 

    ChartControl.Content.Titles.Add "Population by U.S. State"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartAreaSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartAreaSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartAreaSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartAreaSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Population Growth (Millions)"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Decade / Year"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

Spline Area Chart

A Spline Area chart is very similar to a spline chart. Data is displayed using different colors in the "area" below the line. Each series of points is represented with a different color. Area charts are commonly used to display accumulated values over a period of time.

// Sample Code
'Spline Area Sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("New York")

    Series.Points.Add 1900, 7268
    Series.Points.Add 1950, 14830
    Series.Points.Add 1990, 17990
    Series.Points.Add 2000, 18976
    Series.Points.Add 2008, 20323
    
    Set Series = ChartControl.Content.Series.Add("California")

    Series.Points.Add 1900, 1485
    Series.Points.Add 1950, 10586
    Series.Points.Add 1990, 29760
    Series.Points.Add 2000, 33871
    Series.Points.Add 2008, 36756
    
    Set Series = ChartControl.Content.Series.Add("Florida")

    Series.Points.Add 1900, 528
    Series.Points.Add 1950, 2771
    Series.Points.Add 1990, 12937
    Series.Points.Add 2000, 15982
    Series.Points.Add 2008, 18328
        
    Set Series = ChartControl.Content.Series.Add("Texas")

    Series.Points.Add 1900, 3048
    Series.Points.Add 1950, 7711
    Series.Points.Add 1990, 14986
    Series.Points.Add 2000, 20851
    Series.Points.Add 2008, 24326


    ChartControl.Content.Titles.Add "Population by U.S. State"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartSplineAreaSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartSplineAreaSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartSplineAreaSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartSplineAreaSeriesStyle
        
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Population Growth (Millions)"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Decade / Year"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

Stacked Area Chart

A Stacked Area chart is very similar to an area chart. Data is displayed using different colors in the "area" below the line. Each series of points is represented with a different color. Area charts are commonly used to display accumulated values over a period of time.

// Sample Code
    'This sample shows how to add a stacked area chart

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("North America")

    Series.Points.Add "Silver", 18
    Series.Points.Add "White", 17
    Series.Points.Add "Gray", 15
    Series.Points.Add "Blue", 12
    Series.Points.Add "Black", 11
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 9
    Series.Points.Add "Other", 7
    
    Set Series = ChartControl.Content.Series.Add("Europe")

    Series.Points.Add "Silver", 29
    Series.Points.Add "White", 6
    Series.Points.Add "Gray", 16
    Series.Points.Add "Blue", 15
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 5
    Series.Points.Add "Brown", 3
    Series.Points.Add "Other", 5
    
    Set Series = ChartControl.Content.Series.Add("Asia")

    Series.Points.Add "Silver", 30
    Series.Points.Add "White", 24
    Series.Points.Add "Gray", 12
    Series.Points.Add "Blue", 9
    Series.Points.Add "Black", 13
    Series.Points.Add "Red", 4
    Series.Points.Add "Brown", 1
    Series.Points.Add "Other", 7
        
    Set Series = ChartControl.Content.Series.Add("South America")

    Series.Points.Add "Silver", 25
    Series.Points.Add "White", 13
    Series.Points.Add "Gray", 13
    Series.Points.Add "Blue", 8
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 5
    Series.Points.Add "Other", 4
    
    ChartControl.Content.Titles.Add "Worlds Most Popular Vehicle Colors"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(3).Style.Label.Format = "%g !UNRECOGNISED ELEMENT TYPE '"
    Set ChartControl.Content.Series(2).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(2).Style.Label.Format = "%g '!"
    Set ChartControl.Content.Series(1).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(1).Style.Label.Format = "%g !UNRECOGNISED ELEMENT TYPE '"
    Set ChartControl.Content.Series(0).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(0).Style.Label.Format = "%g '!"
        
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "% of Color Sold"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Vehicle Color"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

100% Stacked Area Chart

A 100% Stacked Area chart is very similar to an area chart, only the data is stacked on top of each other and the data values for each item will total 100%. Data is displayed using different colors in the "area" below the line. Each series of points is represented with a different color. Area charts are commonly used to display accumulated values over a period of time.

// Sample Code
    'This sample shows how to add a 100% stacked area

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("North America")

    Series.Points.Add "Silver", 18
    Series.Points.Add "White", 17
    Series.Points.Add "Gray", 15
    Series.Points.Add "Blue", 12
    Series.Points.Add "Black", 11
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 9
    Series.Points.Add "Other", 7
    
    Set Series = ChartControl.Content.Series.Add("Europe")

    Series.Points.Add "Silver", 29
    Series.Points.Add "White", 6
    Series.Points.Add "Gray", 16
    Series.Points.Add "Blue", 15
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 5
    Series.Points.Add "Brown", 3
    Series.Points.Add "Other", 5
    
    Set Series = ChartControl.Content.Series.Add("Asia")

    Series.Points.Add "Silver", 30
    Series.Points.Add "White", 24
    Series.Points.Add "Gray", 12
    Series.Points.Add "Blue", 9
    Series.Points.Add "Black", 13
    Series.Points.Add "Red", 4
    Series.Points.Add "Brown", 1
    Series.Points.Add "Other", 7
        
    Set Series = ChartControl.Content.Series.Add("South America")

    Series.Points.Add "Silver", 25
    Series.Points.Add "White", 13
    Series.Points.Add "Gray", 13
    Series.Points.Add "Blue", 8
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 5
    Series.Points.Add "Other", 4
    
    ChartControl.Content.Titles.Add "Worlds Most Popular Vehicle Colors"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(3).Style.Label.Format = "%g !UNRECOGNISED ELEMENT TYPE '"
    Set ChartControl.Content.Series(2).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(2).Style.Label.Format = "%g '!"
    Set ChartControl.Content.Series(1).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(1).Style.Label.Format = "%g !UNRECOGNISED ELEMENT TYPE '"
    Set ChartControl.Content.Series(0).Style = New ChartStackedAreaSeriesStyle
    ChartControl.Content.Series(0).Style.Label.Format = "%g '!"
    
    ChartControl.Content.Series(0).Style.StackHeight = 100
    ChartControl.Content.Series(0).Style.Transparency = 100
    ChartControl.Content.Series(1).Style.StackHeight = 100
    ChartControl.Content.Series(2).Style.StackHeight = 100
    ChartControl.Content.Series(3).Style.StackHeight = 100
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "% of Color Sold"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Vehicle Color"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

Stacked Spline Area Chart

A Stacked Spline Area chart is very similar to a spline chart. Data is displayed using different colors in the "area" below the line. Each series of points is represented with a different color. The lines in the spline chart are much more smooth flowing than an area chart. Area charts are commonly used to display accumulated values over a period of time.

// Sample Code
'Stacked Spline Sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendNearOutside
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("North America")

    Series.Points.Add "Silver", 18
    Series.Points.Add "White", 17
    Series.Points.Add "Gray", 15
    Series.Points.Add "Blue", 12
    Series.Points.Add "Black", 11
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 9
    Series.Points.Add "Other", 7
    
    Set Series = ChartControl.Content.Series.Add("Europe")

    Series.Points.Add "Silver", 29
    Series.Points.Add "White", 6
    Series.Points.Add "Gray", 16
    Series.Points.Add "Blue", 15
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 5
    Series.Points.Add "Brown", 3
    Series.Points.Add "Other", 5
    
    Set Series = ChartControl.Content.Series.Add("Asia")

    Series.Points.Add "Silver", 30
    Series.Points.Add "White", 24
    Series.Points.Add "Gray", 12
    Series.Points.Add "Blue", 9
    Series.Points.Add "Black", 13
    Series.Points.Add "Red", 4
    Series.Points.Add "Brown", 1
    Series.Points.Add "Other", 7
        
    Set Series = ChartControl.Content.Series.Add("South America")

    Series.Points.Add "Silver", 25
    Series.Points.Add "White", 13
    Series.Points.Add "Gray", 13
    Series.Points.Add "Blue", 8
    Series.Points.Add "Black", 21
    Series.Points.Add "Red", 11
    Series.Points.Add "Brown", 5
    Series.Points.Add "Other", 4
    
    ChartControl.Content.Titles.Add "Worlds Most Popular Vehicle Colors"
    ChartControl.Content.Legend.Visible = True
    
    Set ChartControl.Content.Series(3).Style = New ChartStackedSplineAreaSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartStackedSplineAreaSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartStackedSplineAreaSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartStackedSplineAreaSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "% of Color Sold"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Vehicle Color"
    Diagram.AxisX.Title.Visible = True
// Sample C# Code

Range Area

The Range Area chart is similar to the other Area charts except you must provide a minimum and maximum value (two y values). This can also be thought of as the start and end of a given point. This chart is useful where a range of values needs to be shown for a given point, for example, showing range of temperature for the days of a month.

// Sample Code
'Range area chart sample

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    ChartControl.Content.Titles.Add "Total Hours Worked"
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFarOutside
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Odd Days")
        
    Series.Points.Add2 "Sam", 8, 14
    Series.Points.Add2 "Jesse", 9, 16
    Series.Points.Add2 "Dave", 7, 15
    Series.Points.Add2 "Max", 6, 15
    Series.Points.Add2 "Brian", 9, 17
       
    Set Series = ChartControl.Content.Series.Add("Even Days")
    Series.Points.Add2 "Sam", 16, 23
    Series.Points.Add2 "Jesse", 19, 21
    Series.Points.Add2 "Dave", 12, 20
    Series.Points.Add2 "Max", 17, 23
    Series.Points.Add2 "Brian", 19, 23    
    Set ChartControl.Content.Series(1).Style = New ChartRangeSplineAreaSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartRangeSplineAreaSeriesStyle
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Hours"
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Employee"
    
    Diagram.AxisX.Label.Angle = 360
    
    Diagram.AxisY.Range.SideMargins = False
    Diagram.AxisX.Range.SideMargins = False
// Sample C# Code

Step Area

The Step Area chart is another form of an area chart. Unlike the traditional area chart, Step Area charts use vertical and horizontal lines to connect the data points forming what looks like steps.

// Sample Code
'Step Area Sample

ChartControl.Content.Legend.Visible = True

If ChartControl.Content.Series.Count > 0 Then
ChartControl.Content.Series.DeleteAll
End If

ChartControl.Content.Legend.Visible = True

Dim Series As ChartSeries

Set Series = ChartControl.Content.Series.Add("U.S. Fuel Oil Prices")

Series.Points.Add "January, 2005", 138.7
Series.Points.Add "February, 2005", 141.4
Series.Points.Add "March, 2005", 159.5
Series.Points.Add "April, 2005", 160.7
Series.Points.Add "May, 2005", 148.8
Series.Points.Add "June, 2005", 166.6

ChartControl.Content.Titles.Add "U.S. Fuel Oil Prices"
ChartControl.Content.Legend.Visible = True

Dim Style As New ChartStepAreaSeriesStyle
Set ChartControl.Content.Series(0).Style = Style

Style.ColorEach = True
Style.Marker.Type = xtpChartMarkerSquare
Style.Marker.Size = 16
Style.Label.LineLength = 20

Dim Diagram As ChartDiagram2D
Set Diagram = ChartControl.Content.Series(0).Diagram
Diagram.AxisY.Title = "Cents per Gallon"
Diagram.AxisY.Title.Visible = True

Diagram.AxisY.Interlaced = True
Diagram.AxisX.Interlaced = False
Diagram.AxisY.Range.ShowZeroLevel = False

Diagram.AxisX.Label.Angle = 360 - 30
Diagram.AxisX.Label.Antialiasing = True
// Sample C# Code

High Low Financial Chart

A High Low Financial Chart used to display trends for financial data, generally stock market prices. A Stock\Bar chart is similar to a Candlestick chart, but is considered harder to read for stock market analyse.

// Sample Code
'HighLow series sample

    ChartControl.Content.Titles.DeleteAll
    ChartControl.Content.Titles.Add "Historical Stock Prices"
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Stock Series")
       
    Series.Points.Add4 "2009-12-28", 30.89, 31.18, 31, 31.17
    Series.Points.Add4 "2009-12-29", 31.23, 31.5, 31.35, 31.39
    Series.Points.Add4 "2009-12-30", 30.8, 31.29, 31.15, 30.96
    Series.Points.Add4 "2009-12-31", 30.48, 30.99, 30.98, 30.48
    Series.Points.Add4 "2010-01-04", 30.59, 31.1, 30.62, 30.95
    Series.Points.Add4 "2010-01-05", 30.64, 31.1, 30.85, 30.96
    Series.Points.Add4 "2010-01-06", 30.52, 31.08, 30.88, 30.77
    Series.Points.Add4 "2010-01-07", 30.19, 30.7, 30.63, 30.45
    Series.Points.Add4 "2010-01-08", 30.24, 30.88, 30.28, 30.66
    Series.Points.Add4 "2010-01-11", 30.12, 30.76, 30.71, 30.27
    Series.Points.Add4 "2010-01-12", 29.91, 30.4, 30.15, 30.07
    Series.Points.Add4 "2010-01-13", 30.01, 30.52, 30.26, 30.35
    Series.Points.Add4 "2010-01-14", 30.26, 31.1, 30.31, 30.96
    Series.Points.Add4 "2010-01-15", 30.71, 31.24, 31.08, 30.86
    Series.Points.Add4 "2010-01-19", 30.68, 31.24, 30.75, 31.1
    Series.Points.Add4 "2010-01-20", 30.31, 30.94, 30.81, 30.59
    Series.Points.Add4 "2010-01-21", 30, 30.72, 30.61, 30.01
    Series.Points.Add4 "2010-01-22", 28.84, 30.2, 30, 28.96
    Series.Points.Add4 "2010-01-25", 29.1, 29.66, 29.24, 29.32
    Series.Points.Add4 "2010-01-26", 29.09, 29.85, 29.2, 29.5
    Series.Points.Add4 "2010-01-27", 29.02, 29.82, 29.35, 29.67
    Series.Points.Add4 "2010-01-28", 28.89, 29.87, 29.84, 29.16
    Series.Points.Add4 "2010-01-29", 27.66, 29.92, 29.9, 28.18
    Series.Points.Add4 "2010-02-01", 27.92, 28.48, 28.39, 28.41
    Series.Points.Add4 "2010-02-02", 28.14, 28.5, 28.37, 28.46
    Series.Points.Add4 "2010-02-03", 28.12, 28.79, 28.26, 28.63
    Series.Points.Add4 "2010-02-04", 27.81, 28.5, 28.38, 27.84
    Series.Points.Add4 "2010-02-05", 27.57, 28.28, 28, 28.02
    Series.Points.Add4 "2010-02-08", 27.57, 28.08, 28.01, 27.72
    Series.Points.Add4 "2010-02-09", 27.75, 28.34, 27.97, 28.01
    Series.Points.Add4 "2010-02-10", 27.84, 28.24, 28.03, 27.99
    Series.Points.Add4 "2010-02-11", 27.7, 28.4, 27.93, 28.12
    Series.Points.Add4 "2010-02-12", 27.58, 28.06, 27.81, 27.93
    Series.Points.Add4 "2010-02-16", 28.02, 28.37, 28.13, 28.35
    Series.Points.Add4 "2010-02-17", 28.36, 28.65, 28.53, 28.59
    Series.Points.Add4 "2010-02-18", 28.51, 29.03, 28.59, 28.97
    Series.Points.Add4 "2010-02-19", 28.69, 28.92, 28.79, 28.77
    Series.Points.Add4 "2010-02-22", 28.65, 28.94, 28.84, 28.73
    Series.Points.Add4 "2010-02-23", 28.09, 28.83, 28.68, 28.33
    Series.Points.Add4 "2010-02-24", 28.38, 28.79, 28.52, 28.63
    Series.Points.Add4 "2010-02-25", 28.02, 28.65, 28.27, 28.6
    Series.Points.Add4 "2010-02-26", 28.51, 28.85, 28.65, 28.67
    Series.Points.Add4 "2010-03-01", 28.53, 29.05, 28.77, 29.02
    Series.Points.Add4 "2010-03-02", 28.24, 29.3, 29.08, 28.46
    Series.Points.Add4 "2010-03-03", 28.35, 28.61, 28.51, 28.46
    
    Series.ArgumentScaleType = xtpChartScaleDateTime

    Dim StyleHL As ChartHighLowSeriesStyle
    Set StyleHL = New ChartHighLowSeriesStyle
    Set ChartControl.Content.Series(0).Style = StyleHL
    StyleHL.LineThickness = 2
    ChartControl.Content.Series(0).ArgumentScaleType = xtpChartScaleQualitative
                
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
                    
    Diagram.AxisX.Label.Angle = 360 - 30
    Diagram.AxisX.Label.Antialiasing = True
    Diagram.AxisX.Label.Visible = False
    
    Diagram.AxisY.Title = "US Dollars"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Visible = True
    Diagram.AxisY.Range.ShowZeroLevel = False
    Diagram.AxisY.GridLines.MinorLineStyle.DashStyle = xtpChartDashStyleDashDot
    Diagram.AxisY.GridLines.MinorVisible = True
// Sample C# Code

CandleStick Chart

A Candlestick Chart is used to display trends for financial data, generally stock market prices. Candlestick charts are much easier to rear than a traditional bar chart to a stock market trader. The candle sticks make it fast and easy to compare the high and low, open and close of data. Each "candle stick" represents the high, low, open and close of data for a given value. The relationship between these candles is important in determining trends among stock prices.

// Sample Code
'Candlestick series sample

    ChartControl.Content.Titles.DeleteAll
    ChartControl.Content.Titles.Add "Historical Stock Prices"
    
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Stock Series")
       
    Series.Points.Add4 "2009-12-28", 30.89, 31.18, 31, 31.17
    Series.Points.Add4 "2009-12-29", 31.23, 31.5, 31.35, 31.39
    Series.Points.Add4 "2009-12-30", 30.8, 31.29, 31.15, 30.96
    Series.Points.Add4 "2009-12-31", 30.48, 30.99, 30.98, 30.48
    Series.Points.Add4 "2010-01-04", 30.59, 31.1, 30.62, 30.95
    Series.Points.Add4 "2010-01-05", 30.64, 31.1, 30.85, 30.96
    Series.Points.Add4 "2010-01-06", 30.52, 31.08, 30.88, 30.77
    Series.Points.Add4 "2010-01-07", 30.19, 30.7, 30.63, 30.45
    Series.Points.Add4 "2010-01-08", 30.24, 30.88, 30.28, 30.66
    Series.Points.Add4 "2010-01-11", 30.12, 30.76, 30.71, 30.27
    Series.Points.Add4 "2010-01-12", 29.91, 30.4, 30.15, 30.07
    Series.Points.Add4 "2010-01-13", 30.01, 30.52, 30.26, 30.35
    Series.Points.Add4 "2010-01-14", 30.26, 31.1, 30.31, 30.96
    Series.Points.Add4 "2010-01-15", 30.71, 31.24, 31.08, 30.86
    Series.Points.Add4 "2010-01-19", 30.68, 31.24, 30.75, 31.1
    Series.Points.Add4 "2010-01-20", 30.31, 30.94, 30.81, 30.59
    Series.Points.Add4 "2010-01-21", 30, 30.72, 30.61, 30.01
    Series.Points.Add4 "2010-01-22", 28.84, 30.2, 30, 28.96
    Series.Points.Add4 "2010-01-25", 29.1, 29.66, 29.24, 29.32
    Series.Points.Add4 "2010-01-26", 29.09, 29.85, 29.2, 29.5
    Series.Points.Add4 "2010-01-27", 29.02, 29.82, 29.35, 29.67
    Series.Points.Add4 "2010-01-28", 28.89, 29.87, 29.84, 29.16
    Series.Points.Add4 "2010-01-29", 27.66, 29.92, 29.9, 28.18
    Series.Points.Add4 "2010-02-01", 27.92, 28.48, 28.39, 28.41
    Series.Points.Add4 "2010-02-02", 28.14, 28.5, 28.37, 28.46
    Series.Points.Add4 "2010-02-03", 28.12, 28.79, 28.26, 28.63
    Series.Points.Add4 "2010-02-04", 27.81, 28.5, 28.38, 27.84
    Series.Points.Add4 "2010-02-05", 27.57, 28.28, 28, 28.02
    Series.Points.Add4 "2010-02-08", 27.57, 28.08, 28.01, 27.72
    Series.Points.Add4 "2010-02-09", 27.75, 28.34, 27.97, 28.01
    Series.Points.Add4 "2010-02-10", 27.84, 28.24, 28.03, 27.99
    Series.Points.Add4 "2010-02-11", 27.7, 28.4, 27.93, 28.12
    Series.Points.Add4 "2010-02-12", 27.58, 28.06, 27.81, 27.93
    Series.Points.Add4 "2010-02-16", 28.02, 28.37, 28.13, 28.35
    Series.Points.Add4 "2010-02-17", 28.36, 28.65, 28.53, 28.59
    Series.Points.Add4 "2010-02-18", 28.51, 29.03, 28.59, 28.97
    Series.Points.Add4 "2010-02-19", 28.69, 28.92, 28.79, 28.77
    Series.Points.Add4 "2010-02-22", 28.65, 28.94, 28.84, 28.73
    Series.Points.Add4 "2010-02-23", 28.09, 28.83, 28.68, 28.33
    Series.Points.Add4 "2010-02-24", 28.38, 28.79, 28.52, 28.63
    Series.Points.Add4 "2010-02-25", 28.02, 28.65, 28.27, 28.6
    Series.Points.Add4 "2010-02-26", 28.51, 28.85, 28.65, 28.67
    Series.Points.Add4 "2010-03-01", 28.53, 29.05, 28.77, 29.02
    Series.Points.Add4 "2010-03-02", 28.24, 29.3, 29.08, 28.46
    Series.Points.Add4 "2010-03-03", 28.35, 28.61, 28.51, 28.46
    
    Series.ArgumentScaleType = xtpChartScaleDateTime

    Dim StyleHL As ChartCandleStickSeriesStyle
    Set StyleHL = New ChartCandleStickSeriesStyle
    Set ChartControl.Content.Series(0).Style = StyleHL
    StyleHL.LineThickness = 2
    ChartControl.Content.Series(0).ArgumentScaleType = xtpChartScaleQualitative
                
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
                    
    Diagram.AxisX.Label.Angle = 360 - 30
    Diagram.AxisX.Label.Antialiasing = True
    Diagram.AxisX.Label.Visible = False
    
    Diagram.AxisY.Title = "US Dollars"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Visible = True
    Diagram.AxisY.Range.ShowZeroLevel = False
    Diagram.AxisY.GridLines.MinorLineStyle.DashStyle = xtpChartDashStyleDashDot
    Diagram.AxisY.GridLines.MinorVisible = True
// Sample C# Code

Gantt Chart

A Gantt chart is a type of range bar chart commonly used for task\schedule planning. Typically a Gantt chart is used for displaying the progression of a project and will display the length each individual task will take versus the progression of time.

// Sample Code
'Gantt series sample

Private Function GetDate(nMonth As Long, nDay As Long) As Double
    GetDate = (nMonth - 1) * 31 + (nDay - 1)
End Function

 

    ChartControl.Content.Titles.Add "Project Development Schedule"
   
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.Legend.Direction = xtpChartLegendLeftToRight
 
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Planned")
        
    Series.Points.Add2 "Explore Market Need", GetDate(1, 1), GetDate(3, 4)
    Series.Points.Add2 "Develop Concept for Product", GetDate(2, 1), GetDate(3, 10)
    Series.Points.Add2 "Begin Development Cycle", GetDate(3, 10), GetDate(10, 20)
    Series.Points.Add2 "Develop GUI", GetDate(5, 1), GetDate(8, 15)
    Series.Points.Add2 "User Interface Test Evaluation", GetDate(7, 1), GetDate(8, 25)
    Series.Points.Add2 "Alpha Version Release", GetDate(7, 13), GetDate(7, 24)
    Series.Points.Add2 "Beta Version Release", GetDate(10, 13), GetDate(10, 24)
    Series.Points.Add2 "Design Box and CD Labels", GetDate(10, 1), GetDate(11, 1)
    Series.Points.Add2 "Final Quality Testing", GetDate(10, 1), GetDate(11, 25)
    Series.Points.Add2 "FCS Release", GetDate(11, 12), GetDate(11, 23)
    Series.Points.Add2 "Production and Packaging", GetDate(11, 12), GetDate(11, 25)
       
    Set Series = ChartControl.Content.Series.Add("Completed")
    Series.Points.Add2 "Explore Market Need", GetDate(1, 1), GetDate(3, 4)
    Series.Points.Add2 "Develop Concept for Product", GetDate(2, 1), GetDate(3, 10)
    Series.Points.Add2 "Begin Development Cycle", GetDate(3, 10), GetDate(7, 7)
    Series.Points.Add2 "Develop GUI", GetDate(5, 1), GetDate(7, 7)
    Series.Points.Add2 "User Interface Test Evaluation", GetDate(7, 1), GetDate(7, 7)
    
    Set ChartControl.Content.Series(0).Style = New ChartGanttSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartGanttSeriesStyle
    
    ChartControl.Content.Series(0).Style.Label.Visible = False
    ChartControl.Content.Series(1).Style.Label.Visible = False
    
    ChartControl.Content.Series(1).Style.BarWidth = 0.3
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    
    Diagram.AxisX.Title.Visible = True
    Diagram.AxisX.Title.Text = "Tasks"
    Diagram.AxisX.Reversed = True
    
    Diagram.AxisY.Title.Visible = False
    Diagram.AxisY.Range.ShowZeroLevel = False
    Diagram.AxisY.Range.SideMargins = False
    
    Dim ConstantLine As ChartAxisConstantLine
    Set ConstantLine = Diagram.AxisY.ConstantLines.Add("Progress Line")
    ConstantLine.LegendVisible = False
    ConstantLine.AxisValue = GetDate(7, 7)
    
    Diagram.Rotated = True
// Sample C# Code

Funnel Chart

The Funnel chart displays a series of data in a funnel shape. The top portion of the funnel will typically contain the largest percentage of the data, while the bottom will "funnel" down to the smallest percentage, however the funnel will allow data to be added in any combination to suit your needs. The size of the funnel sections are all relative to each other and the order does not matter.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.Legend.VerticalAlignment = xtpChartLegendFar
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Titles.Add "Corporate Activities"
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Corporate Activities")
    
    
    Series.Points.Add "Cash US", 216
    Series.Points.Add "Stocks US", 150
    Series.Points.Add "Bonds US", 100
    Series.Points.Add "Funds US", 43
    
    Series.PointLegendFormat = "{A} ${V}K"
                    
    Dim Style As New ChartFunnelSeriesStyle
    Set ChartControl.Content.Series(0).Style = Style
    Style.Label.Format = "{A} ${V}K"

    cmbPointDistance.AddItem "0"
    cmbPointDistance.AddItem "1"
    cmbPointDistance.AddItem "2"
    cmbPointDistance.AddItem "3"
    cmbPointDistance.AddItem "4"
    
    cmbHeightToWidth.AddItem "0"
    cmbHeightToWidth.AddItem "0.4"
    cmbHeightToWidth.AddItem "0.6"
    cmbHeightToWidth.AddItem "1"
    cmbHeightToWidth.AddItem "1.5"
    cmbHeightToWidth.AddItem "2"
// Sample C# Code

2D Pyramid Chart

The Pyramid chart displays a series of data in a pyramid shape. The size of the pyramid sections are all relative to each other and the order does not matter. You can have a "top heavy" pyramid where the largest section is the top section or any other combination.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.Legend.VerticalAlignment = xtpChartLegendNear
    
    If ChartControl.Content.Series.Count > 0 Then
        ChartControl.Content.Series.DeleteAll
    End If
    
    ChartControl.Content.Titles.Add "Corporate Activities"
       
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Corporate Activities")
    
    
    Series.Points.Add "Funds US", 43
    Series.Points.Add "Bonds US", 100
    Series.Points.Add "Stocks US", 150
    Series.Points.Add "Cash US", 216
    
    Series.PointLegendFormat = "{A} ${V}K"
                    
    Dim Style As New ChartPyramidSeriesStyle
    Set ChartControl.Content.Series(0).Style = Style
    Style.Label.Format = "{A} ${V}K"

    cmbPointDistance.AddItem "0"
    cmbPointDistance.AddItem "1"
    cmbPointDistance.AddItem "2"
    cmbPointDistance.AddItem "3"
    cmbPointDistance.AddItem "4"
    
    cmbHeightToWidth.AddItem "0"
    cmbHeightToWidth.AddItem "0.4"
    cmbHeightToWidth.AddItem "0.6"
    cmbHeightToWidth.AddItem "1"
    cmbHeightToWidth.AddItem "1.5"
    cmbHeightToWidth.AddItem "2"
// Sample C# Code

Secondary Axis Charts

Secondary axis are useful when you need to display a series of data with values that greatly differ from each other or you might use a secondary axis when displaying two series of data with different data types (i.e. price and quantity). In both of these cases you can plot each of the series on a secondary axis so that they can both be seen in the same view. Displaying both the secondary x and y axis can be useful if making a scatter chart.

// Sample Code
'This sample shows how to display a secondary axis for a series in a 2D diagram

    ChartControl.Content.Legend.Visible = True
    
    Dim Series1 As ChartSeries, Series2 As ChartSeries
    Set Series1 = ChartControl.Content.Series.Add("Series 1")
    
    Series1.Points.Add "A", 1200
    Series1.Points.Add "B", 700
    Series1.Points.Add "C", 500
    Series1.Points.Add "D", 400
    Series1.Points.Add "E", 300
    Series1.Points.Add "F", 200
    Series1.Points.Add "G", 150

    
    Dim Style As ChartLineSeriesStyle
    Set Style = New ChartLineSeriesStyle
    Series1.Style = Style
    Style.Marker.Type = xtpChartMarkerTriangle
    Style.Marker.Size = 16

    Set Series2 = ChartControl.Content.Series.Add("Series 2")
    Series2.Points.Add "A", 50
    Series2.Points.Add "B", 40
    Series2.Points.Add "C", 30
    Series2.Points.Add "D", 20
    Series2.Points.Add "E", 15
    
    Set Style = New ChartLineSeriesStyle
    Series2.Style = Style
    Style.Marker.Type = xtpChartMarkerStar
    Style.Marker.Size = 16
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AxisX.Title.Text = "Series 1 (Primary Axis X)"
    Diagram.AxisX.Title.Visible = True
    Diagram.SecondaryAxisX.Title.Text = "Series 2 (Secondary Axis X)"
    Diagram.SecondaryAxisX.Title.Visible = True
    Diagram.SecondaryAxisX.Visible = True
    ChartControl.Content.Series(1).Style.SecondaryAxisX = True
    
    Diagram.AxisY.Title.Text = "Series 1 (Primary Axis Y)"
    Diagram.AxisY.Title.Visible = True
    Diagram.SecondaryAxisY.Title.Text = "Series 2 (Secondary Axis Y)"
    Diagram.SecondaryAxisY.Title.Visible = True
    Diagram.SecondaryAxisY.Visible = True
    ChartControl.Content.Series(1).Style.SecondaryAxisY = True
// Sample C# Code

Zooming and Scrolling

The chart control allows you to zoom and scroll charts. This makes it easy to see data points in a chart that has thousands of points. To zoom, simply make sure the chart has focus and then use the mouse wheel.

// Sample Code
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    Diagram.AllowScroll = True
    Diagram.AllowZoom = True
    
    Diagram.AxisX.Range.ViewAutoRange = False
    Diagram.AxisX.Range.ViewMaxValue = 200
    
    Diagram.AxisX.Range.SideMargins = False
// Sample C# Code

Multiple Diagram Support

Multiple Diagram Charts are charts that have multiple regions which compare similar data sets side by side (in separate panels) rather than right on top of each other. The chart by default has one diagram that you don't have to add. This is the diagram that is worked with when adding a series. The chart can however contain multiple diagrams in the same view.

// Sample Code
    Dim pContent As ChartContent
    Set pContent = ChartControl.Content

    pContent.Legend.Visible = True
    pContent.Legend.VerticalAlignment = xtpChartLegendFarOutside
    pContent.Legend.HorizontalAlignment = xtpChartLegendCenter
    pContent.Legend.Direction = xtpChartLegendLeftToRight

    ChartControl.Content.Titles.Add "Total Hours Worked"    
   
    Dim pDiagram1 As New ChartDiagram2D
    pContent.Diagrams.Add pDiagram1
    
    Dim pDiagram2 As New ChartDiagram2D
    pContent.Diagrams.Add pDiagram2
    
    Dim pDiagram3 As New ChartPieDiagram
    pContent.Diagrams.Add pDiagram3

    Dim pSeries As ChartSeries
    Set pSeries = pContent.Series.Add("Daily")
    Set pSeries.Style = New ChartBarSeriesStyle

    pSeries.Points.Add "1 January", 8
    pSeries.Points.Add "2 February", 7
    pSeries.Points.Add "3 March", 6
    pSeries.Points.Add "4 April", 7
    pSeries.Points.Add "5 May", 7
    Set pSeries.Diagram = pDiagram1
    pDiagram1.Rotated = True

    Set pSeries = pContent.Series.Add("Summary")
    Set pSeries.Style = New ChartLineSeriesStyle
    
    Dim pLabel As ChartPointSeriesLabel
    Set pLabel = pSeries.Style.Label

    pLabel.LineLength = 20
    pLabel.Angle = 70
    
    pSeries.Points.Add "1 January", 8
    pSeries.Points.Add "2 February", 8 + 7
    pSeries.Points.Add "3 March", 8 + 7 + 6
    pSeries.Points.Add "4 April", 8 + 7 + 6 + 7
    pSeries.Points.Add "5 May", 8 + 7 + 6 + 7 + 7
    Set pSeries.Diagram = pDiagram2
    pDiagram2.Rotated = True

    
    pDiagram1.AxisX.Title.Visible = True
    pDiagram1.AxisX.Title.Text = "Date"

    pDiagram1.AxisY.Title.Visible = True
    pDiagram1.AxisY.Title.Text = "Hours"

    pDiagram2.AxisY.Title.Visible = True
    pDiagram2.AxisY.Title.Text = "Hours"
    pDiagram2.AxisX.Title.Visible = False


    Set pSeries = pContent.Series.Add("Overview")
    Set pSeries.Style = New ChartPieSeriesStyle

    pSeries.Points.Add "1 January", 8
    pSeries.Points.Add "2 February", 7
    pSeries.Points.Add "3 March", 6
    pSeries.Points.Add "4 April", 7
    pSeries.Points.Add "5 May", 7
    Set pSeries.Diagram = pDiagram3

    Dim pPieLabel As ChartPieSeriesLabel
    Set pPieLabel = pSeries.Style.Label
// Sample C# Code

Chart Builder Tool

Using the supplied "Chart Builder" tool you can build your charts using a WYSIWYG editor to customize the colors, etc. and export them to an xml file that can then be loaded into the chart control.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
    
    ChartControl.Content.Titles.Add "Chart From Builder File"
    
    Dim PropExchange As PropExchange
    Set PropExchange = ChartControlGlobalSettings.CreatePropExchange
    PropExchange.CreateAsXML True, "Content"
    PropExchange.LoadFromFile (App.Path & "\ChartBuilderFile.xml")
    ChartControl.Content.DoPropExchange PropExchange
// Sample C# Code

Combination Chart

A combination chart uses two or more chart types to emphasis that the chart contains different types of data.

// Sample Code
    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar
    ChartControl.Content.EnableMarkup = True
        
    ChartControl.Content.Titles.Add "Population by U.S. State"
       
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("New York")

    Series.Points.Add 1900, 7268
    Series.Points.Add 1950, 14830
    Series.Points.Add 1990, 17990
    Series.Points.Add 2000, 18976
    Series.Points.Add 2008, 20323
    
    Set Series = ChartControl.Content.Series.Add("California")

    Series.Points.Add 1900, 1485
    Series.Points.Add 1950, 10586
    Series.Points.Add 1990, 29760
    Series.Points.Add 2000, 33871
    Series.Points.Add 2008, 36756
    
    Set Series = ChartControl.Content.Series.Add("Florida")

    Series.Points.Add 1900, 528
    Series.Points.Add 1950, 2771
    Series.Points.Add 1990, 12937
    Series.Points.Add 2000, 15982
    Series.Points.Add 2008, 18328
        
    Set Series = ChartControl.Content.Series.Add("Texas")

    Series.Points.Add 1900, 3048
    Series.Points.Add 1950, 7711
    Series.Points.Add 1990, 14986
    Series.Points.Add 2000, 20851
    Series.Points.Add 2008, 24326
    
    Set ChartControl.Content.Series(3).Style = New ChartAreaSeriesStyle
    Set ChartControl.Content.Series(2).Style = New ChartPointSeriesStyle
    Set ChartControl.Content.Series(1).Style = New ChartBarSeriesStyle
    Set ChartControl.Content.Series(0).Style = New ChartSplineSeriesStyle
    
    Dim Series As ChartSeries
    For Each Series In ChartControl.Content.Series
        Series.Style.Label.Format.Category = xtpChartNumber
        Series.Style.Label.Format.DecimalPlaces = 0
    Next
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Series(0).Diagram
    Diagram.AxisY.Title = "Population Growth (Millions)"
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisX.Title = "Decade / Year"
    Diagram.AxisX.Title.Visible = True
    
    Diagram.AxisY.Label.Format.Category = xtpChartNumber
    Diagram.AxisY.Label.Format.DecimalPlaces = 0
// Sample C# Code

Line Styles

Any element that draws a line can use the supplied line styles to draw a dashed style line and set it's thickness.

// Sample Code
    Dim xLineStyle As ChartLineSeriesStyle
    Dim nThickness As Integer
    
    nThickness = 10
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleDash
    xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(3).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleDashDotDot
    xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(2).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleSolid
    xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(1).Style = xLineStyle
    
    Set xLineStyle = New ChartLineSeriesStyle
    xLineStyle.LineStyle.DashStyle = xtpChartDashStyleDashDot
    xLineStyle.LineStyle.Thickness = nThickness
    Set ChartControl.Content.Series(0).Style = xLineStyle
// Sample C# Code

Markup Title Support

The chart can contain multiple sets of titles that can be docked to the top, bottom, left or right of the chart. You can also stack multiple titles to the same docking location. In addition to normal text, titles can contain xml Markup snippets to format the title's text.

// Sample Code
    Dim pContent As ChartContent
    Set pContent = ChartControl.Content
    pContent.EnableMarkup = True

    pContent.Legend.Visible = False

    Dim pTitle As ChartTitle
    Set pTitle = pContent.Titles.Add("<TextBlock><Bold>Chart Control</Bold> <Run>supports</Run> <Run Foreground='Green'>Titles</Run> </TextBlock>")

    Set pTitle = pContent.Titles.Add("Left Title")
    pTitle.Docking = xtpChartDockLeft

    Set pTitle = pContent.Titles.Add("<TextBlock><Run Foreground='Blue'>Right</Run> <Run Foreground='Red'>Title</Run></TextBlock>")
    pTitle.Docking = xtpChartDockRight

    Set pTitle = pContent.Titles.Add("<TextBlock FontSize = '20px'>Click Title to set its propeties</TextBlock>")
    pTitle.Docking = xtpChartDockBottom

    Dim pCollection As ChartSeriesCollection
    Set pCollection = pContent.Series
    pCollection.DeleteAll
    
    If Not pCollection Is Nothing Then
        Dim pSeries1 As ChartSeries
        Set pSeries1 = pCollection.Add("Series")
        
        If Not pSeries1 Is Nothing Then
            pSeries1.Name = "Series"

            Dim pPoints As ChartSeriesPointCollection
            Set pPoints = pSeries1.Points
            
            pPoints.Add 0, 0.5
            pPoints.Add 1, 2
            pPoints.Add 2, 1
            pPoints.Add 3, 1.5
            pPoints.Add 4, 3
            pPoints.Add 5, 2.5
            pPoints.Add 6, 1
            pPoints.Add 7, 0.5
            pPoints.Add 8, 1.5
            pPoints.Add 9, 2.5
            pPoints.Add 10, 0.5
            pPoints.Add 11, 2
            pPoints.Add 12, 1
            
            pSeries1.Style = New ChartAreaSeriesStyle
            pSeries1.Style.Label.Visible = False
            
        End If

        Dim pDiagram As ChartDiagram2D
        Set pDiagram = pContent.Diagrams(0)

        pDiagram.AxisX.Label.Visible = False
        pDiagram.AxisY.Label.Visible = False

        pDiagram.AxisX.Range.SideMargins = False
    
    End If
// Sample C# Code

Date Time Scale

Chart in which date values will be displayed as their text representation along the axis.

// Sample Code
    ChartControl.Content.Legend.Visible = False
    ChartControl.Content.Titles.Add ""

         
    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series.Add("Sales")

    Dim Style As New ChartBarSeriesStyle
    Set Series.Style = Style
       
    Style.Label.Visible = False
        
    Dim Diagram As ChartDiagram2D
    Set Diagram = Series.Diagram
    
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Title.Text = "Thousands of Dollars"
    
    Diagram.AxisY.Label.Format.Category = xtpChartNumber
    
    Diagram.AxisX.Interlaced = False
    Diagram.AxisY.GridLines.MinorVisible = True

    ChartControl.Content.Titles(0).Text = "Sales Volume by Day"

    Dim Series As ChartSeries
    Set Series = ChartControl.Content.Series(0)
        
    Dim dt As Date
    dt = #1/1/2010#
    
    Series.Points.DeleteAll
    
    While (dt < #7/7/2010#)
        Series.Points.Add dt, Rnd * 100
    
        dt = dt + 1
    Wend
    
    Series.ArgumentScaleType = xtpChartScaleDateTime
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = Series.Diagram

    Diagram.AxisX.DateTimeScaleUnit = xtpChartScaleDay
    Diagram.AxisX.Label.Angle = 315
    Diagram.AxisX.Label.Antialiasing = True
// Sample C# Code

Logarithmic Scale Chart

A logarithmic scale allows data across a very large range to be displayed in an easy to read chart.

// Sample Code
'Logarithmic scale sample

 

Private Sub Form_Load()

    ChartControl.Content.Legend.Visible = True
    ChartControl.Content.Legend.HorizontalAlignment = xtpChartLegendFar


    Dim Diagram As ChartDiagram2D
    Set Diagram = New ChartDiagram2D
    ChartControl.Content.Diagrams.Add Diagram
    
    Diagram.AxisY.Title = "Linear"
    Diagram.AxisX.Title = "Linear"
    Diagram.AxisX.Title.Visible = True
    
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Label.Format.Category = xtpChartNumber
    Diagram.AxisY.Label.Format.DecimalPlaces = 1
    Diagram.AxisY.Label.Format.UseThousandSeparator = False
    
    Diagram.AxisY.Range.AutoRange = False
    Diagram.AxisY.Range.MinValue = -1
    Diagram.AxisY.Range.MaxValue = 10
    
    Diagram.AxisX.Range.AutoRange = False
    Diagram.AxisX.Range.MinValue = -1
    Diagram.AxisX.Range.MaxValue = 10
 
    
    Dim Line As ChartAxisConstantLine
    
    If (Diagram.AxisX.ConstantLines.Count = 0) Then
        Set Line = Diagram.AxisX.ConstantLines.Add("")
        Line.AxisValue = 0
        Line.LegendVisible = False
    End If
    
    If (Diagram.AxisY.ConstantLines.Count = 0) Then
        Set Line = Diagram.AxisY.ConstantLines.Add("")
        Line.AxisValue = 0
        Line.LegendVisible = False
    End If
    
    AddSeriesCombination Diagram, False
 
 
    Set Diagram = New ChartDiagram2D
    ChartControl.Content.Diagrams.Add Diagram
    
    Diagram.AxisY.Title = "Log"
    Diagram.AxisX.Title = "Linear"
    Diagram.AxisX.Title.Visible = True
    
    Diagram.AxisY.Logarithmic = True
    Diagram.AxisY.LogarithmicBase = 10
    Diagram.AxisY.Title.Visible = True
    Diagram.AxisY.Label.Format.Category = xtpChartNumber
    Diagram.AxisY.Label.Format.DecimalPlaces = 1
    Diagram.AxisY.Label.Format.UseThousandSeparator = False
    
    Diagram.AxisY.Range.AutoRange = False
    Diagram.AxisY.Range.MinValue = 0.1
    Diagram.AxisY.Range.MaxValue = 1000

    Diagram.AxisX.Range.AutoRange = False
    Diagram.AxisX.Range.MinValue = -1
    Diagram.AxisX.Range.MaxValue = 10
        
    If (Diagram.AxisX.ConstantLines.Count = 0) Then
        Set Line = Diagram.AxisX.ConstantLines.Add("")
        Line.AxisValue = 0
        Line.LegendVisible = False
    End If
    
  
    
    AddSeriesCombination Diagram, True

       
End Sub


Sub AddSeriesCombination(Diagram As ChartDiagram, LogY As Boolean)
    
    Dim Series As ChartSeries
            
    Set Series = ChartControl.Content.Series.Add("f(x)=10^x")
    Series.ArgumentScaleType = xtpChartScaleNumerical
    Set Series.Style = CreateSeriesStyle
    Set Series.Diagram = Diagram
    Series.Style.Color = vbRed
    If (Not Diagram Is ChartControl.Content.Diagrams(0)) Then Series.LegendVisible = False

    Dim x As Single, xStart As Single

    For x = -2 To 10 Step 0.2
        Series.Points.Add x, 10 ^ x
    Next x
    
    Set Series = ChartControl.Content.Series.Add("f(x)=x")
    Series.ArgumentScaleType = xtpChartScaleNumerical
    Set Series.Style = CreateSeriesStyle
    Set Series.Diagram = Diagram
    Series.Style.Color = vbGreen
    If (Not Diagram Is ChartControl.Content.Diagrams(0)) Then Series.LegendVisible = False

    xStart = IIf(LogY, 0.01, -1)
    
    For x = xStart To 10 Step 0.2
        Series.Points.Add x, x
    Next x
    
    Set Series = ChartControl.Content.Series.Add("f(x)=log(x)")
    Series.ArgumentScaleType = xtpChartScaleNumerical
    Set Series.Style = CreateSeriesStyle
    Set Series.Diagram = Diagram
    Series.Style.Color = vbBlue
    If (Not Diagram Is ChartControl.Content.Diagrams(0)) Then Series.LegendVisible = False

    xStart = IIf(LogY, 1.01, 0.2)
  
    For x = xStart To 10 Step 0.2
        Debug.Print "log " & x & " - " & Math.log(x)
        Series.Points.Add x, Math.log(x)
    Next x
                
End Sub
// Sample C# Code

Virtual Points

To dramatically increase performance, the chart supports virtual points which should be used when there will be a very large number of points in a series and speed is important.

// Sample Code
 Private Sub Form_Load ()


    Dim Series As ChartSeries
    
    Dim SeriesCount As Long
    SeriesCount = 1
            
    Dim i As Long
    For i = 1 To SeriesCount
        Set Series = ChartControl.Content.Series.Add("Series")
        
        Dim Style As New ChartFastLineSeriesStyle
        Set Series.Style = Style
        
        Series.ArgumentScaleType = xtpChartScaleNumerical
        
    Next i
    
    ChartControl.Content.Series(0).EnableVirtualMode -5, 5, 0.001
    
    Dim Diagram As ChartDiagram2D
    Set Diagram = ChartControl.Content.Diagrams(0)
    
    Diagram.AxisY.Range.MaxValue = 1
    Diagram.AxisY.Range.MinValue = -1
    Diagram.AxisY.Range.AutoRange = False
    
    Diagram.AxisX.Range.MaxValue = 5
    Diagram.AxisX.Range.MinValue = -5
    Diagram.AxisX.Range.AutoRange = False
    
    Diagram.AxisX.Interlaced = False
    
End Sub


Private Sub ChartControl_GetPointValue(ByVal Series As XtremeChartControl.ChartSeries, ByVal Argument As Double, Value As Double)
    Value = Sin(Argument)
End Sub
// Sample C# Code

Flow Graph Control

The Flow Graph control is also included with the chart, which is a graphing control used to display relationship graphs. This control can be thought of as a tool to visually display the relationships for a relational database. The control consists of "Nodes" that can be thought of as tables in a database. The Nodes contain "connections" (fields of a table). The connections can have many "connection points" that can be used to link the connections between different nodes (i.e. linking an invoice table to a customer table via a connection). Nodes and connection lines can be dragged around the graph allowing the user to fully customize the look of their relationship diagram. The control also supports undo\redo edit operations in the case you allow the nodes to be moved, renamed, connections added\removed, etc.

// Sample Code
    Dim Image As FlowGraphImage
    Set Image = FlowGraph.Images.AddImage
    Image.LoadFromFile App.Path & "\Images\NodeImageCustomers.bmp"
    
    Set Image = FlowGraph.Images.AddImage
    Image.LoadFromFile App.Path & "\Images\NodeImageOrderDetails.png"

    FlowGraph.Pages.RemoveAll
    
    Dim Page As FlowGraphPage
    Set Page = FlowGraph.Pages.AddPage
    
    Debug.Print FlowGraph.Pages.Count
    
    Set FlowGraph.ActivePage = Page
    
    Dim pTableCustomers As FlowGraphNode
    Set pTableCustomers = Page.Nodes.AddNode

    ' Customers

    pTableCustomers.Caption = "Customers"
    pTableCustomers.Tooltip = "Customers Table"
    pTableCustomers.Color = RGB(155, 187, 89)
    pTableCustomers.LocationX = 820
    pTableCustomers.LocationY = 360
    pTableCustomers.ImageIndex = 0
    
    pTableCustomers.AddNamedConnectionPoints "ID", xtpFlowGraphPointInput
    pTableCustomers.AddNamedConnectionPoints "Company", xtpFlowGraphPointNone
    pTableCustomers.AddNamedConnectionPoints "Last Name", xtpFlowGraphPointNone
    pTableCustomers.AddNamedConnectionPoints "First Name", xtpFlowGraphPointNone
    pTableCustomers.AddNamedConnectionPoints "Job Title", xtpFlowGraphPointNone
    pTableCustomers.AddNamedConnectionPoints "Business Phone", xtpFlowGraphPointNone
    
    ' Orders
    
    Dim pTableOrders As FlowGraphNode
    Set pTableOrders = Page.Nodes.AddNode
    pTableOrders.Caption = "Orders"
    pTableOrders.Tooltip = "Orders Table"
    pTableOrders.LocationX = 420
    pTableOrders.LocationY = 90
    'pTableOrders.Color = RGB(192, 80, 77)
    
    pTableOrders.AddNamedConnectionPoints "Order ID", xtpFlowGraphPointInput
    pTableOrders.AddNamedConnectionPoints "Employee ID", xtpFlowGraphPointOutput
    pTableOrders.AddNamedConnectionPoints "Customer ID", xtpFlowGraphPointOutput
    pTableOrders.AddNamedConnectionPoints "Order Date", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Order Date", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Shipped Date", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Shipper ID", xtpFlowGraphPointOutput
    pTableOrders.AddNamedConnectionPoints "Taxes", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Payment Type", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Paid Date", xtpFlowGraphPointNone
    pTableOrders.AddNamedConnectionPoints "Notes", xtpFlowGraphPointNone
    
    ' Employees
    
    Dim pTableEmployees As FlowGraphNode
    Set pTableEmployees = Page.Nodes.AddNode
    pTableEmployees.Caption = "Employees"
    pTableEmployees.Tooltip = "Employees Table"
    pTableEmployees.LocationX = 820
    pTableEmployees.LocationY = 90
    pTableEmployees.Color = RGB(75, 172, 198)
    
    pTableEmployees.AddNamedConnectionPoints "ID", xtpFlowGraphPointInput
    pTableEmployees.AddNamedConnectionPoints "Company", xtpFlowGraphPointNone
    pTableEmployees.AddNamedConnectionPoints "Last Name", xtpFlowGraphPointNone
    pTableEmployees.AddNamedConnectionPoints "First Name", xtpFlowGraphPointNone
    pTableEmployees.AddNamedConnectionPoints "E-mail Address", xtpFlowGraphPointNone
    pTableEmployees.AddNamedConnectionPoints "Job Title", xtpFlowGraphPointNone
    pTableEmployees.AddNamedConnectionPoints "Business Phone", xtpFlowGraphPointNone
    
    ' Order Details
    
    Dim pTableOrderDetails As FlowGraphNode
    Set pTableOrderDetails = Page.Nodes.AddNode
    pTableOrderDetails.Caption = "Order Details"
    pTableOrderDetails.Tooltip = "Order Details Table"
    pTableOrderDetails.LocationX = 190
    pTableOrderDetails.LocationY = 200
    pTableOrderDetails.Color = RGB(192, 80, 77)
    pTableOrderDetails.ImageIndex = 1
    
    pTableOrderDetails.AddNamedConnectionPoints "ID", xtpFlowGraphPointInput
    pTableOrderDetails.AddNamedConnectionPoints "Order ID", xtpFlowGraphPointOutput
    pTableOrderDetails.AddNamedConnectionPoints "Product ID", xtpFlowGraphPointOutput
    pTableOrderDetails.AddNamedConnectionPoints "Quantity", xtpFlowGraphPointNone
    pTableOrderDetails.AddNamedConnectionPoints "Unit Price", xtpFlowGraphPointNone
    pTableOrderDetails.AddNamedConnectionPoints "Discount", xtpFlowGraphPointNone
    pTableOrderDetails.AddNamedConnectionPoints "Status ID", xtpFlowGraphPointNone
    
    ' Shippers
    
    Dim pTableShippers As FlowGraphNode
    Set pTableShippers = Page.Nodes.AddNode
    pTableShippers.Caption = "Shippers"
    pTableShippers.Tooltip = "Shippers Table"
    pTableShippers.LocationX = 620
    pTableShippers.LocationY = 360
    'pTableShippers.Color = RGB(128, 100, 162)
    
    pTableShippers.AddNamedConnectionPoints "ID", xtpFlowGraphPointInput
    pTableShippers.AddNamedConnectionPoints "Company", xtpFlowGraphPointNone
    pTableShippers.AddNamedConnectionPoints "Last Name", xtpFlowGraphPointNone
    pTableShippers.AddNamedConnectionPoints "First Name", xtpFlowGraphPointNone
    pTableShippers.AddNamedConnectionPoints "E-mail Address", xtpFlowGraphPointNone
    pTableShippers.AddNamedConnectionPoints "Job Title", xtpFlowGraphPointNone
    pTableShippers.AddNamedConnectionPoints "Business Phone", xtpFlowGraphPointNone
    
    ' Products
    
    Dim pTableProducts As FlowGraphNode
    Set pTableProducts = Page.Nodes.AddNode
    pTableProducts.Caption = "Products"
    pTableProducts.Tooltip = "Products Table"
    pTableProducts.LocationX = 420
    pTableProducts.LocationY = 360
    'pTableProducts.Color = RGB(75, 172, 198)
    
    pTableProducts.AddNamedConnectionPoints "ID", xtpFlowGraphPointInput
    pTableProducts.AddNamedConnectionPoints "Product Code", xtpFlowGraphPointNone
    pTableProducts.AddNamedConnectionPoints "Product Name", xtpFlowGraphPointNone
    pTableProducts.AddNamedConnectionPoints "Description", xtpFlowGraphPointNone
    pTableProducts.AddNamedConnectionPoints "Price", xtpFlowGraphPointNone
    pTableProducts.AddNamedConnectionPoints "Category", xtpFlowGraphPointNone
    
    ' Manage connections
    
    Dim pConnection As FlowGraphConnection
    Set pConnection = Page.Connections.AddConnection
    pConnection.OutputPoint = pTableOrders.ConnectionPoints.FindConnectionPointByCaption("Customer ID")
    pConnection.InputPoint = pTableCustomers.ConnectionPoints.FindConnectionPointByCaption("ID")
    
    pConnection.Caption = "Customer relation"
    pConnection.Style = xtpFlowGraphConnectorCurvedDoubleArrow

    Set pConnection = Page.Connections.AddConnection
    pConnection.OutputPoint = pTableOrders.ConnectionPoints.FindConnectionPointByCaption("Shipper ID")
    pConnection.InputPoint = pTableShippers.ConnectionPoints.FindConnectionPointByCaption("ID")

    Set pConnection = Page.Connections.AddConnection
    pConnection.OutputPoint = pTableOrders.ConnectionPoints.FindConnectionPointByCaption("Employee ID")
    pConnection.InputPoint = pTableEmployees.ConnectionPoints.FindConnectionPointByCaption("ID")
    pConnection.Style = xtpFlowGraphConnectorElbowArrow

    Set pConnection = Page.Connections.AddConnection
    pConnection.OutputPoint = pTableOrderDetails.ConnectionPoints.FindConnectionPointByCaption("Order ID")
    pConnection.InputPoint = pTableOrders.ConnectionPoints.FindConnectionPointByCaption("Order ID")

    Set pConnection = Page.Connections.AddConnection
    pConnection.OutputPoint = pTableOrderDetails.ConnectionPoints.FindConnectionPointByCaption("Product ID")
    pConnection.InputPoint = pTableProducts.ConnectionPoints.FindConnectionPointByCaption("ID")
// Sample C# Code

Trend Lines

A Trend Line shows the the general direction that a set of data seem to be heading over a period of time.

// Sample Code
' Sample Code
// Sample C# Code

Error Bars

Error Bars use "bars" to display the uncertainty in a reported value, the bars show the variability of the data. These bars give you a general idea how accurate (or inaccurate) the data is.

// Sample Code
' Sample Code
// Sample C# Code

Office 2013 Style Ribbon Bar Control

Codejock Software's Ribbon Bar provides Windows developers with the latest Microsoft Office 2013 style Ribbon Bar component. No longer will users need to fumble through confusing and boring menus. Ribbon Bar includes enhanced navigation capabilities by grouping menu and toolbar commands into logical blocks that are arranged in tabular format.

GetCommandBars()->SetTheme(xtpThemeRibbon);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Office2013.dll"));
lpszIniFile = _T("OFFICE2013WHITE.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeRibbon
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Office2013.dll", "OFFICE2013WHITE.INI"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeRibbon;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Office2013.dll", "OFFICE2013WHITE.INI");

Office 2013 Style Ribbon Groups

Groups are used to logically organize items in a Ribbon Bar. Group captions make it easy to identify what the items in a group are related to. Just about any type of item can be added to groups in the toolbar.

    CXTPRibbonTab* pTabHome = pRibbonBar->AddTab(ID_TAB_HOME);

    CXTPRibbonGroup* pGroupClipborad = pTabHome->AddGroup(ID_GROUP_CLIPBOARD);
    pGroupClipborad->ShowOptionButton();
    pGroupClipborad->SetIconId(ID_GROUP_BUTTONPOPUP);
    pGroupClipborad->GetControlGroupOption()->SetID(ID_GROUP_CLIPBOARD_OPTION);
    pGroupClipborad->SetControlsCentering();
    
    CXTPControlPopup* pControlPaste = (CXTPControlPopup*)pGroupClipborad->Add(xtpControlSplitButtonPopup, ID_EDIT_PASTE);
    pControlPaste->GetCommandBar()->GetControls()->Add(xtpControlButton, ID_EDIT_PASTE);
    pControlPaste->GetCommandBar()->GetControls()->Add(xtpControlButton, ID_EDIT_PASTE_SPECIAL);
    CXTPControl* pControlCut = pGroupClipborad->Add(xtpControlButton, ID_EDIT_CUT);
    pControlCut->SetKeyboardTip(_T("X"));
    Dim TabWrite As RibbonTab
    Dim GroupClipboard As RibbonGroup
    Dim Control As CommandBarControl
    
    Set TabWrite = RibbonBar.InsertTab(0, "&Home")
    TabWrite.Id = ID_TAB_WRITE
 
    Set GroupClipboard = TabWrite.Groups.AddGroup("&Clipboard", ID_GROUP_CLIPBOARD)
        
    Set ControlPaste = GroupClipboard.Add(xtpControlSplitButtonPopup, ID_EDIT_PASTE, "&Paste")
        Set Control = ControlPaste.CommandBar.Controls.Add(xtpControlButton, ID_EDIT_PASTE, "&Paste")
        Control.ToolTipText = "hello"
        ControlPaste.CommandBar.Controls.Add xtpControlButton, ID_EDIT_PASTE_SPECIAL, "&Paste Special"
    ControlPaste.KeyboardTip = "V"
    Set Control = GroupClipboard.Add(xtpControlButton, ID_EDIT_CUT, "&Cut")
    Control.KeyboardTip = "X"
    TabWrite = RibbonBar.InsertTab(0, "&Home");
    TabWrite.Id = ID.ID_TAB_WRITE;            

    GroupClipboard = TabWrite.Groups.AddGroup("&Clipboard", ID.ID_GROUP_CLIPBOARD);

    ControlPaste = (XtremeCommandBars.CommandBarPopup)GroupClipboard.Add(XtremeCommandBars.XTPControlType.xtpControlSplitButtonPopup, ID.ID_EDIT_PASTE, "&Paste", false, false);
    ControlPaste.CommandBar.Controls.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_EDIT_PASTE, "&Paste", false, false);
    ControlPaste.CommandBar.Controls.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_EDIT_PASTE_SPECIAL, "&Paste Special", false, false);
    GroupClipboard.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_EDIT_CUT, "&Cut", false, false);
    GroupClipboard.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_EDIT_COPY, "&Copy", false, false);
    Control = GroupClipboard.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_FORMAT_PAINTER, "Format Painter", false, false);
    Control.Enabled = false;
    GroupClipboard.ShowOptionButton = true;
    GroupClipboard.ControlGroupOption.TooltipText = "Show clipboard dialog";
    GroupClipboard.IconId = ID.ID_EDIT_PASTE;

Office 2013 Style Ribbon Group Option Button

Option buttons can be added to a ribbon group's caption. Typically, when an option button is pressed a dialog should be displayed that is related to the controls in the group, but you can perform any action you wish such as displaying a popup menu.

    pGroupClipborad->ShowOptionButton();
    pGroupClipborad->GetControlGroupOption()->SetID(ID_GROUP_CLIPBOARD_OPTION);
    GroupClipboard.ShowOptionButton = true
    GroupClipboard.ControlGroupOption.TooltipText = "Show clipboard dialog"
    GroupClipboard.ShowOptionButton = true;
    GroupClipboard.ControlGroupOption.TooltipText = "Show clipboard dialog";

Office 2013 Style Smart Layout

Advanced smart layout abilities ensure that the Ribbon Bar makes the most efficient use of the available space. Smart layout allows each item to have multiple image sizes. The smart layout will display the largest images when enough room is available and automatically display the smaller icons when space is tight. When space is abundant, large images with item captions are displayed, if space is limited, then only small icons with no captions are displayed. Items are always only a few clicks away, groups with insufficient space are displayed as a popup button which displays the entire group as a popup. Ribbon Bar is always adapting to its environment to provide a perfect fit.

Office 2013 Style Gallery Control

The Office 2013 style gallery control can be used in the toolbar, ribbon group, or popup menu. The gallery control displays a collection of picture or text items that can be scrolled and displayed in your popup menu, standard toolbar, or ribbon group. For example, a gallery can be used to create an Office 2013 font or size popup drop-down menu and popup color selector.

Expandable RibbonBar

Using the Office 2013 style Ribbon Bar you can be expanded or collapsed to save workspace area.

    CXTPControl* pControlExpand = pRibbonBar->GetControls()->Add(xtpControlButton, ID_RIBBON_EXPAND);
    pControlExpand->SetFlags(xtpFlagRightAlign);

    CXTPControl* pControlMinimize = pRibbonBar->GetControls()->Add(xtpControlButton, ID_RIBBON_MINIMIZE);
    pControlMinimize->SetFlags(xtpFlagRightAlign);
    Set Control = AddButton(RibbonBar.Controls, xtpControlButton, ID_RIBBON_MINIMIZE, "Minimize the Ribbon", False, "Show only the tab names on the Ribbon.")
    Control.Flags = xtpFlagRightAlign
    
    Set Control = AddButton(RibbonBar.Controls, xtpControlButton, ID_RIBBON_EXPAND, "Expand the Ribbon", False, "Show the Ribbon so that it is always expanded even after you click a command.")
    Control.Flags = xtpFlagRightAlign
	Control = RibbonBar.Controls.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_RIBBON_MINIMIZE, "Minimize the Ribbon", false, false);
	Control.DescriptionText = "Show only the tab names on the Ribbon.";
	Control.Flags = XtremeCommandBars.XTPControlFlags.xtpFlagRightAlign;
	
	Control = RibbonBar.Controls.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID.ID_RIBBON_EXPAND, "Expand the Ribbon", false, false);
	Control.DescriptionText = "Show the Ribbon so that it is always expanded even after you click a command.";
	Control.Flags = XtremeCommandBars.XTPControlFlags.xtpFlagRightAlign;

Office 2000 Theme Support

Command Bars provides your application with full Office 2000 theme support that gives your application the closest, most exact Office 2000 style themes of any 3rd party tool available today. Office 2000 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeOffice2000);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2000
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2000;

Office XP Theme Support

Command Bars provides your application with full Office XP theme support that gives your application the closest, most exact Office XP style themes of any 3rd party tool available today. Office XP is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeOfficeXP);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOfficeXP
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOfficeXP;

Office 2003 Theme Support

Command Bars provides your application with full Office 2003 theme support that gives your application the closest, most exact Office 2003 style themes of any 3rd party tool available today. Office 2003 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeOffice2003);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2003
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOffice2003;

Windows XP Theme Support

Command Bars provides your application with full Windows XP theme support that gives your application the closest, most exact Windows XP style themes of any 3rd party tool available today. Windows XP is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeNativeWinXP);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeNativeWinXP
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeNativeWinXP;

Office 2007 Theme Support

Command Bars provides your application with Office 2007 style theme support. Office 2007 style is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeResource);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Office2007.dll"));
lpszIniFile = _T("OFFICE2007BLUE.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeResource
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Office2007.dll", "Office2007Blue.ini"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeResource;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Office2007.dll", "Office2007Blue.ini");

Ribbon Theme Support

Command Bars provides your application with Office style Ribbon theme support. This theme uses the Ribbon colors in your menus and toolbars. The Office Ribbon style is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeRibbon);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeRibbon
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeRibbon;

Office 2010 Blue Theme Support

Command Bars provides your application with full Office 2010 Blue theme support that gives your application the closest, most exact Office 2010 Blue style themes of any 3rd party tool available today. Office 2010 Blue is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeResource);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Office2010.dll"));
lpszIniFile = _T("OFFICE2010BLUE.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeResource
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Office2010.dll", "Office2010Blue.ini"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeResource;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Office2010.dll", "Office2010Blue.ini");

Office 2010 Black Theme Support

Command Bars provides your application with full Office 2010 Black theme support that gives your application the closest, most exact Office 2010 Black style themes of any 3rd party tool available today. Office 2010 Black is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeResource);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Office2010.dll"));
lpszIniFile = _T("OFFICE2010BLACK.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeResource
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Office2010.dll", "Office2010Black.ini"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeResource;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Office2010.dll", "Office2010Black.ini");

Office 2010 Silver Theme Support

Command Bars provides your application with full Office 2010 Silver theme support that gives your application the closest, most exact Office 2010 Silver style themes of any 3rd party tool available today. Office 2010 Silver is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeResource);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Office2010.dll"));
lpszIniFile = _T("OFFICE2010SILVER.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeResource
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Office2010.dll", "Office2010Silver.ini"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeResource;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Office2010.dll", "Office2010Silver.ini");

Office 2013

The Office 2013 Style includes several different themes. The themes included are the Access, Excel, One Note, Outlook, Power Point, Publisher and Word styles.

Office 2013 Gray

The Office 2013 Gray Styles include two different themes. The themes included are light and dark gray themes.

Office 2013 Background Images

The Office 2013 Background Images Style allows you to select from various preincluded images to customize and decorate your title bar. The backgrounds available are Calligraphy, Circles and Stripes, Circuit, Clouds, Doodle Circles, Doodle Diamonds, Geometry, Lunch Box, School Supplies, Spring, Stars, Straws, Tree Rings and Under Water.

Windows 7 Blue Theme Support

Command Bars provides your application with full Windows 7 Blue theme support that gives your application the closest, most exact Windows 7 Blue style themes of any 3rd party tool available today. Windows 7 Blue is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeResource);

HMODULE hModule = AfxGetInstanceHandle();

LPCTSTR lpszIniFile = 0;
hModule = LoadLibrary(m_csStylesPath + _T("Windows7.dll"));
lpszIniFile = _T("WINDOWS7BLUE.INI"); 

((CXTPOffice2007Theme*)GetCommandBars()->GetPaintManager())->SetImageHandle(hModule, lpszIniFile);
CommandBars.VisualTheme = xtpThemeResource
CommandBarsGlobalSettings.ResourceImages.LoadFromFile App.Path & "\..\..\..\Styles\Windows7.dll", "Windows7Blue.ini"
XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();
CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeResource;
CommandBarsGlobalSettings.ResourceImages.LoadFromFile(StylesPath() + "Windows7.dll", "Windows7Blue.ini");

Visual Studio 2003 Theme Support

Command Bars provides your application with full Visual Studio 2003 theme support that gives your application the closest, most exact Visual Studio 2003 style themes of any 3rd party tool available today. Visual Studio 2003 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeOfficeXP);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOfficeXP
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOfficeXP;

Visual Studio 2005 Theme Support

Command Bars provides your application with full Visual Studio 2005 theme support that gives your application the closest, most exact Visual Studio 2005 style themes of any 3rd party tool available today. Visual Studio 2005 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeWhidbey);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeWhidbey
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeWhidbey;

Visual Studio 2008 Theme Support

Command Bars provides your application with full Visual Studio 2008 theme support that gives your application the closest, most exact Visual Studio 2008 style themes of any 3rd party tool available today. Visual Studio 2008 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeVisualStudio2008);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeVisualStudio2008
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeVisualStudio2008;

Visual Studio 2010 Theme Support

Command Bars provides your application with full Visual Studio 2010 theme support that gives your application the closest, most exact Visual Studio 2010 style themes of any 3rd party tool available today. Visual Studio 2010 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeVisualStudio2010);
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeVisualStudio2010
CommandBars.VisualTheme = XTPVisualTheme.xtpThemeVisualStudio2010;

Visual Studio 2012 Light Theme Support

Command Bars provides your application with full Visual Studio 2012 light theme support that gives your application the closest, most exact Visual Studio 2012 style themes of any 3rd party tool available today. Visual Studio 2012 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeVisualStudio2012Light);

Visual Studio 2012 Dark Theme Support

Command Bars provides your application with full Visual Studio 2012 dark theme support that gives your application the closest, most exact Visual Studio 2012 style themes of any 3rd party tool available today. Visual Studio 2012 is already built in, so you don't have to spend any extra time on this.

GetCommandBars()->SetTheme(xtpThemeVisualStudio2012Dark);

Visual Studio 2015 Themes Support

Calendar provides your application with Visual Studio 2015 style theme support that gives your application the closest, most exact Visual Studio 2015 style themes of any 3rd party tool available today. The Visual Studio 2015 theme is already built in, so you don't have to spend any extra time on this.

Visual Studio 2015 States Support

Calendar provides your application with Visual Studio 2015 state theme support that gives your application the closest, most exact Visual Studio 2015 state themes of any 3rd party tool available today. The Visual Studio 2015 state theme is already built in, so you don't have to spend any extra time on this.

Custom CommandBar Colors

The Command Bars provides support for a custom appearance. This allows you to create your own custom colors or choose from several pre-defined themes.

Custom Color Support

Tabular Toolbars

Tabular toolbars eliminate the need for numerous toolbars crowded around an application. Menu items can now be elegantly displayed in a toolbar. The contents of a toolbar can be accessed simply by clicking on its tab. Tabbed toolbars are not only easy to use, but they increase the usable view area.

A Tabbed ToolBar contains all the functionality of standard toolbars. Many toolbars, called categories can be "tabbed" together. Switching between toolbar categories is similar to a TabControl, you can now access all of your toolbar categories simply by clicking on its tab. Normal toolbars can still be used outside of the TabbedToolbar if needed. The TabbedToolbar will also dock just like a normal toolbar.

// Create ToolBar
CXTPTabToolBar* pToolBar = (CXTPTabToolBar*)
    pCommandBars->Add(_T("Standard"), xtpBarTop, RUNTIME_CLASS(CXTPTabToolBar));

pToolBar->SetBarID(IDR_MAINFRAME);

CXTPTabManagerItem* pItem = pToolBar->InsertCategory(0, _T("Standard"), StandardIcons, _countof(StandardIcons));
pItem->SetImageIndex(IDR_MAINFRAME);
pItem = pToolBar->InsertCategory(1, _T("Advanced"), AdvancedIcons, _countof(AdvancedIcons));
pItem->SetImageIndex(IDR_MAINFRAME);
pItem = pToolBar->InsertCategory(2, _T("Other"), OtherIcons, _countof(OtherIcons));
pItem->SetImageIndex(IDR_MAINFRAME);
pItem->SetTooltip(_T("Other icons"));
Dim TabToolBar as XtremeCommandBars.TabToolBar
'Add a Tabbed ToolBar
Set TabToolBar = CommandBars.AddTabToolBar("Standard Tabbed Toolbar");
XtremeCommandBars.TabToolBar TabToolBar;
//Add a Tabbed ToolBar
TabToolBar = CommandBars.AddTabToolBar("Standard Tabbed Toolbar");

Transparent Toolbars

Commandbars supports Windows 7 style "composition"/transparent toolbars.

	pCommandBars->EnableToolbarComposition();
	CommandBars.EnableToolbarComposition True
	CommandBars.EnableToolbarComposition(true);

Shortcuts

Command Bars allows you to define keyboard shortcuts for each Command Bar control.  You can create a shortcut from any combination of keys on the keyboard.  Command Bars will automatically place the key combination of the shortcut in the menu next to the caption of the control. 

Toggle Accelerator Tips

Command Bars allows users to either turn accelerator tips on or turn them off. With the accelerator tips on, the accelerator key/ shortcut key combination will appear over your toolbar button next to the tool tip as you scroll over them with the mouse. If the accelerator tips are off, the accelerator key/ shortcut key combination will not be displayed in the tool tip.

Accelerator/Shortcut tips enabled


Accelerator/Shortcut tips disabled

User Defined Accelerators\Shortcuts

Command Bars allows users to create their own custom accelerators/shortcut keys for each control in your application at run-time. This provides users a way of increasing productivity by having all their control a key stroke away.  

Alpha Icon Support

Command Bars includes alpha icons support that allows you to use smooth and semi-transparent icons, thus able to blend into the application for a more exact Windows XP look and feel.  Command Bar's ImageManager control allows you to easily add alpha icons to your toolbars and menus.

Add, Edit, Copy, Delete and Modify Command Bar Images

The Command Bars ActiveX Image Manager control gives you greater control over toolbar and menu image customization by allowing you to add, edit, copy, delete, and modify images during design time to give you total control over your Command Bar images.

The Image Manager control is similar to the Microsoft ImageList control, however, the Image Manager is a much more powerful tool.  One of the most noticeable improvements is the Image Manager supports 32-bit Alpha Icons.  When an image is added to the Image Manager, a "disabled" image and a "hot" image are automatically created for you.  You can then individually edit the normal, disabled, and hot images.  Another nice feature is that you can add multiple image sizes for each Command Bar control, for example, you can add 16x16 and 32x32 icons and simply set the LargeIcons property to true to automatically use the larger set of icons.  You can use the SetIconSize Method to switch between image sizes and the Image Manager will automatically load the appropriate size images. 

Hot, Disabled, and Normal Icons

Command Bars allows you to easily add a separate icon that is displayed when your menu bar and toolbar controls are in a "normal", "hot", and "disabled" state.  When the mouse pointer is moved over a control, the "hot" icon will be displayed, and if the control is disabled, the "disabled" icon will be used.  Command Bars will automatically create a "hot" and "disabled" icon for you, all you have to do is provide the "normal" icon.  You can also add your own custom "hot" and "disabled" icons.  When using the ImageManager control, you can add all three image states using the icon editor user interface at design time.  

Normal


Hot


Disabled

Faded Menu and Toolbar Icons

Command Bars shows icons in menus and toolbars as faded until the mouse runs over them, highlighting the icons and showing their true colors and brilliance.

Disabled Menu and Toolbar Icons

Command Bars offers disabled menu and toolbar icons so that users can easily distinguish between the commands that can be used at the moment and those that cannot. Disabled menu icons automatically take on a grayed look and are not highlighted on mouseover.

Menu and Toolbar Icon Shadows

Command Bars creates a shadow behind menu and toolbar icons when they are mousedover to give the icons the appearance of possessing a 3 dimensional look.

Save and Load Command Bar Layout to System Registry

Command Bars allows you to easily save and load your Command Bar layout to and from the system registry.  Only two lines of code are required to load and save your Command Bar layout.  Command Bars will save all of your Command Bar customizations. 

Save and Load Command Bar Layout to String

Command Bars allows you to easily save and load your Command Bar layout to and from a String.  You have more control over what Command Bar customizations are saved/ loaded when saving/loading the layout to/from a string.  When saving to a string you have the option of saving the customization settings from the Keyboard and Options pages of the Customize dialog, you can save only the layout of the Command Bar that have changed, and you can chose not to save the Command Bar layout.    When loading the Command Bar layout from a string you have the option to restore the controls layout, options layout (Keyboard and Options pages of the Customize dialog), and whether to prompt the user before restoring the layout. 

Some applications have multi user access. It can be useful to store a layout for each user in a personal file instead of the registry.

Add, Edit, Copy, Delete and Modify Command Bar Images

The Command Bars ActiveX Image Manager control gives you greater control over toolbar and menu image customization by allowing you to add, edit, copy, delete, and modify images during design time to give you total control over your Command Bar images.

The Image Manager control is similar to the Microsoft ImageList control, however, the Image Manager is a much more powerful tool.  One of the most noticeable improvements is the Image Manager supports 32-bit Alpha Icons.  When an image is added to the Image Manager, a "disabled" image and a "hot" image are automatically created for you.  You can then individually edit the normal, disabled, and hot images.  Another nice feature is that you can add multiple image sizes for each Command Bar control, for example, you can add 16x16 and 32x32 icons and simply set the LargeIcons property to true to automatically use the larger set of icons.  You can use the SetIconSize Method to switch between image sizes and the Image Manager will automatically load the appropriate size images. 

Custom Status Bar

Command Bars comes with a built-in custom status bar.  You have the ability to add panes to the custom status bar, and can access each individual pane to change the message that is displayed.  The custom status bar will automatically use the current Command Bar theme.  The custom status bar can be used to display other useful information such as Caps Lock, Scroll Lock, and Num Lock just by assigning the correct indicator to the status bar pane.

SetCustomTheme(new CCustomFancyTheme());
    CommandBars.VisualTheme = XTPVisualTheme.xtpThemeOfficeXP
        
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.STDCOLOR_BTNFACE, RGB(107, 125, 145)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_TOOLBAR_FACE, RGB(113, 130, 151)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_SPLITTER_FACE, RGB(113, 130, 151)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_TOOLBAR_GRIPPER, vbWhite
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_SEPARATOR, RGB(107, 125, 145)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_TOOLBAR_TEXT, vbWhite
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT, RGB(160, 170, 180)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT_BORDER, RGB(202, 207, 213)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT_CHECKED, RGB(125, 136, 152)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT_CHECKED_BORDER, RGB(202, 207, 213)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT_PUSHED_BORDER, RGB(105, 111, 119)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_HIGHLIGHT_PUSHED, RGB(116, 127, 141)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_MENUBAR_FACE, RGB(245, 245, 245)
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_MENUBAR_BORDER, 0
    CommandBars.GlobalSettings.ColorManager.SetColor XTPColorManagerColor.XPCOLOR_3DSHADOW, 0
    CommandBars.GlobalSettings.ColorManager.SetColor STDCOLOR_BTNSHADOW, 0
    
    CommandBars.Options.LunaColors = False
    CommandBars.RecalcLayout
public XtremeCommandBars.CommandBarsGlobalSettings CommandBarsGlobalSettings;
public AxXtremeCommandBars.AxCommandBars CommandBars;

CommandBarsGlobalSettings = new XtremeCommandBars.CommandBarsGlobalSettings();

CommandBars.VisualTheme = XtremeCommandBars.XTPVisualTheme.xtpThemeOfficeXP;

CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.STDCOLOR_BTNFACE, (uint)System.Drawing.Color.FromArgb(107, 125, 145).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_TOOLBAR_FACE, (uint)System.Drawing.Color.FromArgb(113, 130, 151).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_SPLITTER_FACE, (uint)System.Drawing.Color.FromArgb(113, 130, 151).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_SEPARATOR, (uint)System.Drawing.Color.FromArgb(107, 125, 145).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT, (uint)System.Drawing.Color.FromArgb(160, 170, 180).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT_BORDER, (uint)System.Drawing.Color.FromArgb(202, 207, 213).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT_CHECKED, (uint)System.Drawing.Color.FromArgb(125, 136, 152).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT_CHECKED_BORDER, (uint)System.Drawing.Color.FromArgb(202, 207, 213).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT_PUSHED_BORDER, (uint)System.Drawing.Color.FromArgb(105, 111, 119).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_HIGHLIGHT_PUSHED, (uint)System.Drawing.Color.FromArgb(116, 127, 141).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_MENUBAR_FACE, (uint)System.Drawing.Color.FromArgb(245, 245, 245).ToArgb());
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_MENUBAR_BORDER, 0);
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.XPCOLOR_3DSHADOW, 0);
CommandBars.GlobalSettings.ColorManager.SetColor (XTPColorManagerColor.STDCOLOR_BTNSHADOW, 0);

CommandBars.Options.LunaColors = false;
CommandBars.RecalcLayout();

Commandbar Actions

Commandbar actions eliminate the need to use the update notification\event to update\change the state and properties of an item that appears multiple places in your menus and toolbars. This also makes it easy to localize all the control with a single line of code.

In the diagram below, the "Menu Item," "Toolbar Item" and "User Customized Item (user created toolbar)" all share the same "Item Action." When you modify the properties of the action it will update all occurences of the item.

Loading a Command Bar from a File

The Command Bars Designer Studio allows you to visually create your command bar or ribbon.  The command bar is saved to a file and only one line of code is needed to load the file in your application.  With the Designer Studio, you can easily add/edit/delete accelerators, controls, icons, and toolbars.

Multi-Language Support

Command Bars allows you to easily support multiple languages via a single line of code.  Command Bars supports up to 32 different languages, including Right-To-Left (RTL) support.

Supported Languages:

 Arabic (Saudi Arabia)
 Czech
 Finnish
 Hebrew
 Swedish
 Thai
 Portuguese (Portugal)
 Chinese (PRC)
 Danish
 French (France)
 Hungarian
 Ukrainian
 Dutch
 Romanian
 Chinese (Taiwan)
 English (US)
 German (Germany)
 Italian (Italy)
 Slovenian
 Spanish
 Croatian
 Estonian
 Greek
 Japanese
 Slovakian
 Russian
 South Korean
 Latvian
 Lithuanian
 Norwegian
 Polish
 Portuguese (Brazil)

Adding Custom Controls

Command Bars allows you to easily add your own custom control to your command bar.  For example, you can place a progress bar on your toolbar, or you can display a form when a user clicks on a command bar control

You can easily add a Form control that will be displayed when you click on a command bar control.

Popup Toolbars

Command Bars allows you to display a normal popup menu as a popup toolbar.

Dockable Toolbars

Command Bars allows you to drag-n-drop your toolbars and dock them to any border of your application or you can have a floating toolbar.

Command Bar MDI Buttons

Command Bars allows you to easily add/remove MDI buttons to/from your command bar.  This allows you to control how your MDI Child windows will be resized.

Command Bar Button Styles

Command Bars allows you to easily change the button style of your command bar controls. You can allow Command Bars to choose the most suitable button style or you can pick your own style.  Depending on the type of command bar control, you can display only the caption, the caption and icon, or just the icon.

Button Caption

Button Caption and Icon

Button Icons

Command Bar Standard Button Control

Command Bars allows you to easily add a Control Button control to your command bar. The Control Buttons are automatically themed to match the currently set Command Bar theme.

Control Buttons in a toolbar


Control Buttons in the menu bar

Command Bar Split Button Popup Control

Command Bars allows you to easily add a Split Button Popup control to your command bar.  The Split Button Popup control allows you to add a group of controls that will be displayed when the arrow button is clicked.  Once a control is selected from the drop-down list, you can simply click on the button half of the Split Button Popup to execute the code for the selected control.  The Split Button Popup control can also be used to display a tear-off popup or tear-off toolbar.  The Split Button Popup is automatically themed to match the currently set Command Bar theme.

Split Button Popup in "hot" and "selected" state

Command Bar Button Popup Control

Command Bars allows you to easily add a Control Button Popup control to your command bar. The Control Button Popup is automatically themed to match the currently set Command Bar theme.

Office 2010 Themed Popup

Command Bar Combobox Control

Command Bars allows you to easily add a Combobox control to your command bar. The Combobox control is automatically themed to match the currently set Command Bar theme.

Command Bar Edit Control

Command Bars allows you to easily add an Edit box control to your command bar.  The Edit box control is automatically themed to match the currently set Command Bar theme.

Toggle Buttons

Command Bars offers toggle buttons that users can easily see when commands in your menu and toolbar are "on" or "off".  When a toggle button is clicked, you only need to update the "checked" property of the control.  Controls in you menu bar will have a check mark next to them and toolbar controls will appear in a "selected" state.

MenuBar Toggle Buttons

ToolBar Toggle Buttons

Drag and Drop CommandBar Items

Command Bars gives your application the functionality of drag and drop, which allows users to drag any command from a toolbar or menu and drop it into another. Just open the customize dialog and click on the command you want to move, drop it in the place you want it and continue working!

Edit, Copy and Delete Commands

Command Bars gives you greater control over toolbar and menu customization by allowing you to edit, copy, delete, and modify commands during runtime to give you total control over your application workspace.  Command Bar allows you to specify which Command Bar can be customized, this way the user can only customize the Command Bar you allow them to customize.

Command Bars supports Command Icon Editing...

Add and Remove Toolbar Commands Dynamically

Command Bars provides your application with the ability to add and remove toolbar commands dynamically, ensuring that users have all of the toolbar commands needed, and none that are not wanted. This gives your application the highest functionality with no confusion over the purpose over commands. 

Toolbar Customization

The ‘Toolbar Customization’ feature provides a clean and professional way to customize your workspace. You can easily create new toolbars or modify existing ones with just a few mouse clicks so you can quickly and easily organize your workspace.

Toolbar Customize Dialog

Toolbar During Customization

User Defined Toolbars

Command Bars allows users to create their own custom toolbars in your application at run-time. This provides users a way of customizing the look and feel of the application to fit their personal needs.  

User Defined Command Bar Options

Command Bars allows users to specify which command bar options they want to use.  Users can specify how the menus are displayed, if large icons are used, menu animation, and accelerator tips in your application at run-time. This allows users to obtain a custom look and feel that best suits them.

Set Icon Size and Toggle Large or Small Toolbar Icons

With Command Bars you always have the choice of selecting either small or large toolbar icons. You can easily set the size of the icons that will be used for small and large icons.  Switching between the two can be accomplished with only a few mouse clicks, giving users the satisfaction of controlling the look of the application. With this feature there is no need to worry about running out of space for more icons in using the small icons, and there is no need for squinting to determine which icon to use in using the large icons.

Small Icons

Large Icons

Show text below toolbar icons

Command Bars allows you to show text below your toolbar icons.  You can set this option for each individual toolbar or for all toolbars.

Toggle Tool Tips

Command Bars allows users to either turn tool tips on or turn them off. With the tool tips on, helpful cues will appear over your toolbar button as you scroll over them with the mouse. If the tool tips are off, no such cues will appear on mouseover.

Hide and Show Toolbars

You can use Command Bars to allow users to customize their application setup by showing and hiding toolbars. The user has the choice of which toolbars to show and which to hide, with the option of resetting to revert to the default appearance.  When you right click on any command bar, a context menu is automatically displayed listing all of your command bars giving you the option to hide/un-hide or customize them.

Closeable Toolbars

Command Bars allows you to specify whether a specific command bar can be closed.  If a command bar is not closeable, you will not be able to close or hide the command bar.  You can use this to make sure that important controls are always displayed.

Command Bars supports persistent Toolbars


Command Bars supports Closeable Toolbars

Command Bar Gripper

Command Bars allows you to easily add/remove grippers to/from your Command Bar. Grippers are a graphical way to indicate to the user that the command bar can be "gripped" and moved or docked to another location.

Menu bar and Toolbar with grippers removed, other toolbars can be moved

Intelligent Menus

Command Bars provide you with a simple means of creating your own intelligent menus. You can define a set of commands that stay hidden until the user presses or hovers over the chevron- style button to completely expand the menus.

Menu Animation

Command Bars allows you to configure how your menus will be displayed using animation effects. You can easily choose from one of several predefined effects that include Random, Unfold, Slide, Fade and None.

"Unfold" style menu animation

"Fade" style menu animation

Tear-Off Menus and Toolbars

Command Bars can give your application a professional look with tear-off menus and toolbars that allow users to easily tear menus and toolbars off and float them in separate windows, providing a workspace that is easy to manipulate to anyone's preferences.

Tear-off popup

Command Bar Control Popup Control

Command Bars allows you to easily add a Control Popup control to your command bar.  The Control Popup is automatically themed to match the currently set Command Bar theme.

The menu bar contains themed popup controls

Popup Context Menus

Command Bars allows you to show popup context menus anywhere on the screen.  You can display any existing popup menu or command bar as popup menus, or you can create a temporary popup menu that is created and destroyed each time the popup menu is opened and closed.  You can easily show a different popup when you right-click on different components of your application.

Microsoft® Style MDI Tabbed Interface

Command Bars gives your Windows application a professional modern appearance with MDI tabs that are similar to many popular Microsoft® products.  An MDI tabbed interface can be included in your application with a single line of code.  You can easily turn on and off this feature via code.  Command Bars will automatically use themed tabs that match the currently set Command Bar theme.  For your convenience, you can choose from several pre defined themes or create your own custom look.

.NET Style Tabbed Workspace Groups

Command Bars allows you to easily create .NET style tabbed workspace groupings.  You have the ability to group tabs vertically or horizontally within the tab workspace.  Tabs can easily be moved from one group to another by a drag-and-drop or via code.  You can easily add functionality for the user to create a new horizontal/vertical group and move a tab to the previous/next group simply by adding a control in your Command Bar.

Themed MDI Client Backcolor

Command Bars will automatically use a themed MDI Client backcolor that matches the currently set Command Bar theme.  You can easily enable/disable themed backcolor.  If enabled, the backcolor of the MDIClient is calculated from current theme, if diabled the Form::BackColor property will be used.

MDI Client with themed backcolor
MDI Client without themed backcolor

Tab Position

Command Bars allows you to position the tabs on the top, left, bottom, or right with a single line of code.  You can change the position of the tabs at any time in your program. The picture below has the tabs positioned to the left.

Tab Layout

Command Bars allows you to change the layout of your tabs with a single line of code.  The tabs can be in a compressed, fixed, auto size, size to fit layout, multi-row, or rotated. You can change the layout of the tabs at any time in your program. The picture below show multi-row tabs.

Rotated Tab Layout

Command Bars allows you to use rotated tabs in the tab workspace.

Tab Appearance Styles

Command Bars allows you to easily change the appearance of your tabs. You can choose from several built in appearances such as Excel, MS Office, Flat, Visio, Visual Studio and many more!

Tabs using the Excel appearance with Office 2010 coloring

Tab Color Styles

Command Bars allows you to fully customize the appearance of your tabs by applying color styles.  For your convenience, you can choose from several built in color styles such as Office 2010, Windows XP, Visual Studio 2010 and many more!

Tabs using the Visual Studio 2010 coloring and Office 2010 appearance

Tab Margins

Command Bars allows you to manipulate the margins of the components that make up the tabs.  You can change the button, header, client, and control margins of the tabs.  The button margin is the area in the tab button surrounding the tab caption, the header margin is the area surrounding the tab buttons, the client margin is the area surrounding the client (area inside the tabs), and the control margin is the area surrounding all of the tabs and tab client area.

Tabs using enlarged button margins

Galleries

The Office style CommandBar Gallery is a control that displays a collection of items that can be scrolled and displayed in a popup menu, such as pictures, font names, etc. CommandBar Gallery objects can be displayed in a standard toolbar, popup menu, combo, push button popup, or a Ribbon Bar group.

Color Picker Control

The Color Picker Button can be placed anywhere a normal button control can be placed and has several features including options for standard and extended color selection, automatic or fill color button, hex display, and an extended color selection dialog.

The Color Picker Button is shown with a default theme and the Visual Studio Dark theme. The standard colors and more colors sections can be disabled or enabled, as well as the no fill section.

Button Styles

The ‘themed button styles’ are great for displaying graphics and have several display options available.  You can choose from flat, semi-flat or 3D style buttons, turn on or off focus display, center images and text or highlight the button when the item is selected.

Auto Complete

Using Auto Complete will cause the combo box to suggest an item as you type from the combo box's list of items. The suggestion will get more accurate as more characters are typed. This allows users to easily find items within the combo box without having to scroll through the list of items.

In the picture below, "Seg" was typed

Font Selection Combo Box

The ‘Font Selection Combo’ displays a drop list of fonts and visually displays their appearance to the user.  The control works the way a normal combo box would work and easily allows you to define the font at startup and retrieve user selections. * This control is available for MFC only as a dedicated control, COM must use CommandBar galleries.

Combo Box Control Themes

Several of the most popular themes can be applied to the combo box control included with Xtreme Common Controls.

In the picture below, the "Office 2010 Silver" theme is used:

Tip of the Day Dialog

The Visual Studio style ‘Tip of the Day Dialog’ is a quick and easy way for you to include a tip of the day in your application.  The control reads a simple tips.txt file that you create and display messages to your end users and stores its settings in your systems registry or .ini file.

Browse for Folder Dialog

The ‘Browse for Folder Dialog’ conveniently wraps the ‘BrowseForFolder’ API which allows you to display the browse dialog with a single line of code.  You can quickly and easily display the startup directory and retrieve the user selection.

Resizable Layout Manager

The ‘Resizable Layout Manager’ classes found in Controls allow you to easily create flicker free resizing Dialogs, Form Views, and Property Sheets.  You can quickly assign how to move and resize each control located on your dialog template with a single line of code.

Keyboard Shortcut Manager Resizing Property Sheet

MDI Windows Manager

The ‘MDI Windows Manager’ provides an easy way for you to manage your applications open documents. The manager allows you to select all or some of your open documents to easily manage them at runtime.

Search Options Control

The ‘Search Options’ class is similar to the Search Options item found in the search pane of Windows Explorer as it is seen in MS Windows. This class allows you to associate a group of controls to be hidden or displayed when the Search Options item is expanded and contracted. You can use this to group and organize controls so that they are easy to find and at the same time can be hidden if no longer needed.

Color Selection Dialog

The Office Style Color Selection Dialog has several features including options for standard and extended color selection, automatic or fill color buttons, hex display, and an extended color selection dialog.

Standard and Custom Color Pages

Browse Edit Control

The ‘Browse Edit Control’ allows you to display a standard edit control with a browse button associated with it.  Easily browse for files or folders by simply changing the object type. You can even associate a popup menu with the browse button. This dedicated browse edit is only available in MFC, however the same can be accomplished in COM using an edit control as a "buddy control" to a button.

Hex Edit Control

The ‘Hex Edit Control’ allows you to display and edit hex data visually.  You can easily retrieve data selection and define display styles.  Works great with the Controls masked edit control to display hex data.

Mask Edit Control

The ‘Masked Edit Control’ allows you to define a display and edit mask for the control.  Easily create your own mask style for date, telephone, or any edit display.  You can restrict the use of certain characters and define a default string that is displayed.

Edit List Box Control

The ‘Edit List Box Control’ provides a Visual Studio style edit list box that allows you to display a list of editable items. When an item in the list is double-clicked an edit box appears allowing the text to be edited, you also have the option of displaying a "..." button on the end of the edit box. The edit list comes with a built-in control panel that allows items to be navigated, added, and deleted.

Edit Control Themes

Several of the most popular themes can be applied to the edit control included with Xtreme Common Controls.

Themes Progress Bars

The ProgressBar control shows the progress of a lengthy operation by filling a rectangle with chunks from left to right. Many of the most popular themes such as Office are supported.

Popup Control Theme Support

Controls's popup control provides several built in themes that are ready to use. You can choose from one of the predefined themes or create your own.

Custom Codejock Theme

MSN Theme

Custom "Image" Support

Office Theme

Custom "Tooltip" Theme

Popup Control Animation

Controls's popup control allows you to configure how your popup window will be displayed using animation effects. You can easily choose from one of several predefined effects that include Unfold, Slide, Fade, and None.

Fade Animation

Unfold Animation

Slide Animation

Popup Control Transparency and Hyperlinks

Controls's popup control allows you to configure the transparency level of your popup window.

You can easily add a hyperlink to your popup window.  When you move the mouse cursor over text that is a hyperlink, the text will become underlined indicating that you will be redirected to another window or website when clicked on. And the window will become opaque again when the mouse is over the window.

Hyperlink Support

Window Transparency

No Transparency

50% Transparency

Popup Control Animation and Delay

Controls popup control allows you to easily configure the amount of time the popup window is displayed and the amount of time it takes to complete the animation when opening and closing your popup windows.  You can configure the window to open and close as long or as short as you like.

Animation Delay

Popup window is shown briefly

Popup window is shown a little longer


Animation Speed

Normal animation speed

Fast animation speed

Task Dialog Control

The TaskDialog Control creates, displays, and operates a task dialog. A task dialog is similar to, while much more flexible than, a basic message box. The task dialog contains application-defined messages, title, verification check box, command links and push buttons, plus any combination of predefined icons and push buttons.



Themes Scroll Bars

Scroll bars provide easy navigation through a long list of items or a large amount of information. Many of the most popular themes such as Office are supported.

Excel Style Tab View

The Excel style ‘Flat Tab Control’ is an excellent way to display several windows using a tab style interface.  There are several features available including home, end, back, and forward buttons.  Easily add list style or any control for display of output or data.

MDI Tabbed Interface

The ‘MDI Tabbed Interface’ control allows you to display a tabbed MDI interface with your application.  This control allows you to set the tab direction and can be included in your application with a single line of code.  You can easily turn on and off this feature programmatically.

MDI Tab View Control

The ‘MDI Tab View Control’ allows you to define a multiple view document.  You can easily add and remove views or controls to the tab of this CView derived class.  Great for displaying several different views simultaneously.

Enhanced Tab Control

The “Enhanced Tab Control” provides advanced features such as auto condensing tabs, tab icons and Visual Studio .NET style themes.  You can easily change the tab control's style during runtime to provide greater control and ease of use.

Tab Control Themes

The “Tab Control” provides several of the most popular themes which include Visual Studio .NET, Office, Windows, and many more! The themes are already built in, so you don't have to spend any extra time on this.

Flicker Free Drawing and Animation

Controls provides flicker free drawing and animation by extending the CDC which helps eliminate screen flicker when windows are resized, by painting to an off screen bitmap. Several handy methods are included for animating any CWind or owner drawn objects. Some of the animation types include Unfold, Slide, Fade, Noise, Stretch, and Circles.

* These methods are available for MFC only.

Displaying a Picture Using the Noise Animation

Explorer List and Tree Controls

The ‘Windows Shell List and Tree’ allow you to create Windows Explorer list and tree control that you can easily add to your application's workspace. Easily browse and manage your file system using the explorer list and tree controls.

System Tray Icon Control

The ‘System Tray Icon Control’ allows you to quickly and easily add your application's icon to the system tray. You can easily define popup menus, balloon tips and even animation to your displayed icons.  Easily minimize to and maximize from the system tray and much more!

Shell Icon Popup Window

Shell Icon Popup Menu

XAML Markup Support

Most controls allows you to use XAML to format the contents of the control. Codejock ships an XAML editor utility to help you make XAML snippets to place in the controls.

Taskbar Manager Control

The Taskbar Manager control allows you to add an overlay icon, progress bar, and jumplist to the task bar button for your application while using Windows Vista or Windows 7.

Overlay Icons

Progress Indicator

Jumplist

Check List Box

The ‘Check List Box’ mimics the look and feel of the Office check list box control. The Check List Box allows you to display items that can be selected or un-selected by the user placing a check next to the item. You can enable / disable items or even set the check box image list for the control.

Enhanced Multi-selection Tree

The ‘Multi-selection Extended Tree’ control allows you to select multiple tree items, sort and search tree items, define font style, font color and weight.  Easily traverse the tree control and set the selection mode for multiple tree item selection.

List Control

The ‘List Control’ is great for creating an Outlook style list control.  You can define a Windows Classic, Windows Explorer, Office, etc style header, sort arrows, bold or normal text, size columns to fit the display area, define a minimum size for a column, disable sizing or any combination of extended features.

Tooltip Window

The ‘Tooltip Window’ control allows you to display popup messages to the end user.  You can easily define the message, tip window and border color, text location within the window, line spacing, shadow offsets, and timeout values.

Header Control

The ‘Header Control’ is great for creating an Outlook style header for your list control.  You can define a Windows Classic, Windows Explorer, Office, ect style header control, sort arrows, bold or normal text, size columns to fit the display area, define a minimum size for a column, disable sizing, drag and drop columns or any combination of extended features.

Hyperlink Control

The ‘Hyperlink Control’ allows you to define static text strings as hyperlinks.  These links act the same way a hyperlink would act on a html page.  You can set the colors for the "normal" link text, "hover" link text and "visited" link text, or turn on and off the underline option. * This dedicated hyperlink control is only available for MFC, however the same can be accomplished in COM using XAML Markup in a label control.

Enhanced Splitter Window

The ‘Splitter Window’ class is an excellent enhancement for your application.  With several features and display options you will quickly see why.  Set the display to flat or 3D style borders, enable dotted, hatched or solid tracking lines, easily swap and replace views, remove rows and columns, and disable sizing all together.

Window Position

The ‘Window Position’ control will remember and restore the size and position of the last window open in the MDI view. Not only is the child window's position saved, but the main application's size and position is saved and restored too. This eliminates users having to manually resize and move windows.

Registry Manager

The ‘Registry Manager’ class allows you to conveniently store and retrieve many different types of data to and from the system registry or an INI file which provides easy access for your applications. You can use the Registry manager to read and write strings, integers, and binary values to the system registry or an INI file. The Registry Manager provides many methods for saving values such as LPCTSTR, CPoint, CRect, Double, Dword, and COLORREF.

Caption Bar Control

Caption Bars can be used to display caption or as an info bar. You can easily use Caption Bars with the Outlook Bar to create a unique way of displaying information to the end user. You can also add buttons and images to the caption bar.

Tag Cloud

The ‘Tag Cloud’ class allows you to create a tag cloud filled with relevant keywords or tags. Items can be scored for importance, which can be used to affect thier font weight or color. Tags can be sorted by score or name, ascending or decending. Custom background colors are abailable, and so are text colors, font and size for each available score. Tag Cloud supports tooltips.

An example of the tag cloud as seen in the tag cloud sample.

Tooltip Window

The ‘Tooltip Window’ control allows you to display popup messages to the end user.  You can easily define the message, tip window and border color, text location within the window, line spacing, shadow offsets, and timeout values.

Nested Grouping

You can use Docking Pane to group windows in a tab style arrangement and display them in any arrangement docked to any side of your application workspace. The docking panes can be grouped together or docked inside one another to make the best use of available workspace.

Docking Pane supports nested grouping

Whidbey Style Alpha Docking Context and Docking Stickers

Codejock Software's Docking Pane provides support for Visual Studio "Whidbey" docking context and docking stickers.  While dragging a docking pane in your application, the alpha docking context will shade the area that the docking pane can occupy.  Docking stickers will visually display where the docking pane can be docked by displaying stickers that point to the appropriate locations.

Visual Studio 2010 Style Alpha Docking Context and Docking Stickers

Codejock Software's Docking Pane provides support for Visual Studio 2010 style docking context and docking stickers.  While dragging a docking pane in your application, the alpha docking context will shade the area that the docking pane can occupy.  Docking stickers will visually display where the docking pane can be docked by displaying stickers that point to the appropriate locations.

Detachable Tab Windows

You can use Docking Pane to create tabbed dockable windows that you can locate along any side of your application workspace. These tabbed windows allow you to drag and "Tear Off" any of the individual tabs to create new windows that can either float or dock along the side of your application workspace. You can also drag and drop to combine windows which will create a new tab in each dockable window. An outline is drawn to depict where your window will be located when you tear off or combine.

Docking Pane supports Alpha Context and Docking Stickers

Docking Pane Splitter Tracker

Docking Pane allows you to change what your docking panes look like when they are resized.  You can use a splitter tracker that will draw an outline to depict the new size of your docking pane window or you can resize your docking panes in "real-time," instantly seeing how your new docking pane will look.

Splitter tracker enabled

Splitter tracker disabled

WYSIWYG DotNET and Visio Style Docking

Codejock Software's Docking Pane gives your application the power of WYSIWYG (what you see is what you get) style docking panes. You can create docking and splitting windows that are similar to Visual Studio .NET or Microsoft Visio. This gives you the ability to dock your windows to any side of your application's desktop while a visual clue is displayed representing where the docking pane will be positioned.

Docking Pane supports WYSIWYG style docking

Docking Pane Auto Hide Delay

Docking Pane allows you to change the speed at which your docking panes are displayed and auto hidden.  You can easily change the delay of the auto hide windows as fast or slow as you want so your windows hide/show at the perfect speed.

Normal Animation Delay

Slow Animation Delay

GetDockingPaneManager()->SetAnimationDelay(0.05);
DockingPaneManager.Options.AnimationDelay = 0.05
DockingPaneManager.Options.AnimationDelay = 0.05;

Pinnable Panes

Codejock Software's Docking Pane allows you to pin to your hidden panes allowing them to stay visible. You can also press the pin to easily hide panes to allow for more area available to your workspace.

Docking Pane supports pinnable panes

Float and Dock Panes

Codejock Software's Docking Pane provides support for floating and docking window panes. You can easily float your docked pane or dock your floating pane to any side of your applications workspace area, or to any side of any docking pane!

Docking Pane supports Float and Dock Panes

Docking Pane Pinnable Floating Frames

Docking Pane allows you to pin your floating panes allowing them be hidden/visible. You can press the pin to easily hide floating panes to allow for more area available to your workspace.

Docking Pane Hide Client

Docking Pane allows you to hide the client area of your application so that your docking panes can occupy the entire application workspace.

Drag-n-Drop Pane Positioning

Codejock Software's Docking Pane gives you the flexibility of drag and drop positioning. You can easily drag and drop any docking pane or tab onto any dockable area such as your application workspace or another docking pane.

Docking Pane Supports Drag-n-Drop Pane Positioning

Hide and Show Panes

Codejock Software's Docking Pane allows you to easily hide and show panes to optimize your application workspace.  You can hide your docked or floating panes at runtime easily by pressing the small ‘x’ located at the upper right side of the caption area.  You can also easily add commands to display and activate your panes thru your application menu.

Pane Caption Menu Button

Codejock Software's Docking Pane allows you add a button to the caption of your panes so that you can display a custom menu. You do not have to display a menu, you can display whatever you want under the menu button. The menu button allows you to provide menu options that apply to the pane in the menu that is easy to find and use.

Visual Studio Style "Cascading" Panes

Codejock Software's Docking Pane provides you with the "cascading" pane navigation functionality seen in Visual Studio. When the "Maximize" button is pressed on a pane, it will cause the pane to occupy the entire area of all adjacent panes. Then the "Maximize" button will change to a "Restore" button for the currently expanded pane. When the "Restore" button is pressed, then all the panes are returned to their original size and location. This provides grouping functionality to pages that are not grouped together.

Caption Direction

Codejock Software's Docking Pane allows you to change the direction that the docking pane caption will be displayed. The pane captions can be displayed vertically or horizontally. This allows you to display the caption in the direction that best fits your application. You have the option to always display the captions vertically or horizontally, to change direction by position which will display the caption horizontally if the pane is docked to the top or bottom of the application, and to display the caption vertically if the pane is docked to the left or right of the application. You can also change the direction by the size of the pane which will display the caption horizontally if the pane's width is smaller than it's height, and it will be displayed vertically if the pane's height is smaller than the pane's width.

Both horizontal and vertical caption directions

Office 2013 Theme Support

Codejock Software's Docking Pane provides your application with full Office 2013 theme support that gives your application the closest, most exact Office 2013 style themes of any 3rd party tool available today. Office 2013 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Theme Support

Codejock Software's Docking Pane provides your application with full Office 2010 theme support that gives your application the closest, most exact Office 2010 style themes of any 3rd party tool available today. Office 2010 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2007 Theme Support

Codejock Software's Docking Pane provides your application with full Office 2007 theme support that gives your application the closest, most exact Office 2007 style themes of any 3rd party tool available today. Office 2007 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2003 Theme Support

Codejock Software's Docking Pane provides your application with full Office 2003 theme support that gives your application the closest, most exact Office 2003 style themes of any 3rd party tool available today. Office 2003 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Visual Studio 2012 Light Style Theme Support

Codejock Software's Docking Pane provides your application with full Visual Studio 2012 Light Style theme support that gives your application the closest, most exact Visual Studio 2012 Light Style themes of any 3rd party tool available today.

Visual Studio 2012 Dark Style Theme Support

Codejock Software's Docking Pane provides your application with full Visual Studio 2012 Dark Style theme support that gives your application the closest, most exact Visual Studio 2012 Dark Style themes of any 3rd party tool available today.

Visual Studio 2010 Style Theme Support

Codejock Software's Docking Pane provides your application with full Visual Studio 2010 Style theme support that gives your application the closest, most exact Visual Studio 2010 Style themes of any 3rd party tool available today.

Visual Studio 2008 Style Theme Support

Codejock Software's Docking Pane provides your application with full Visual Studio 2008 Style theme support that gives your application the closest, most exact Visual Studio 2008 Style themes of any 3rd party tool available today.

Visual Studio Whidbey Style Theme Support

Codejock Software's Docking Pane provides your application with full Visual Studio Whidbey Style theme support that gives your application the closest, most exact Visual Studio Whidbey Style themes of any 3rd party tool available today.

Visio Theme Support

Codejock Software's Docking Pane provides your application with full Visio theme support that gives your application the closest, most exact Visio Style themes of any 3rd party tool available today.

Gripper Theme Support

Codejock Software's Docking Pane provides built in theme support for a grippered appearance.  You can choose this theme for a more classic windows appearance, or choose from several pre-defined theme styles created for Docking Pane.

Docking Pane Themed Floating Frames

Docking Pane allows you to use themed floating frames for your floating docking panes.  Docking Pane will automatically use themed floating frames that match the currently set Docking Pane theme.

Splitter Styles

Docking Pane provides you with many different themes that you can apply to the splitter of the docking panes. This will allow you to completely theme your docking panes by matching the splitter theme with the pane's theme.

3D Style

Office 2003 Style

Office XP Style

Flat Style

Flat Style

Save and Load Docking Pane Layout to/from System Registry

Docking Pane allows you to easily save and load your Docking Pane layout to and from the system registry.  Only two lines of code are required to load and save your  Docking Pane layout.  Xtreme Docking Pane will save the status, location, and preferences of each individual docking pane 

Save and Load Docking Pane Layout to\from String

Docking Pane allows you to easily save and load your Docking Pane layout to and from a String.  Only two lines of code are required to load and save your  Docking Pane layout.  Docking Pane will save the status, location, and preferences of each individual docking pane.  Layouts can easily be saved to a file so each individual user can have their own custom layout.

Some applications have multi user access. It can be useful to store a layout for each user in a personal file instead of the registry.

Static Frame

Docking Pane allows you to add a static frame around the entire TabControl.  You can easily add or remove the static frame via code.

Static frame

No Frame

Show Tab Icons

Docking Pane allows you to easily show/hide icons in your tab buttons.

Tab icons hidden

Tab icons visible

Hot Tracking

Docking Pane allows you to easily enable/disable Hot Tracking.  When you move the mouse cursor over your tabs, they will become "Hot" when Hot Tracking is enabled.  This allows you to easily see which tab the mouse cursor is over.

Bold Selected Tabs

Docking Pane allows you to easily enable/disable Bold Selected tabs.  When you click on a tab, the currently selected tab caption is displayed in bold type, making it easy to see which tab is selected.

Bold selected tabs enabled

Bold selected tabs disabled

Tab Position

Docking Pane allows you to position the tabs on the top, left, bottom, or right with a single line of code.  You can change the position of the tabs at any time in your program.

Tabs positioned at the top

Tab Layout

Docking Pane allows you to change the layout of your tabs with a single line of code.  The tabs can be in a compressed, fixed, auto size, size to fit, multi-row, or rotated layout. You can change the layout of the tabs at any time in your program.

"Compressed" tab layout

"Fixed" tab layout

"Size-to-Fit" tab layout

Tab Appearance Styles

Docking Pane allows you to easily change the appearance of your tabs. You can choose from several built in appearances.

Tabs using the Excel appearance with Office 2010 coloring

Tab Color Styles

Docking Pane allows you to fully customize the appearance of your tabs by applying color styles.  For your convenience, you can choose from several built in color styles.  Color styles can be used with Appearance styles to give your application a unique professional look.  For example, your tabs can have a Visual Studio appearance using Office 2003 colors.

Tabs using the Visual Studio 2010 coloring and Office 2010 appearance

Tab Margins

Docking Pane allows you to manipulate the margins of the components that make up the tabs.  You can change the button, header, client, and control margins of the tabs.  The button margin is the area in the tab button surrounding the tab caption, the header margin is the area surrounding the tab buttons, the client margin is the area surrounding the client (area inside the tabs), and the control margin is the area surrounding all of the tabs and tab client area.

Tabs using enlarged button margins

Rotated Tab Layout

Docking Pane allows you to change the orientation of the pane tabs. Depending on the position of the tabs, you can give the tab control a totally different look. You can display tabs "rotated" from their natural position which will cause the caption of the tabs displayed on the top or bottom to be displayed vertically, and tabs displayed on the left or right to be displayed horizontally.

Fully Customizable Auto Hide Panels

Docking Pane allows you to customize the appearance of your docking pane auto hide panel in the same way you can customize the docking pane tabs.  You can use a completely different appearance and color scheme in your auto hide panel and normal docking pane tabs.  When your docking panes are visible they can be using a totally different appearance, color scheme, layout, position, margins, etc.. than when the panes are hidden and displayed in the auto hide panel.  For example, your docking pane tabs can use the Office style tabs when the docking pane is visible, and they can use Excel style tabs when displayed in the auto hide panel.

Integrated Toolbar

Property Grid comes with its own toolbar built in for sorting data which can easily be turned on or off. The toolbar supports categorized and alphabetical sorting routines.

Help Panel

Property Grid comes with an integrated help panel that you can use to display helpful hint about selected items in your property grid. This feature can easily be turned on or off.

Hierarchical List

Property Grid allows you to display your data in a hierarchical list for editing. You can easily group multiple levels of data that can be displayed by expanding or collapsing property groups.

.NET style Verb Panel

Verbs will be displayed in a separate panel just below the property grid. Verbs are links that can be used to perform actions in your application. If both the verb panel and help panel are visible at the same time, the verb panel is displayed above the help panel.

A PropertyGridVerb is a link similar to what is seen in Visual Studio .NET. For example, when the DataGrid control is selected at design time in VS .NET, an AutoFormat link button appears in the Properties window just below the property grid and above the help panel.

Inplace Buttons

Property Grid allows you to add in-place buttons to your data values. These buttons can be shown all the time or only when the item has focus. For example, you can add a "find" button to a text field.

Data Sorting

Property Grid allows you to sort your data by category, alphabetical, or leave it unsorted. This built in feature allows greater control over how your data is displayed.

Sort your data by category
And alphabetically

Combo Button

You can use the Property Grid's "combo button" to create a combo style drop-down list.

Edit Property

You can use the Property Grid's "expand" button to display your own custom dialog when the user clicks on the expand button.  You can add the expand button to any of the data types that do not normally have one.

Splitter Position

Property Grid allows you to change the position of the splitter that splits the data from the description in your property grid.  This allows you to easily adjust the splitter so you can display as much or as little of the data description as you like.

Splitter position set to 30%

Splitter position set to 70%

Mask Edit

You can use the Property Grid's "mask edit" property which allows you to create a mask edit style property item.  You can use any combination of "mask characters" combined with additional characters to create a restrictive field for text entry.  For example, if you wanted to display a prompt for a telephone number, you can restrict data entry to only numeric values with the first three numbers inside of parentheses.

Item Metrics

Property Grid allows the use of XAML code snippets to be used for formatting text of the categories and items in the property grid.

Customizable Appearance

Property Grid allows you to customize the appearance of the property grid by setting your own colors and fonts for the control. Combined with the ability to hide/show the toolbar and help panel, gives you greater control over how your grid will appear.

Boolean Data Type

You can use the Property Grid's "Boolean" data type to create a Boolean (true/false) style property item.

Color Data Type

You can use the Property Grid's "Color" data type to create a Color style property item that will display a "color picker" dialog when you click on the expand button that allows you to choose any of the predefined colors, or you can define a custom color.

Color data type


A color picker dialog is included to select colors

Date Data Type

You can use the Property Grid's "Date" data type to create a Date style property item that will display a "date picker" when you click on the expand button that allows you to choose the day, month, and year from a GUI.

Double Data Type

You can use the Property Grid's "double" data type to create a Double style property item that will store a decimal point along with the number so you can perform precise calculations. 

Font Data Type

You can use the Property Grid's "font" data type to create a font style property item.  This property item will display a browse button that when pressed will display a font selection dialog.

Font data type

A Font selector dialog is included

Number Data Type

You can use the Property Grid's "number" data type to create a number style property item.

Picture Data Type

You can use the Property Grid's "picture" data type to create a picture style property item.  This property item will display a browse button that when pressed will display a file selection dialog that allows you to import a picture file.  Supported picture formats include bmp, ico, and cur just to name a few.

Picture data type

A file selection dialog is included to choose your picture

Read Only Data Type

You can use the Property Grid's "read only" data type to create a property item that is read only.  Users will be able to see the data, but can not edit it. 

Text Data Type

You can use the Property Grid's "text" data type for text based properties.

Options Data Type

You can use the Property Grid's "options" data type to add options and radio buttons. This is useful when a property can have more than 1 value or you want to allows them to select 1 or more values for a given property.

Dynamic Data Types

You can use the Property Grid's "dynamic" data types to show or hide more options based on the value of another value.

Office 2007 Blue Theme Support

Codejock Software's Property Grid provides your application with full Office 2007 Blue theme support that gives your application the closest, most exact Office 2007 Blue style themes of any 3rd party tool available today. Office 2007 Blue is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2007 Black Theme Support

Codejock Software's Property Grid provides your application with full Office 2007 Black theme support that gives your application the closest, most exact Office 2007 Black style themes of any 3rd party tool available today. Office 2007 Black is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2007 Silver Theme Support

Codejock Software's Property Grid provides your application with full Office 2007 Silver theme support that gives your application the closest, most exact Office 2007 Silver style themes of any 3rd party tool available today. Office 2007 Silver is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Blue Theme Support

Codejock Software's Property Grid provides your application with full Office 2010 Blue theme support that gives your application the closest, most exact Office 2010 Blue style themes of any 3rd party tool available today. Office 2010 Blue is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Black Theme Support

Codejock Software's Property Grid provides your application with full Office 2010 Black theme support that gives your application the closest, most exact Office 2010 Black style themes of any 3rd party tool available today. Office 2010 Black is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Silver Theme Support

Codejock Software's Property Grid provides your application with full Office 2010 Silver theme support that gives your application the closest, most exact Office 2010 Silver style themes of any 3rd party tool available today. Office 2010 Silver is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2013 Theme Support

Codejock Software's Property Grid provides your application with full Office 2013 theme support that gives your application the closest, most exact Office 2013 style themes of any 3rd party tool available today. Office 2013 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Visual Studio 2010 Theme Support

Codejock Software's Property Grid provides your application with full Visual Studio 2010 theme support that gives your application the closest, most exact Visual Studio 2010 style themes of any 3rd party tool available today. Visual Studio 2010 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Visual Studio 2012 Light Theme Support

Codejock Software's Property Grid provides your application with full Visual Studio 2012 Light theme support that gives your application the closest, most exact Visual Studio 2012 Light style themes of any 3rd party tool available today. Visual Studio 2012 Light is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Visual Studio 2012 Dark Theme Support

Codejock Software's Property Grid provides your application with full Visual Studio 2012 Dark theme support that gives your application the closest, most exact Visual Studio 2012 Dark style themes of any 3rd party tool available today. Visual Studio 2012 Dark is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2003 Theme Support

Codejock Software's Property Grid provides your application with full Office 2003 theme support that gives your application the closest, most exact Office 2003 style themes of any 3rd party tool available today. Office 2003 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Windows XP Theme Support

Codejock Software's Property Grid provides your application with full Windows XP theme support that gives your application the closest, most exact Windows XP style themes of any 3rd party tool available today. Windows XP is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Delphi Theme Support

Codejock Software's Property Grid provides your application with full Delphi theme support that gives your application the closest, most exact Delphi style themes of any 3rd party tool available today. Delphi is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Cool Theme Support

Codejock Software's Property Grid provides built in theme support for a "cool" appearance. You can choose this theme for a more classic windows appearance, or choose from several pre-defined theme styles created for Property Grid.

Simple Theme Support

Codejock Software's Property Grid provides built in theme support for a "simple" appearance. You can choose this theme for a more classic windows appearance, or choose from several pre-defined theme styles created for Property Grid.

Default Theme Support

Codejock Software's Property Grid provides built in theme support for a "default" appearance.  You can choose this theme for a more classic windows appearance, or choose from several pre-defined theme styles created for Property Grid.

Integrated Field Chooser

Report Control comes with its own built in Field Chooser. The field chooser holds a list of all the hidden columns in the report. Columns can be dragged to and from the field chooser to hide or show the columns. You can choose to sort the columns in the field chooser in ascending or descending order.

Drag and Drop Columns to\from the Field Chooser

Virtual Mode

Report Control supports millions upon millions of rows without sacrificing performance using virtual mode.

Preview Mode

Report Control includes an integrated preview mode that allows you to display a row of text under each row. The text can represent data such as a snippet of an email. Both the background and text color of the preview mode can be customized.

Preview mode allows extra text to be displayed under a row, the text can be as long as you want

Group Box

Report Control includes a group box that allows you to easily group the rows in the report. The report supports multiple levels of grouping simply by dragging columns into the group box. The rows in the report will be displayed hierarchically according to column arrangement in the group box.

Report Control supports multi-level grouping

Reusable Layouts

Report Control allows multiple layouts to be saved and then loaded at any time. The reusable layouts allow you to restore information such as the color of the report.

Multiple Layouts can be saved and applied to the report at any time

Multiple Row Selection

Report Control allows you to select multiple rows at any one time. Report Control supports many of the populate methods for selecting rows such as selecting rows with the mouse, use Shift + Arrow keys, or hold the Control key while clicking on the item.

You can select multiple rows at a time

Filtering Rows Using a Text String

Report Control allows you to filter the rows that are displayed by using a text string. This allows you to quickly display rows that meet specific criteria without having to compare each individual row to see if the row should be displayed.

You can use the filter feature to specify that only rows with a specified text string will be displayed

Tree View

Report Control can display rows hierarchically with tree view support. This provides another way to group related rows. When a row has child rows, then a "+" icon is displayed indicating that more rows are hidden. Clicking on the "+" will display all child rows.

Report Control can display a hierarchical list of rows

Office 2013 Theme Support

Codejock Software's Report Control provides your application with full Office 2013 theme support that gives your application the closest, most exact Office 2013 style themes of any 3rd party tool available today. Office 2013 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Blue Theme Support

Codejock Software's Report Control provides your application with full Office 2010 Blue theme support that gives your application the closest, most exact Office 2010 Blue style themes of any 3rd party tool available today. Office 2010 Blue is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Black Theme Support

Codejock Software's Report Control provides your application with full Office 2010 Black theme support that gives your application the closest, most exact Office 2010 Black style themes of any 3rd party tool available today. Office 2010 Black is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2010 Silver Theme Support

Codejock Software's Report Control provides your application with full Office 2010 Silver theme support that gives your application the closest, most exact Office 2010 Silver style themes of any 3rd party tool available today. Office 2010 Silver is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2007 Blue Theme Support

Codejock Software's Report Control provides your application with full Office 2007 Blue theme support that gives your application the closest, most exact Office 2007 Blue style themes of any 3rd party tool available today. Office 2007 Blue is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2007 Silver Theme Support

Codejock Software's Report Control provides your application with full Office 2007 Silver theme support that gives your application the closest, most exact Office 2007 Silver style themes of any 3rd party tool available today. Office 2007 Silver is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Office 2003 Theme Support

Codejock Software's Report Control provides your application with full Office 2003 theme support that gives your application the closest, most exact Office 2003 style themes of any 3rd party tool available today. Office 2003 is already built in, so you don't have to spend any extra time on this.  This allows you the ability to stay ahead of the competition with the latest in application GUI design.

Resize, Remove, and Reorder Columns

Report Control allows you to easily resize, remove, and reorder the columns in the report. Columns can be removed simply by dragging them off the report, they can be resized by dragging the column border, and the can be reordered my dragging them to the desired position.

You can easily resize, remove, and reorder columns in the report

Show and Hide Column Headers

Report Control allows you to hide or display column headers.

Column Headers Visible


Column Headers Hidden

Multi-level Column Sorting

Report Control allows you to sort the rows across multiple columns. Columns that are sorted will appear shaded, and the column header will have a triangle indicating whether the column is sorted in ascending or descending order.

You can easily sort across multiple columns

Auto Column Sizing

Report Control Supports auto column sizing. Upon resizing of a window, the columns automatically readjust, so you don't have to.

Multi-level Column Sorting

Report Control allows you to hierarchically group rows in your report by dragging columns into the group box.

You can group rows with a simple drag and drop

Column Header Style

Report Control allows you to choose from four different column header styles.

Flat Style

Outlook 2003 Style

Explorer Style

Shaded Style

Column Alignment

Report Control allows the text in the column header to use the alignment settings of the text in the column cells.

Centered Aligned Text


Right Aligned Text


Left Aligned Text

Grid Line Color

Report Control allows you to change the color of the grid lines in the report.

Report with blue grid line color

Grid Line Style

Report Control allows you to change the style of the grid lines. You can change the vertical and horizontal line styles independently of each other. You have the option of choosing from No Line, Dashes, Solid, Large Dots, and Small Dots.

Report with dashed horizontal lines, dotted vertical lines, and blue grind line color

In-Place Cell Editing

Report Control supports in-place cell editing. This allows you to retrieve customized information from the user.

Editing a String

Cell Data Types

Report Control supports many different data types. You can add cells with data types such as String, Long, Double, Date, and Boolean. Using these data type you can display just about anything you want. In addition to displaying data, you can also draw your own custom controls inside the cell, and images can also be drawn in the cells.

Report with cells that display several different data types

Data Validation Support

Report Control has built-in data validation when editing a cell for most of the standard data types. For example, if the user enters some text into a numeric field a popup message will be displayed indicating that the data is not valid and it will revert the cell text back to its original value.

Built-In data validation helps prevent faulty information from entering the report

Buttons

Report Control supports the use of buttons inside cells.

Custom Drawing

Report Control comes equipped with overload methods to help you create a solution that works for your needs.

Check Box

Report Control Supports the use of check box controls inside cells, which can aid in selected categorization, deletion, or other needs.

Tool Tips

Report Control comes equipped with tool tip functions to help data stick out when moused over.

Cell Text Color

Report Control allows you to change the color of text displayed in record cells. Each cell can individually be colored or you can apply a color to an entire column.

Report Control allows you to color the text of cells

Cell Background Color

Report Control allows you to change the background color cells in the report. Each cell can individually be colored or you can apply a color to an entire column.

Report Control allows you to change the background color of cells

Custom Font

Report Control allows you to change the font used to display text in the cells, caption, and preview text.

The text for the cells has been set to "Forte"

Icon and Text Alignment

Report Control allows you to set the alignment of icons and text within a cell. Group rows can have both icons and text in which you can set the alignment of each independently.

You can change the alignment of each column

Text Formatting

Report Control allows you to format text and numbers with ease. You can also store numbers as text and add formatting such as leading\trailing spaces, zeros before\after the decimal point, and the precision after the decimal point.

The "Size" column has been formatted to add " kb" after each value

Date and Time Formatting

Report Control gives you complete control over how date and time data is displayed in your report. You can format your day and\or time in just about any format imaginable to accommodate any locale or user preference. There are over 25 different date and time format flags that can be mixed and matched to get the exact format you want.

Full weekday name - d/m/century

Abbreviated weekday name m/d/year hour:minute am/pm

Outlook 2003, 2007 and 2010 ShortcutBar

Shortcut Bar comes with an Office 2003, 2007 and 2010 ShortcutBar similar to what is seen in Microsoft® Outlook 2003, 2007 and 2010.  You can easily manage your application shortcuts and have a unique way of displaying information to the end user.  Define your own categories and shortcuts to match your applications current theme settings.

Shortcut Caption Bar

Shortcut Bar comes with an Office 2003, 2007 and 2010 Shortcut Caption Bar similar to what is seen in Microsoft® Outlook.  Shortcut Caption bars can be displayed as a "main" or "sub" item caption.  Both "main" and "sub" item caption bars will use the colors of the currently set theme.  You can easily use Shortcut Caption bars with the ShortcutBar to create a unique way of displaying information to the end user.

Expandable Shortcut List

Shortcut Bar allows you to easily expand/shrink the expandable shortcut list simply by dragging the list to the desired size, or you can specify how many shortcuts are displayed in the expandable list via code.

Expandable "Navigation" Shortcut Bar

Shortcut Bar allows you to expand or collapse the main shortcutbar to a "navigation" bar. This bar can be used to maximize the available space for the client area while still benefitting from the navigation capabilities of the shortcutbar. Once collapsed the complete shortcutbar can be viewed by clicking the navigation pane button.

Shortcut Icons

Shortcut Bar allows you to easily use multiple icon sizes for different size shortcuts.  You can add a different set of icons to be displayed while your shortcuts are displayed in the expanded shortcut list, this way your icons do not look grainy.

Hide/Show ShortcutBar Client Pane

Shortcut Bar allows you to hide/show the client pane in your ShortcutBar. Diplaying all the shortcuts like this can be helpful when the shortcut bar contains many shortcuts.

Office 2000 ShortcutBar Theme

Shortcut Bar provides your application with full Office 2000 theme support that gives your application the closest, most exact Office 2000 style themes of any 3rd party tool available today. Office 2000 is already built in, so you don't have to spend any extra time on this.

Office XP ShortcutBar Theme

Shortcut Bar provides your application with full Office XP theme support that gives your application the closest, most exact Office XP style themes of any 3rd party tool available today. Office XP is already built in, so you don't have to spend any extra time on this.

Office 2003 ShortcutBar Theme

Shortcut Bar provides your application with full Office 2003 theme support that gives your application the closest, most exact Office 2003 style themes of any 3rd party tool available today. Office 2003 is already built in, so you don't have to spend any extra time on this.

Office 2007 Blue ShortcutBar Theme

Shortcut Bar provides your application with full Office 2007 Blue theme support that gives your application the closest, most exact Office 2007 Blue style themes of any 3rd party tool available today. Office 2007 Blue is already built in, so you don't have to spend any extra time on this.

Office 2007 Black ShortcutBar Theme

Shortcut Bar provides your application with full Office 2007 Black theme support that gives your application the closest, most exact Office 2007 Black style themes of any 3rd party tool available today. Office 2007 Black is already built in, so you don't have to spend any extra time on this.

Office 2007 Silver ShortcutBar Theme

Shortcut Bar provides your application with full Office 2007 Silver theme support that gives your application the closest, most exact Office 2007 Silver style themes of any 3rd party tool available today. Office 2007 Silver is already built in, so you don't have to spend any extra time on this.

Office 2007 Aqua ShortcutBar Theme

Shortcut Bar provides your application with full Office 2007 Aqua theme support that gives your application the closest, most exact Office 2007 Aqua style themes of any 3rd party tool available today. Office 2007 Aqua is already built in, so you don't have to spend any extra time on this.

Office 2010 Blue ShortcutBar Theme

Shortcut Bar provides your application with full Office 2010 Blue theme support that gives your application the closest, most exact Office 2010 Blue style themes of any 3rd party tool available today. Office 2010 Blue is already built in, so you don't have to spend any extra time on this.

Office 2010 Black ShortcutBar Theme

Shortcut Bar provides your application with full Office 2010 Black theme support that gives your application the closest, most exact Office 2010 Black style themes of any 3rd party tool available today. Office 2010 Black is already built in, so you don't have to spend any extra time on this.

Office 2010 Silver ShortcutBar Theme

Shortcut Bar provides your application with full Office 2010 Silver theme support that gives your application the closest, most exact Office 2010 Silver style themes of any 3rd party tool available today. Office 2010 Silver is already built in, so you don't have to spend any extra time on this.

Office 2013 White ShortcutBar Theme

Shortcut Bar provides your application with full Office 2013 White theme support that gives your application the closest, most exact Office 2013 White style themes of any 3rd party tool available today. Office 2013 White is already built in, so you don't have to spend any extra time on this.

Windows 7 Scenic ShortcutBar Theme

Shortcut Bar provides your application with full Windows 7 Scenic theme support that gives your application the closest, most exact Windows 7 Scenic style themes of any 3rd party tool available today. Windows 7 Scenic is already built in, so you don't have to spend any extra time on this.

Visual Styles

Acquiring a professionally themed application just got easier. Codejock Software's Skin Framework provides Windows developers with a highly sophisticated application skinning framework technology that was developed with Windows Themes (Visual Styles) in mind. Achieving a completely themed application can be accomplished with only a few lines of code. Skin Framework provides maximum compatibility with existing Windows XP and higher Visual Styles that can be used on any Windows platform.

Several predefined Visual Styles are provided. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Skinning all Visual Components of your Application

Skin Framework allows you to skin every visual element in your application. With only a few lines of code your entire application is skinned, including standard controls (buttons, combobox, progress bar, edit control, list box, slider, scroll bars, tab control, option button, check box, spin button, etc.), dialogs (color picker, font picker, print, print preview, open, etc.), and windows frame components (frame, title bar, close button, maximize, minimize, system popup menu, etc.).

Any child form, dialog, or message box will automatically use the skin of its parent with no additional code!

Supports all Windows Platforms beginning with Windows 95/NT 4.0

Skin Framework provides the same look and feel across all Windows Platforms beginning with Window 95 and NT 4.0! Let's face it, your application is judged by its appearance more so than anything else. It's important to create a good first impression. Skin Framework will not only create a good first impression, it will have your users coming back for more. You can be assured that your application will look the same running on Windows 95 as it does running on Windows XP. Skin Framework's advanced skinning technology allows you to have the most visually appealing application on older operating systems.

This screenshot was taken when running on Window NT 4.0!

Codejock's Skin Builder Utility

Skin Framework comes with a Skin Builder Utility that allows you to edit existing Codejock or msstyles skins or create your own. You can customize every piece of an application with this utility such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance. Many different schemas can be created for a given skin. The same skin file can contain schemas with different colors and different font sizes (normal, large, extra large, etc).

Multi-Skin Application Support

Skin Framework allows multiple skins to be applied to the same application. You can even apply a different skin style to each individual control on the same form. This allows complete control over how an application is skinned. You might like the buttons from one skin better than another so you can easily apply that skin only to those buttons. Components can also be excluded from skinning if desired.

The picture below shows the main application using a different theme from the popped up dialog. Each button on the dialog is using a different theme.

Custom Theme Support

Skin Framework does not limit you to the predefined skins provided with the control. With msstyles file support you have litteraly thousands of skins available. There are many websites that publish msstyles skin files you can use with Skin Framework.

Windows 8 Visual Style

Skin Framework includes the Windows 8 Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2010 Blue Visual Style

Skin Framework includes the Office 2010 Blue Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2010 Black Visual Style

Skin Framework includes the Office 2010 Black Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2010 Silver Visual Style

Skin Framework includes the Office 2010 Silver Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows Vista Silver Visual Style

Skin Framework includes the Windows Vista Silver Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows Vista Blue Visual Style

Skin Framework includes the Windows Vista Blue Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows Vista Black Visual Style

Skin Framework includes the Windows Vista Black Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows Vista New Black Visual Style

Skin Framework includes the Windows Vista New Black Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Zune Visual Style

Skin Framework includes the Zune Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Codejock Blue Visual Style

Skin Framework includes the Codejock Blue Visual Style. This is the skin that has been used to skin the Codejock Package Installers. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Codejock Black Visual Style

Skin Framework includes the Codejock Black Visual Style. This is the skin that has been used to skin the Codejock Package Installers. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2007 Blue Visual Style

Skin Framework includes the Office 2007 Blue Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2007 Black Visual Style

Skin Framework includes the Office 2007 Black Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2007 Silver Visual Style

Skin Framework includes the Office 2007 Silver Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Office 2007 Aqua Visual Style

Skin Framework includes the Office 2007 Aqua Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows Royale Blue Visual Style

Skin Framework includes the Windows Media Center Royale Blue Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Native Windows XP Visual Style

Skin Framework includes the Native Windows XP Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows XP Metallic Visual Style

Skin Framework includes the Windows XP Metallic Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Windows XP Homestead Visual Style

Skin Framework includes the Windows XP Homestead Visual Style. Every piece of an application can be skinned including components such as the title bar, window frame, buttons, edit controls, check boxes, etc, delivering a professional appearance.

In addition to the included skins, any msstyles Visual Style can be used with Skin Framework making the possibilities endless with how an application can be skinned.

Visual Studio .NET style Syntax Editor Control

Visual Studio .NET style Syntax Editor Control provides your users with a highly sophisticated text editor control that supports advanced features such as text block grouping, syntax colorization, line numbers, font type, pre-defined color schemes, book marks, break points, and many more advanced features.

Text Block Grouping

Visual Studio .NET style text block grouping allows you to easily organize a document of text into blocks of text that can be hidden with the click of a button. Hidden blocks of text can have a message stating what has been hidden for view. This allows you to minimize the clutter of vary large text documents.

Syntax Colorization

INI file based syntax colorization allows you to specify specific colorization rules for your text documents. For example, you can specify a different set of colors to be used for cpp, h, html, asp, etc files. Color rules can be applied to specific words or groups of words and phrases.

Bookmarks

Bookmarks allow you to place a "bookmark" at any position in your text document. You can later cycle through all of your bookmarks to easily return to positions of interest in your document.

Breakpoints

Visual Studio style breakpoints allow you to place a "breakpoint" at any position in your text document. This can be used for many different reasons, for example, if you have a code compiler you could use these breakpoints to indicate where code execution will "break" and wait for user interaction.

Visual Studio .NET Style Intellisense Help

Using various configuration files such as a C++ configuration file you can add intellisense to the syntax editor. Using the configuration file you can specify which "keywords" will use the intellisense feature. To activate intellisense press Ctrl + Space anytime during editing.

Line Numbers

Line numbers allow you to easily see how many lines are in a text document as well as serve reference to the position you are at in the document. You can use these numbers to communicate points of interest in a document.

TaskPanel Control

Task Panel provides an Office TaskPanel similar to what is seen in Microsoft® Office and Windows Explorer.  You can easily manage your application shortcuts and have a unique way of displaying information to the end user.  Define your own categories and shortcuts to match your applications current theme settings.  The TaskPanel can even be used as a VS. NET style Toolbox!

TaskPanel Item Types

Task Panel allows you to easily add groups of related items to your taskpanel.  You can add text items that allow you to display important information, you can add links, and you can add your own custom controls such as a textbox, combobox, command button, and option button.

Link Support

Text Items

Custom Controls

TaskPanel Group Caption

Task Panel allows you to hide/show the caption bar of your TaskPanel groups giving you more flexibility over how your data is displayed to the user.

Caption Visible


Caption Hidden

TaskPanel Special Group

Task Panel allows you to designate a group as "special."  Groups marked as special will be displayed differently than normal groups drawing your user's attention to that particular group.  This is an excellent way to show the user the "default" or important items.

"Special" group


Normal group

TaskPanel Animation

Task Panel allows you to use animation effects when opening and closing groups in the TaskPanel. You can turn animation on, off, or use the currently set operating system settings.  In addition to animation, you have several predefined behaviors to choose from that change the way that groups are opened and closed.

TaskPanel Expandable Groups

Task Panel allows you to designate which groups the user can expand and hide.  You can specify individual groups or indicate that all groups can or can't be expanded.

Expandable Group


Non-expandable Group

TaskPanel Margins

Task Panel allows you change the margins of the TaskPanel. You can change the margins surrounding the TaskPanel groups, or you can change the margins of each individual TaskPanel group item.

Group Margins

Group Item Margins

Group and Item margins

Toolbox Control

Task Panel ActiveX offers a ‘VS.NET Style Toolbox’ which provides a great alternative to the standard menu shortcuts. The Toolbox is incorporated into the TaskPanel so your Toolbox has all the functionality of the TaskPanel.  You can easily create and assign toolbox commands.  There are several themes to choose from: 

Visual Studio Theme

Whidbey Theme

Office 2003 Theme

Office XP Theme

ListView Theme

Toolbox and TaskPanel Layout

Task Panel's Toolbox control allows you to change the layout of your toolbox items with a single line of code.  The items can be displayed as Images, Images with text, and Images with text below the icons. You can change the layout of the toolbox at any time in your program.

"Images" layout

"Image and Text Below Icon" layout

"Image and Text" layout

Toolbox and TaskPanel Drag and Drop

Task Panel's Toolbox and TaskPanel control allows you to change "Drag and Drop" items.  You can move items within the same group, or you can drag items to another group.  You can also Drag and Drop an entire group.  Drag and Drop allows you to easily customize a Toolbox or TaskPanel.

Toolbox and TaskPanel Toggle Buttons

Task Panel's Toolbox and TaskPanel control offers toggle buttons that allow the user to easily see when items in your Toolbox and TaskPanel are "on" or "off". When a toggle button is clicked, you only need to update the "selected" property of the item.

Toolbox Icon Size

With Task Panel's Toolbox and TaskPanel control you always have the choice of selecting either small or large toolbar icons. You can easily set the size of the icons that will be used for small or large icons.  Switching between the two can be accomplished with only a few mouse clicks, giving users the satisfaction of controlling the look of the application. With this feature there is no need to worry about running out of space for more icons in using the small icons and there is no need for squinting to determine which icon to use when using the large icons.

Toolbox with Large Icons

Toolbox with Small Icons

Toolbox Hot Tracking

Task Panel's Toolbox and TaskPanel control allows you to easily add hot tracking.  When you move the mouse cursor over your items, they will become "Hot" when Hot Tracking is enabled.  This allows you to easily see which item the mouse cursor is over.  There are 4 different styles of hot tracking to choose from, which are, Text and Image, Text Only, Image Only, and None.

Text and Image Style

Text Style

Image Style

No HotTracking Style

Toolbox and TaskPanel Behavior

Task Panel's Toolbox and TaskPanel control allows you to change the animation behavior of group items as you navigate them.

Explorer style behavior

Listbox style behavior

Toolbox style behavior