บางครั้งเรามักจะต้องเปลี่ยนการตั้งค่าเริ่มต้นบางอย่างเมื่อใช้ Listview ของ Delphi7 ตอนนี้เรารวบรวมมารวมกันและสรุปได้ดังนี้
MultiSelect := True; ช่วยให้ Listview สามารถเลือกหลายแถวพร้อมกันได้
GridLines := True; ทำให้ Listview แสดงเส้นตาราง
ViewStyle := vsReport; แสดงรายการข้อมูลโดยละเอียด
HideSelection := True; เมื่อ listview สูญเสียโฟกัส แถวที่เลือกจะไม่ถูกเน้น
//ตั้งค่าขั้นตอนสี TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);var subRect, itemRect: TRect; i, SubItem: Integer;begin DefaultDraw := False; จากนั้นเริ่ม Sender.Canvas.Font.Color := clRed; // สีฟอนต์ที่เลือกไว้ Sender.Canvas.Brush.Color := clgray; //clGreen; Brush.Color := clWhite; // แถวปกติเน้นสีสิ้นสุด; itemRect := Item.DisplayRect(drLabel); subRect := itemRect; SubItem := 0 ถึง (Sender as TListView).Columns.Count - 1 do start subRect.Left := itemRect.Left; for i := 1 to SubItem do start subRect.Left := subRect.Left + (Sender as TListView) .Column[i - 1].Width; subRect.Right := subRect.Right + SubRect.Left + (ผู้ส่งเป็น TListView).Column[i].Width; end; ถ้า SubItem = 0 ให้เริ่ม subRect.Right := subRect.Right + 2; Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, Item.Caption); จบอย่างอื่น Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, รายการ.รายการย่อย[รายการย่อย - 1]); สิ้นสุด;สิ้นสุด;
//จัดเรียงฟังก์ชันส่วนตัว { การประกาศส่วนตัว } SortCol: Integer; SortWay: Integer; 1 อื่น SortWay := 1; (ผู้ส่งเป็น TCustomListView).AlphaSort;end;ขั้นตอน TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);var t: Integer;begin if (SortCol = 0) จากนั้นเริ่ม Compare := SortWay * CompareText(Item1.Caption, Item2.Caption); สิ้นสุดอย่างอื่นเริ่มต้น t := SortCol - 1; เปรียบเทียบ := SortWay * CompareText(Item1.SubItems[t], Item2.SubItems[t]);ฟังก์ชันนี้มีปัญหา: การเรียงลำดับตัวเลขจะคล้ายกับอักขระ เช่น 1,10,102,3,34,356...ผู้อ่านที่สนใจสามารถปรับปรุงได้