ฉันจะใช้หลายคอลัมน์ใน TCheckListBox ได้อย่างไร

ฉันใช้ตัวควบคุม TcheckListBox และต้องการใช้คอลัมน์ที่สองในเรื่องนี้ แต่นอกเหนือจากคุณสมบัติคอลัมน์และส่วนหัวแล้ว ฉันไม่พบแหล่งที่มาใด ๆ ในการแทรกเนื้อหาหลายคอลัมน์...

อาจดูเหมือนคำถามมือใหม่ แต่ความช่วยเหลือของ Delphi ไม่มีเนื้อหาเกี่ยวกับเรื่องนี้ และการค้นหาของฉัน (บน Google และ SO) ทำให้เกิดขยะมากมาย...

ฉันแค่ต้องการตัวอย่าง


person Fabricio Araujo    schedule 10.02.2010    source แหล่งที่มา
comment
@Fabricio กล่อง TChecklistbox มีข้อมูลเพียงคอลัมน์เดียวอย่างมีประสิทธิภาพ คุณสมบัติ columns ใช้เพื่อตัดรายการไปยังอีกคอลัมน์หนึ่ง   -  person RRUZ    schedule 10.02.2010
comment
ฉันจะทำตามเส้นทาง Listview ที่ ulrichb ระบุ   -  person Fabricio Araujo    schedule 10.02.2010


คำตอบ (2)


ไม่สามารถใช้ TCheckListBox ได้

แต่คุณสามารถใช้ TListView ได้

ตั้งค่าคุณสมบัติ ViewStyle เป็น vsReport และ Checkboxes เป็น True


หากต้องการสร้างคอลัมน์และเพิ่มรายการ:

procedure TFormMain.Button1Click(Sender: TObject);
var
  Item1, Item2: TListItem;
begin
  ListView1.Columns.Add.Caption := 'aa';
  ListView1.Columns.Add.Caption := 'bb';

  Item1 := ListView1.Items.Add;
  Item1.Caption := 'item1';
  Item1.SubItems.Add('subitem1');

  Item2 := ListView1.Items.Add;
  Item2.Caption := 'item2';
  Item2.SubItems.Add('subitem2');
  Item2.Checked := True;
end;


ดูเหมือนว่า:

http://img638.imageshack.us/img638/4681/clipboard01y.png

person ulrichb    schedule 10.02.2010
comment
อืม... เป็นความคิดที่น่าสนใจนะ ฉันจะสำรวจเรื่องนี้พรุ่งนี้ - person Fabricio Araujo; 10.02.2010

ฉันอาจผิด แต่ฉันคิดว่าคอลัมน์มีไว้เพื่อการตัดมากกว่าเพื่อการจัดรูปแบบ

eg,

กำหนดจำนวนคอลัมน์เป็น 2 เพิ่ม 3 หรือ 4 รายการ ปรับขนาดกล่องในแนวตั้ง แล้วคุณจะเห็นรายการไหลเพื่อเติมคอลัมน์

person Mark Robinson    schedule 10.02.2010
comment
ใช่ แต่มันก็จบลงแม้ว่าคุณจะไม่ต้องการมันก็ตาม ฉันปรับขนาดในแนวตั้งและแทนที่จะได้รับแถบเลื่อนแนวตั้ง ซึ่งสมเหตุสมผลแล้ว ฉันกลับได้รับแถบเลื่อนแนวนอนแบบงี่เง่า แม้ว่าคอลัมน์จะตั้งค่าเป็น 1 ก็ตาม ส่วนประกอบที่อาจเป็นประโยชน์ถูกโยนลงถังขยะเนื่องจากการออกแบบที่ไม่ดี - person Paul McCarthy; 29.06.2017