vcl-179002-expressganttcontrol-vcl-gantt-control-overview.md
The VCL Gantt Control is a project management tool that allows users to schedule activities related to project goals.
The control displays project tasks as horizontal bars where start and finish points correspond to dates in the timescale. Users can create relationships between tasks with dependencies, manage resources, track task progress, and scale the chart to browse a project that spans any time period.
Refer to the following tutorial to create your first Gantt control-based application: Getting Started
The control includes the following Views: Chart , Timeline , and Resource Sheet.
The Chart View allows users to browse a project and track its progress. The View consists of a chart and task sheet.
You can scroll the chart to find a task or zoom the chart in or out to browse your project in different timescales.
Refer to the following topic for more information: Chart Runtime Customization
The Timeline View displays all tasks in chronological order and shows the duration of tasks (from hours to years).
You can choose a timescale and adjust the width of its cells to browse your project over different time periods.
The Resource Sheet View allows you to specify resources required for a task (people, materials, or expenses).
The VCL Gantt Control supports the following task types:
Task A simple task that defines steps necessary to reach project goals.Summary taskA top-level task that allows you to group related subtasks.MilestoneA task with a zero duration. You can use this task to mark important dates.
A user can also choose between automatic and manual scheduling modes for tasks.
A user can specify how soon a task can start or finish. The following constraints are available:
Dependencies allow a user to define when a task should begin or end in relation to another task.
A task that depends on another task’s completion is a successor task. A task that defines when a dependent task should start or finish is a predecessor task. A task can have one or more dependencies.
A user can choose any of the following dependencies:
The Chart View allows you to import and export its content as follows:
Save a chart to an XML file, stream, or image in any of the following formats: SVG, BMP, TIFF, PNG, JPEG, EMF, WMF, or GIF.
In this mode, all data edit operations are restricted in the Chart and Resource Sheet Views.
The control has the standard calendar. In this calendar, a day spans from 8 AM to 5 PM and includes a one-hour lunch break at 12 PM.
You can also add the following calendars:
24 HoursIn this calendar, a day spans from 12 AM to 12 AM (the following day).Night ShiftIn this calendar, a day spans from 11 PM to 8 AM and includes a one-hour break at 3 AM.
The VCL Gantt control uses a universal rendering technique and supports all render modes available for DevExpress VCL products:
A Gantt control in DirectX render mode creates a Direct3D device context and uses a Direct2D-based canvas to draw content and UI elements. This mode is the most beneficial on a client machine with a discrete graphics card and high-DPI (4K+) displays, since calculation load shifts from CPU to GPU.
Note
The DirectX render mode imposes a number of requirements and limitations, such as the minimum operating system version. Refer to the mode description for details.
A Gantt control in GDI+ render mode uses only GDI+ API-based canvases to draw content and UI elements with higher quality compared to the basic GDI render mode.
You can enable this mode instead of DirectX if you cannot use hardware acceleration due to its limitations.
Default. The basic render mode available for all VCL DevExpress controls. A Gantt control in GDI mode uses a combination of GDI and GDI+ API-based canvases to draw content and UI elements.
A Gantt control uses GDI as a fallback render mode if a device context-related error occurs in DirectX mode.
All operations applied to content are stored in action history. A user can press Ctrl + Z or Ctrl + Y to cancel changes applied to the control or re-apply canceled changes.