fixed Ctrl child selection

git-svn-id: trunk@2216 -
This commit is contained in:
mattias 2002-08-17 23:41:08 +00:00
parent e91d6c41ff
commit 16d0352830

View File

@ -569,41 +569,45 @@ Begin
// no grabber resizing // no grabber resizing
CompIndex:=ControlSelection.IndexOf(MouseDownComponent); CompIndex:=ControlSelection.IndexOf(MouseDownComponent);
if (ssShift in Shift) then begin if ssCtrl in Shift then begin
// child selection
end else begin
if (ssShift in Shift) then begin
// shift key pressed (multiselection) // shift key pressed (multiselection)
if CompIndex<0 then begin if CompIndex<0 then begin
// not selected // not selected
// add component to selection // add component to selection
if (ControlSelection.SelectionForm<>nil) if (ControlSelection.SelectionForm<>nil)
and (ControlSelection.SelectionForm<>Form) and (ControlSelection.SelectionForm<>Form)
then begin then begin
MessageDlg('Invalid mutliselection', MessageDlg('Invalid mutliselection',
'Multiselected components must be of a single form.', 'Multiselected components must be of a single form.',
mtInformation,[mbOk],0); mtInformation,[mbOk],0);
end else begin
ControlSelection.Add(MouseDownComponent);
InvalidateWithParent(MouseDownComponent);
end;
end else begin end else begin
ControlSelection.Add(MouseDownComponent); // remove from multiselection
ControlSelection.Delete(CompIndex);
InvalidateWithParent(MouseDownComponent); InvalidateWithParent(MouseDownComponent);
end; end;
end else begin end else begin
// remove from multiselection // no shift key (single selection)
ControlSelection.Delete(CompIndex);
InvalidateWithParent(MouseDownComponent);
end;
end else begin
// no shift key (single selection)
if (CompIndex<0) then begin if (CompIndex<0) then begin
// select only this component // select only this component
// invalidate old components // invalidate old components
for i:=0 to ControlSelection.Count-1 do for i:=0 to ControlSelection.Count-1 do
if ControlSelection[i].Component is TControl then if ControlSelection[i].Component is TControl then
InvalidateWithParent(TControl(ControlSelection[i].Component)); InvalidateWithParent(TControl(ControlSelection[i].Component));
// clear old selection and select new component // clear old selection and select new component
ControlSelection.AssignComponent(MouseDownComponent); ControlSelection.AssignComponent(MouseDownComponent);
InvalidateWithParent(MouseDownComponent); InvalidateWithParent(MouseDownComponent);
end;
end; end;
end; end;
end else begin end else begin