procedure TMainForm.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i,j:integer;
begin
if(Key=VK_DELETE)then
begin
i:=ListBox1.Items.Count;
if(i>0)then
begin
for j:=i-1 downto 0 do ****
if(ListBox1.Selected[j]=True)then
ListBox1.Items.Delete(j);
end;
end;
end;
***这里,为什么删除从后面开始呢?书上说如果从前面删除则删除一项后,后面的项对弈的index都要发生变化,可是如果从后面开始删除的话,要是我删除了中间一项呢?那这一项的后面的index不都也要变了吗?
希望高人帮我解开这个结。谢谢!!!!
Shift: TShiftState);
var
i,j:integer;
begin
if(Key=VK_DELETE)then
begin
i:=ListBox1.Items.Count;
if(i>0)then
begin
for j:=i-1 downto 0 do ****
if(ListBox1.Selected[j]=True)then
ListBox1.Items.Delete(j);
end;
end;
end;
***这里,为什么删除从后面开始呢?书上说如果从前面删除则删除一项后,后面的项对弈的index都要发生变化,可是如果从后面开始删除的话,要是我删除了中间一项呢?那这一项的后面的index不都也要变了吗?
希望高人帮我解开这个结。谢谢!!!!
解决方案 »
- 天哪。。还是INDY10 TCPSERVER的问题
- 菜单自画时如何将菜单边框改为平面
- 如果你遇到这种查询条件,该怎么查询最好!!
- 藏起来的重大新闻:河北亿万富豪孙大午被捕事件!
- 老问题还没解决,请帮我看一下这个SQL语句!
- 请问DELPHI中能不能实现象POWERBUILDER中的FREE FROM型的数据窗口格式?
- delphi XE4 bitmap style designer 如何加载.vsf
- 一个很棘手的问题,请指教,一定多给分
- DEPHI提议:成立北京市程序员联盟/俱乐部(北京程序员之家),为北京程序员服务,请大家各抒己见!
- 如何用Delphi设置Excel的行高和列宽?
- 必须去的网站
- 事件为什么不触发呀?急(在线等)
就是按“delete”键,删除记录(从后面)