Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

KingCal

KingCal Delphi Calendar Component - Open Source Edition

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

KingCalendar for Delphi

A fully-featured VCL calendar component library for Delphi 10.2 through 13, supporting Win32, Win64, and Win64x platforms. Open source under the MIT License.


Quick Install

Download and run the Windows installer — it detects every Delphi version on your machine, compiles the packages, and registers the components in each IDE automatically.

⬇ Download KingCalendarSetup.exe

Close the Delphi IDE before running the installer. An installation.log is written to the install folder if you need to troubleshoot.


Screenshots

Main Calendar Popup Picker Navigation Controls
Main calendar grid Popup date picker Navigation controls
Spinner, Combo & Label Controls Drag & Drop
Spinner and combo controls Drag and drop demo

Components

All controls install directly into the Delphi IDE component palette.

Component Description
TKingCalendar Core month-grid calendar control
TKingPopup Non-visual popup calendar
TKingDateDialog Edit control with built-in calendar button
TDBKingDlg Database-bound date picker (TDataSource / TField)
TKingNavigator Panel with prev/next month & year buttons
TMonthBar Row of 12 month-selection buttons
TKingLabel Label that tracks the selected date
TKingWeekLabel Label that displays the ISO week number
TMonthSpin / TMonthCombo Spin and combo controls for month navigation
TYearSpin / TYearCombo Spin and combo controls for year navigation
TDaySpin / TDayCombo Spin and combo controls for day navigation
TKingDateSpin Inline date spin editor
TKingTimeSpin Inline time spin editor
TKingHMSpin Hour/minute/second field-by-field spin editor
TKingMDYSpin Month/day/year field-by-field spin editor
TDBKingCalendar Database-aware calendar grid
TDBKingDateSpin Database-aware date spinner
TDBKingTimeSpin Database-aware time spinner
TDBKingMDYSpin Database-aware month/day/year selector
TDBKingHMSpin Database-aware hour/minute/second selector
TDBKingDateDialog Database-aware date dialog picker

Delphi Version Support

The installer reads the BDS.EXE build number to identify the exact Delphi sub-version and enable only the platforms that release supports.

Delphi Release BDS Key Package Suffix Win32 Win64 Win64 Modern WinARM64EC
Delphi 13.1 Florence 37.0 370 ✓ ✓ ✓ ✓
Delphi 13.0 Florence 37.0 370 ✓ ✓ ✓ —
Delphi 12.3 Athens 29.0 290 ✓ ✓ ✓ —
Delphi 12.2.1 Athens 29.0 290 ✓ ✓ ✓ —
Delphi 12.2 Athens 29.0 290 ✓ ✓ ✓ —
Delphi 12.1 Athens 29.0 290 ✓ ✓ ✓ —
Delphi 12.0 Athens 29.0 290 ✓ ✓ — —
Delphi 11.2 Alexandria 28.0 280 ✓ ✓ — —
Delphi 11.1 Alexandria 28.0 280 ✓ ✓ — —
Delphi 11.0 Alexandria 28.0 280 ✓ ✓ — —
Delphi 10.4.2 Sydney 27.0 270 — ✓ — —
Delphi 10.4.1 Sydney 27.0 270 — ✓ — —
Delphi 10.4.0 Sydney 27.0 270 — ✓ — —
Delphi 10.3 Rio 26.0 260 — ✓ — —
Delphi 10.2 Tokyo 25.0 250 — ✓ — —

Win64 Modern (Win64x) requires Delphi 12.1 or later. WinARM64EC requires Delphi 13.1 or later.


Manual Installation (Git Clone)

Use this method if you want the full source and prefer to manage builds yourself.

pascal
git clone https://github.com/K7LER/KingCal.git
  1. In Delphi go to Tools → Options → Delphi Options → Library.
  2. Add LIBD<ver>x64\RELEASE (and LIBD<ver>x32\RELEASE for 32-bit targets) to the Library Path.
  3. Add the source\ folder to the Browsing Path.
  4. Open the group project for your version, e.g. packages\13\D13All.groupproj.
  5. Compile the runtime packages first:
    • KingCalendar370.dpk — base components + LiveBindings registration
    • KingCalendarDB370.dpk — database-aware components
  6. Compile the design-time packages:
    • dclKingCalendar370.dpk — base component registration
    • dclKingCalendarDB370.dpk — DB component registration
  7. Right-click each design-time package → Install.

Note: The DB components require both the base and DB packages. The installer handles this automatically.

See the Wiki for version-specific library folder names and detailed step-by-step instructions for each Delphi release.


Demo Projects

Five ready-to-compile demo projects are included for Delphi 10.2, 10.3, 10.4, and 13 under the Demos\ folder.

Demo Description
Main Demo Full TKingCalendar feature tour — color sets, blocked days, events, annotations
Drag & Drop Dragging selected dates between two calendars
Navigation Wiring TKingNavigator, spin, and combo controls to a calendar
Date Picker TKingPopup and TKingDateDialog in a real form
Start Day Switching the first day of the week at runtime

Key Features

  • Full month-grid calendar with day selection, blocked days, flagged days, and per-cell color customization
  • Nine built-in color sets (ColorSet1–ColorSet9) configurable at design or runtime
  • High DPI and VCL Styles compatible
  • Database-Aware Components — TDBKingCalendar, TDBKingDateSpin, TDBKingTimeSpin, TDBKingMDYSpin, TDBKingHMSpin, and TDBKingDateDialog bind directly to TDataSource/TDataField for dataset integration
  • LiveBindings Support — All date/time components register observable members for Delphi's LiveBindings framework, enabling visual data binding in the designer
  • Color bar overlays for visualizing multi-day events or ranges
  • No external dependencies — pure Object Pascal, no third-party runtime required

Documentation

  • Project Website — feature overview, screenshots, and install guide
  • Wiki — full component reference, property/event/method listings, and code examples
  • Documentation\kingcal30.rtf — original component reference guide (included in the install)

Contributing

Bug reports and pull requests are welcome. Please open an issue first for anything beyond a small fix.


Version History

Version Date Notes
v2026.0325.1613 2026-03-25 Fixed IDE crash on close (AV in UnhookEvent during destruction), replaced bitmap glyph resources with procedural drawing (DPI/theme aware), removed runtime dependency on KCAL32.RES/KDLG32.RES, regenerated palette icons for all 24 components, version numbering revision now uses HHMM 24-hour format
v2026.0325.0010 2026-03-25 Added database-aware components (TDBKingCalendar, TDBKingDateSpin, TDBKingTimeSpin, TDBKingMDYSpin, TDBKingHMSpin, TDBKingDateDialog), LiveBindings support for all date/time controls, separate DB package (KingCalendarDB), architecture refactoring (KingTool split, TKingBaseDateEdit base class, hook mechanism modernization), multiple bug fixes
26.1.1 2026-01-01 Added Delphi 13 support; Windows installer
2.1.1 2023-12-12 Added Delphi 12 support
2.0.9 2022-12-01 Added Delphi 11 support
2.0.8 2018-12-31 VCL Styles navigator fix; Segoe UI default font; TKingWeekLabel added
2.0.6 2018-12-30 International locale date format support
2.0.2 2018-12-29 Added Delphi 10.3 Rio support
2.0.0 2018-06-28 Initial open-source release

License

MIT License. See LICENSE for the full text.

Original component: Mark Lussier and AppVision © 1995–2000 Current maintainer: Lance Rasmussen — lancerasmussen@gmail.com

In June 2018, Mark Lussier gave Lance Rasmussen permission to open-source KingCalendar and publish it on GitHub.