POST
当TListBox中没有item时,itemIndex应该是-1,但在D4中,实际读出的却是0,即无法
通过itemIndex判断ListBox是否为空。可以用下面这个函数代替读itemIndex属性解决:
function GetListBoxItemIndex(ListBox: TListBox): integer;
begin
assert(ListBox is TListBox);
with (ListBox as TListBox) do
begin
if MultiSelect then
Result := SendMessage(Handle, LB_GETCARETINDEX, 0, 0)
else
Result := SendMessage(Handle, LB_GETCURSEL, 0, 0);
end;
end;
该函数根据ListBox就能返回这个ListBox的itemIndex. 这个BUG,是Dephi 4 中新引入
的,在以前版本中没有。似乎在Delphi 4 Update 1中已经解决了这个问题。