A listád titkai

A javasolt anyag kétféleképpen jelenít meg adatokat a ListBox összetevőben több oszlop formájában. Ez a feladat nem nehéz, ezért szeretnék elmagyarázni valamit, mielőtt elolvasta ezt az oldalt.

ListBox - szerény összetevő, amely a Delphi 1.0-ban jelent meg. Megjeleníti a húrok listáját, és lehetővé teszi, hogy kiválasszon közülük egyet vagy többet. Azonban, ahogyan Keith Wood (Keith Wood) ezt a cikket mutatja, ez az összetevő csak ritkán használt olyan jellemzőkkel, amelyek segítségével az alkalmazási felület jobban tájékoztatható.

Olyan táblázatos listát szeretne megjeleníteni, amely több oszlopot tartalmaz? Hogyan készítsünk egyenlő oszlopokat? Próbálkozhat a szóközök használatával, de ez a módszer nem működik arányos betűtípusokkal. Lehetősége van a tulajdonos-felhívni és létrehozni az oszlopokat. De ez a munka nem szükséges! A ListBox már rendelkezik olyan tulajdonsággal, amely lehetővé teszi, hogy megoldja ezt a helyzetet.

A TabWidth tulajdonság beállítja a lapokat a ListBox-ban. Egy párbeszédpanel egységeiben méri, négy egység egyenlő a szimbólum szívszélességével. Ha ez a tulajdonság 0-ra van állítva (az alapértelmezett), a listaboxon nincsenek tabulátorok, és a tabulátor karakterek függőleges sorként jelennek meg. Ha nem nulla értékre van állítva, akkor ez a tulajdonság határozza meg a listabox teljes szélességében elhelyezett füljelzések közötti távolságot.

Különböző szélességű oszlopok

Mi a teendő, ha változó szélességű oszlopokat szeretne készíteni?

Természetesen nincs olyan tulajdonság, amely lehetővé teszi, hogy könnyedén elvégezhesse ezt, de ez könnyen végrehajtható kóddal. Mindössze annyit kell tennie, hogy küldjön egy LB_SETTABSTOPS üzenetet, a lapok számát és a tömbhöz mutató mutatót a pozíciójukkal:

A High függvény a tömb utolsó elemének indexét adja vissza. Ha egy tömb indexelve van, növelheti a lapok számát egyszerűen új elemek hozzáadásával a tömbhöz.

Be kell állítania a TabWidth tulajdonságot is, amely nem nulla, csak ebben az esetben a ListBox készen áll az üzenet elfogadására.

Ha be szeretné illeszteni egy lap karaktert a szövegébe, egyszerűen használja a 9 ASCII karaktert, például:

A ListBox egy másik kevéssé ismert tulajdonsága, hogy több oszlopot is megjeleníthet, érdemes a számukat az Oszlopok tulajdonságban megadni.

Most a ListBox sorai az újságok oszlopai szerint rendeződnek, szükség esetén megjelenik egy vízszintes görgetősáv. Azokat a sorokat, amelyek nem illeszkednek a rájuk fenntartott helyre, le vannak vágva.

Mindkét funkció egyszerűen megváltoztatja a ListBox megjelenését. Az alkatrész minden más funkciója a szokásos módon működik.

Szóval, a szerény ListBoxunk rejtett tehetséggel rendelkezik. Megfigyeltük, hogyan készíthetünk tabulátorlistát a TabWidth tulajdonság és az LB_SETTABSTOPS üzenet használatával. Azt is láttuk, hogyan lehet többszínű listát létrehozni az oszlopok tulajdonság segítségével. Ne feledkezzen meg a ListBox következő használatakor.

Kate Wood egy Ausztrália jelenleg az Egyesült Államokban. A CCSC analitikus programozója Atlanta-ban és önálló műszaki író. A Borland termékekkel kapcsolatos tapasztalata gyökerei a Turbo Pascal számára a CP / M számára.

Kapcsolódó cikkek