Komponen ListBox (TListBox)
Komponen ini adalah komponen kotak Daftar Windows standar yang menampilkan serangkaian daftar di mana pengguna dapat memilih, bergabung, menghapus, atau memodifikasi item.
1. Penggunaan khas komponen Tllistbox
Kotak daftar sering digunakan dalam aplikasi Windows. Kotak daftar dapat mendaftarkan beberapa item di jendela yang dapat digulirkan untuk dipilih pengguna. Misalnya, dalam IDE Delphi, saat menggunakan perintah Daftar Komponen pada menu View, Delphi mencantumkan semua komponen di VCL. Program ini terutama menggunakan atribut item untuk mengontrol berbagai item, seperti menggunakan item. Tentukan atau dapatkan opsi saat ini melalui properti ItemIndex.
2. Sifat penting komponen kotak tlist
· Nomor kotak daftar kolom · ExtendedSelect Properti ini digunakan untuk mengatur apakah akan mengizinkan beberapa item dipilih secara bersamaan menggunakan kunci shift dan kunci CTRL · IntegralHeight ketinggian kotak daftar selalu merupakan kelipatan integer dari ketinggian item di dalam Kotak Daftar · ItemHeight Properti ini digunakan untuk mengatur ketinggian setiap item di kotak daftar · ItemIndex Properti ini digunakan untuk mengatur nomor urutan item yang dipilih di kotak daftar · Item semua item di kotak daftar diakses melalui Properti Item · Multiselect memungkinkan beberapa item dipilih pada saat yang sama · Selcount mengembalikan jumlah item yang saat ini dipilih · dipilih properti ini digunakan untuk menentukan apakah item yang ditentukan dipilih · diurutkan properti ini digunakan untuk mengatur apakah item masuk Kotak daftar harus diurutkan secara abjad · Gaya properti ini digunakan untuk mengatur gaya kotak daftar berikut ini menjelaskan sifat yang umum digunakan dari komponen TListBox dalam program.
(1) Atribut kolom
Nilai default dari properti ini adalah 0, dan kotak daftar ditampilkan dalam satu kolom. Jika properti ini diatur ke nilai yang lebih besar dari 0, kotak daftar pertama -tama akan mengisi kolom. Jika tidak dapat ditampilkan sepenuhnya dalam satu kolom, itu akan ditampilkan di kolom 2, kolom 3, dan seterusnya, tetapi hanya jumlah kolom yang diatur oleh properti kolom yang paling banyak ditampilkan di layar. Jika properti ini diatur ke 2, hanya dua kolom yang akan ditampilkan di layar.
(2) Properti ExtendedSelect
Properti ini digunakan untuk mengatur apakah akan mengizinkan beberapa item dipilih secara bersamaan dengan tombol shift dan ctrl, asalkan properti multiselect harus diatur ke true. Pengguna menekan dan menahan tombol shift.
(3) IntegralHeight Properti
Jika properti ini disetel ke true dan properti gaya diatur ke ISOWNERDRAWFIXED, ketinggian kotak daftar akan secara otomatis disesuaikan dengan kelipatan bilangan bulat dari ketinggian item di kotak daftar. Jika properti ini diatur ke false, item terakhir di kotak daftar mungkin tidak ditampilkan secara penuh, karena ketinggian kotak daftar tidak selalu merupakan kelipatan bilangan bulat dari properti itemHeight.
(4) Atribut ItemHeight
Ketika properti gaya diatur ke ISOwnerFixed (yang ditentukan pengguna), properti ini digunakan untuk mengatur ketinggian setiap item di kotak daftar. Jika properti IntegralHeight diatur ke True, ketinggian seluruh kotak daftar akan secara otomatis disesuaikan dengan nilai properti itemHeight. Jika properti gaya diatur ke ISTANDARD atau ISOWNERDRAWVARIABLE, properti ItemHeight tidak akan berarti.
(5) Atribut ItemIndex
Properti ini digunakan untuk mengatur nomor urutan item yang dipilih di kotak daftar. Jika properti Multiselect diatur ke True dan pengguna memilih beberapa item, properti ini mengembalikan nomor urutan item dengan fokus input. Kode sampel program adalah sebagai berikut:
[Delphi] Lihat PlainCopyProceDureTform1.FormCreate (pengirim: tobject); vari: integer; beginListBox1.multiselect: = false; tombol.caption = 'movetotop'; fori: = 1to10dolistbox1.items.add ('item'+inttostr (i))) ; end; ProcedureTform1.button1Click (pengirim: TOBJEK);
(6) Atribut item
Semua item dalam kotak daftar diakses melalui properti item.
[Delphi] Lihat PlainCopyVarf: File; i: Integer; beginfori: = 0to (filelistbox1.items.count-1) Dobegintryiffilistbox1.Seleksi [i] Thenbeginifnotfileexists (FileListBox1.items.string [i]) ThenBeginSged (FileListBox1.items.string [i]) ThenBeginMessged (FileListBox1.items.strings [i]) ThenBeginMessged (FileListBox1.items.strings [i]) ThenBeginMessging (FileListBox1.item .Items.strings [i]+'notfound', mterror, [mbok], 0); lanjutkan; end; assignfile (f, filelistbox1.items.strings [i]); reset (f, l); listbox1.items. Tambah (InttoStr (FileSize (f))); CloseFile (f);
(7) properti multiselect
Jika properti ini diatur ke True, beberapa item diizinkan untuk dipilih secara bersamaan. Pengguna dapat menahan tombol CTRL atau menggeser, memilih item dengan mouse, atau langsung menyeret dan drop dengan mouse untuk memilih.
(8) Properti yang diurutkan
Properti ini digunakan untuk mengatur apakah item di kotak daftar harus diurutkan secara abjad. Untuk kotak daftar yang diurutkan, item yang ditambahkan dengan memanggil add () atau insert () akan secara otomatis pindah ke tempat yang sesuai. Kode sampel program adalah sebagai berikut:
[Delphi] Lihat PlainCopyProceDuretform1.FormCreate (pengirim: TOBJEK); Item1 '); listbox1.items.add (' item4 '); end;
(9) Atribut gaya
Properti ini digunakan untuk mengatur gaya kotak daftar. Ini menetapkan 3 nilai yang dapat dipilih pengguna berikut. • LBStandard: Setiap item adalah string, dan setiap item memiliki tinggi yang sama. • LBOWNERDRAWFIXED: Item tidak harus string, tetapi juga bisa menjadi gambar. Acara OnDrawitem dipicu sebelum setiap item ditampilkan. • LBOWNERDRAWVARIABLE: Item tidak harus string, itu juga bisa berupa gambar, dan ketinggian item bisa berbeda. Dua acara dipicu sebelum setiap item ditampilkan.
3. Acara penting komponen TListBox
· Ondrawitem Jika properti gaya diatur ke LBOWNERDRAWFIXED atau LBOWNERDRAWVARIABLE dan item dalam kotak daftar perlu dicat ulang, acara tersebut akan dipicu. , acara tersebut akan dipicu
4. Cara Penting untuk Tlistbox Components
Metode komponen TListBox yang umum digunakan dalam program jelas, yang merupakan fungsi menghapus semua opsi di kotak daftar.
Bagaimana item di ListBox menampilkan warna yang berbeda sesuai dengan konten
1. Ubah Properti Gaya ListBox1 ke LBOWNERDRAWVariable2.
Misalnya:
[Delphi] Lihat PlainCopyProcedureTform1.ListBox1Drawitem (Kontrol: Twincontrol; Indeks: Integer; Rect: Trect; State: Townerdrawstate); Nomor ganjil startListBox1.canvas.brush.color: = clwindow; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); endelse // warna beginlistbox1.canvas ketika indeks dari Item bahkan angka .brush.color: = clinictiveCaptionText; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; ifodselectedInstatethen // warna saat dipilih startListBox1.canvas.brushrush .Color: = clhighlight; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; end;