呵呵,Selected[] 不管里面写什么它都提示错误!!! List index out bounds() 有没有人用Delpi5试过啊??? 我知道Delphi6是没有问题的。
Delphi5的问题。 修改StdCtrls.pas中的SetSelected方法。 如下: procedure TCustomListBox.SetSelected(Index: Integer; Value: Boolean); begin if FMultiSelect then begin if SendMessage(Handle, LB_SETSEL, Longint(Value), Index) = LB_ERR then raise EListError.CreateResFmt(@SListIndexError, [Index]); end else if Value then begin if SendMessage(Handle, LB_SETCURSEL, Index, 0) = LB_ERR then raise EListError.CreateResFmt(@SListIndexError, [Index]) end else SendMessage(Handle, LB_SETCURSEL, -1, 0); end;
为什么????????????????????
or
ListBox1.ItemIndex := 5;都可以
“提示ListBound错误”要注意索引值不要超过ListBox1.Items.Count,
操作时索引值从0-ListBox1.Items.Count -1
因为listbox的索引是从0开始的,所以2选择为listbox中的第三项
不管里面写什么它都提示错误!!!
List index out bounds()
有没有人用Delpi5试过啊???
我知道Delphi6是没有问题的。
修改StdCtrls.pas中的SetSelected方法。
如下:
procedure TCustomListBox.SetSelected(Index: Integer; Value: Boolean);
begin
if FMultiSelect then
begin
if SendMessage(Handle, LB_SETSEL, Longint(Value), Index) = LB_ERR then
raise EListError.CreateResFmt(@SListIndexError, [Index]);
end
else
if Value then
begin
if SendMessage(Handle, LB_SETCURSEL, Index, 0) = LB_ERR then
raise EListError.CreateResFmt(@SListIndexError, [Index])
end
else
SendMessage(Handle, LB_SETCURSEL, -1, 0);
end;