TListView实现windows桌面

TListView实现windows桌面

procedure TForm1.AddItem(const ACaption: string; const AImageIndex: Integer; APItem: Pointer);
var
  LItem: TListItem;
  LRowCount: Integer; //listview有几行?
  LColIndex: Integer; //第几行?
const
  LItemHeight = 100;  //listitem高
  LItemWidth = 120; //listitem宽
  LMargins = 27; //边距
begin
  LRowCount := ListView1.Height div LItemHeight;
  ListView1.Items.BeginUpdate;
  try
    LItem := ListView1.Items.Add;
    LColIndex := LItem.Index div LRowCount;
    LItem.Caption := ACaption;
    LItem.ImageIndex := AImageIndex;
    LItem.Data := APItem;
    LItem.Left:=LMargins + LColIndex * LItemWidth;
    LItem.Top:=LItem.Index mod LRowCount * LItemWidth;
    LItem.EditCaption;
  finally
    ListView1.Items.EndUpdate;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListView1.ViewStyle := vsIcon;
  ListView1.PopupMenu := PopupMenu1;
  ListView1.LargeImages := cxImageList1;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
  AddItem('新建快捷方式', 29, nil);
end;

 

posted @ 2025-05-03 07:41  delphi中间件  阅读(65)  评论(0)    收藏  举报