> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Gantt Charts: Part 2 with Aleksander Wojtasz
- URL: https://nolongerset.com/aug-gantt-charts-part-2/
- Published: 2025-03-03T16:50:23.000Z
- Updated: 2026-05-08T12:44:15.000Z
- Description: Building Dynamic Gantt Charts with GDI32: Class Architecture Deep Dive (an Access User Group talk with Aleksander Wojtasz)
- Author: Mike Wolfe
- Tags: AUG Video Recap, #Import 2026-05-20 02:59

In a masterful follow-up to his wildly popular first session, Aleksander Wojtasz demonstrates significant enhancements to his interactive Gantt chart solution for Microsoft Access, including a complete code rewrite focused on performance and extensibility.

This advanced session builds upon the foundational GDI32 drawing techniques covered previously, diving deep into the architecture of a flexible, template-based approach that can be customized for various business scenarios. The presentation showcases two fully-functional examples - a hotel booking system and a production planning application - while providing detailed insights into the underlying class structure and event handling mechanisms.

Whether you're looking to implement sophisticated scheduling functionality in your Access applications or simply interested in advanced Access development techniques, this presentation offers valuable insights into building professional-grade interactive interfaces.

## Template Architecture

### Core Components

- Gantt chart class as the main orchestrator
- Layout state object for managing current view settings
- Configuration object for customizable parameters
- Canvas object for GDI32 drawing operations
- Collections for dates, tasks, and activities

### Class Structure

- Task class for managing row items
- Activity class for handling chart elements
- Date class for calendar management
- Rectangle class for coordinate management
- Font description class for text rendering
- Memory picture class for image handling

## Interactive Features

### Mouse Operations

- Drag and drop repositioning
- Resize handles for duration adjustment
- Double-click for detailed editing
- Right-click context menus
- Mouse wheel zoom control

### Visual Elements

- Progress indicators
- Custom shaped elements (polygons)
- Icon overlays for status indicators
- Dynamic text positioning
- Frozen row support

## Implementation Details

### Activity Management

- Start/end date handling
- Fractional positioning within days
- Progress indicator support
- Move/resize restrictions
- Collision detection

### Drawing Operations

- Rectangle rendering
- Text placement and scaling
- Icon positioning
- Progress bar display
- Custom shape drawing

## Customization Options

### Configuration Settings

- Cell dimensions
- Column widths
- Menu distances
- Grid divisions
- Visual properties

### Event Handlers

- Activity changed events
- Drag operations
- Double-click actions
- Right-click menu handling
- Free-draw capabilities

## Conclusion

This enhanced version of Aleksander's Gantt chart solution represents a significant evolution in interactive Access interface design. Through careful architecture and efficient code structure, he has created a highly flexible template system that can be adapted for various business scenarios while maintaining smooth performance and professional presentation.

## Recording

The full recording is available on [YouTube](https://www.youtube.com/watch?v=jo5oTg3w7sc):

## Join Live!

Want to get even more out of these presentations? Join the live Access User Group events! The next upcoming events are listed on the [AUG Event Calendar](https://accessusergroups.org/calendar/?ref=nolongerset.com).

Attending live gives you the opportunity to:

- Interact directly with presenters during Q&A sessions
- Network with other Access developers
- Share your own experiences and challenges
- Get immediate answers to your specific questions
- Participate in group discussions

With multiple user groups across different time zones (and languages!), you're sure to find a meeting time that works for your schedule.

### Acknowledgements

- *Base cover image generated by FLUX-schnell*
- *Initial draft generated by Claude-3.5-Sonnet*