Hello ,
we are experiencing an issue with TPlannerMonthView where the week numbers column (ShowWeeks) becomes visually misaligned on some user systems. The problem appears to be related to Windows display scaling (DPI).
Problem description
On systems where Windows display scaling is set to 125 %, 150 %, or on multi-monitor setups with mixed DPI, the week numbers in the left column of TPlannerMonthView are shifted vertically.
Only the week number column is affected — the days and the calendar grid itself are rendered correctly.
The issue does not occur:
- when Windows scaling is set to 100 %
Component version
We are using the following version of the PlannerMonthView shipped shipped with the latest version of the TMS VCL UI Pack:
MAJ_VER = 3; // Major version nr.
MIN_VER = 2; // Minor version nr.
REL_VER = 3; // Release nr.
BLD_VER = 2; // Build nr.
DATE_VER = 'Oct, 2024'; // Month version
Project setup
- Delphi 10.4 Sydney (RAD Studio 10.4)
- TPlannerMonthView is used 12 times on a single form (one for each month)
- Form and components are set to the default TMS DPI behavior (no custom scaling code)
- ShowWeeks = True
- ISO week mode enabled
What we have already checked / tried
- Verified that the updated
PlannerMonthView.pasfrom Oct 2024 is in use - DPI-awareness of the application (default)
- Testing with different Windows resolutions and scale factors
- Repainting/invalidating the control on FormShow
- Checked DrawText, TextHeight, and Font scaling settings
- Ensured no old DCU files remain in the project folders
The issue still occurs for some end users.
Additional observations
- The week numbers shift differently depending on the scaling level
- The main calendar grid remains correct, only the week number column shifts
- The problem seems related to font metrics or row height calculations under DPI scaling
Question
Is this a known issue with the TPlannerMonthView in high-DPI environments?
If yes, do you have:
- a patch,
- a hotfix, or
- a recommended workaround (e.g. forcing a recalculation after creation)?
Any guidance would be very appreciated, as the issue is reproducible only on certain user systems.
Thank you!
