@sirT: das funktioniert schon seit ewigkeiten.
dann lass doch die flag-rückstellung weg im onkeyup!
imho brauchst du nicht ständig die strg-taste gedrückt halten. du kannst sie auch jedesmal vor der maustaste drücken. nur wenn du ohne strg-tste die mausaktion durchführst, dann wird die auswahl wieder aufgehoben und nur das eine element selektiert.
vielleicht reicht das ja...
Delphi-Quellcode:
procedure TCalendarControl.MouseDown(Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
iButton := Button = mbLeft;
{if iButton and FOptions.MultiSelect and not mMultiSelect and (ssCtrl in Shift) then
mMultiSelect := True; }
// multiselekt nur true wenn zusätzlich auch ctrl gedrückt ansonsten false...
mMultiSelect := iButton and FOptions.MultiSelect and not mMultiSelect and (ssCtrl in Shift);
inherited;
end;