+ TCustomListbox.ClearSelection

git-svn-id: trunk@13682 -
This commit is contained in:
paul 2008-01-09 10:11:37 +00:00
parent be879539ca
commit 20dee3aee0
2 changed files with 21 additions and 6 deletions

View File

@ -323,14 +323,17 @@ procedure TCustomListBox.SetSelected(Index : integer; Val : boolean);
begin
CheckIndex(Index);
if not MultiSelect then begin
if not MultiSelect then
begin
if Val then
ItemIndex:=Index
else if Index=ItemIndex then
ItemIndex:=-1;
end else begin
ItemIndex := Index
else
if Index = ItemIndex then
ItemIndex := -1;
end else
begin
if HandleAllocated
then SendItemSelected(Index,Val)
then SendItemSelected(Index, Val)
else PCustomListBoxItemRecord(GetCachedData(Index))^.Selected := Val;
end;
end;
@ -555,6 +558,17 @@ begin
FItems.Clear;
end;
procedure TCustomListBox.ClearSelection;
var
i: integer;
begin
if MultiSelect then
for i := 0 to Items.Count - 1 do
Selected[i] := False
else
ItemIndex := -1; // no need to traverse all items - look at SetSelected
end;
procedure TCustomListBox.LockSelectionChange;
begin
inc(FLockSelectionChange);

View File

@ -524,6 +524,7 @@ type
procedure MakeCurrentVisible;
procedure MeasureItem(Index: Integer; var TheHeight: Integer); virtual;
procedure Clear; virtual;
procedure ClearSelection;
procedure LockSelectionChange;
procedure UnlockSelectionChange;
procedure Click; override; // make it public