Yes, seems to be a bug since the code goes into the widgetset and I do not find any reference to dsStartMonday in Win32WSCalendar.pp.
I have a fix, but before committing it I would like you to test it:
- Open file "win32wscalendar.pp" from folder lcl\interfaces\win32 of your Lazarus installation.
- Go to the implementation of TWin32WSCustomCalendar.SetDisplaySettings and add the following code before the "end;":]/li]
if dsStartMonday in ASettings then
MonthCal_SetFirstDayOfWeek(ACalendar.Handle, 0)
else
MonthCal_SetFirstDayOfWeek(ACalendar.Handle, 6);
- Rebuild the IDE ("Tools" > "Build Lazarus with Profile...", confirm "Do you want to rebuild Lazarus...?"). When the IDE restarts after some time, you can test.
- Report the results here.
I hope your signature is correct and you really are on Windows. Otherwise ignore my post.
I am a bit hesitant to commit this code because it breaks the lfm file in all countries where the week begins on Monday and the default of the component has dsStartMonday turned off.
Another problem with this fix is that is blindly assumes that the alternative to StartMonday is something like "StartSunday", ie. weeks are allowed to begin either with Monday or Sunday. Is this true on all places of the earth?