listbox删除 删除选中的某个:procedure TForm1.Button1Click(Sender: TObject); var i:integer;begin i:=0; while i<listbox1.Count do//删除掉前一个后,下一个会上移,所以用while if listbox1.selected[i] then listbox1.Items.delete(i) else i:=i+1;end; 删除listbox中所有的内容:procedure TForm1.Button2Click(Sender: TObject);var i:integer; begin for i:=0 to listbox1.Items.Count-1 do listbox1.Items.Clear; end;
(1)添加记录:ListBox1.Add(EditBox1.Text);//添加到末尾 (2)插入记录:ListBox1.insert(0,EditBox1.Text);//添加到开头 (3)选中的记录号:Rc := ListBox1. CurIndex;//Rc:string; (4)计数:Rn:=ListBox1.count;//Rn:integer; |
// Form1.ListBox1.Items[1]:='123'; 改变 // ShowMessage(listbox1.Items[listbox1.ItemIndex]); 显示当前数据
按钮事件 向上移动 procedure TFormMain.RzBmpButton5Click(Sender: TObject); var ActiveItem: Integer; begin with lst2 do begin ActiveItem := ItemIndex; if (ItemIndex > 0) then begin Items.Move(ItemIndex, ItemIndex - 1); lst2.SetFocus; lst2.Selected[ActiveItem - 1] := True; end; end; end;
向下移动 procedure TFormMain.RzBmpButton6Click(Sender: TObject); var ActiveItem: Integer; begin with lst2 do begin ActiveItem := ItemIndex; if (ItemIndex >= 0) and (ItemIndex < Items.Count - 1) then begin Items.Move(ItemIndex, ItemIndex + 1); lst2.SetFocus; lst2.Selected[ActiveItem + 1] := True; end; end; end;
拖拽事件 procedure TFormMain.lst2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin StartingPoint.X := X; StartingPoint.Y := Y; end;
procedure TFormMain.lst2DragDrop(Sender, Source: TObject; X, Y: Integer); var DropPosition, StartPosition: Integer; DropPoint: TPoint; begin DropPoint.X := X; DropPoint.Y := Y; with Source as TRzListBox do begin StartPosition := ItemAtPos(StartingPoint, True); DropPosition := ItemAtPos(DropPoint, True); Items.Move(StartPosition, DropPosition); end; end;
procedure TFormMain.lst2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source = lst2; end;
|
请发表评论