Komponenta ListBox


P°ehled vlastnostφ, metod a udßlostφ objektu:
--------------------------------------------------------------
Align (RW)           BorderStyle (RW)     Color (RW)
Columns (RW)         Ctl3D (RW)           Cursor (RW)
Enabled (RW)         ExtendedSelect (RW)  Font (RW)
Height (RW)          HelpContext (RW)     Hint (RW)
IntegralHeight (RW)  ItemHeight (RW)      ItemIndex (*RW)
Items (RW)           Left (RW)            MultiSelect (RW)
Name (R)             ParentColor (RW)     ParentCtl3D (RW)
ParentFont (RW)      ParentShowHint (RW)  PopupMenu (RW)
Selected (*)         ShowHint (RW)        Sorted (RW)
Style (RW)           TabOrder (RW)        TabStop (RW)
TabWidth (RW)        Tag (RW)             Top (RW)
Visible (RW)         Width (RW)           
--------------------------------------------------------------
SetFocus             
--------------------------------------------------------------
OnClick              OnDblClick           OnEnter
OnExit               OnKeyDown            OnKeyPress
OnKeyUp              OnMouseDown          OnMouseMove
OnMouseUp            
--------------------------------------------------------------
Legenda: * -> pouze z programu, R -> lze Φφst, W -> lze zadat

Komponenta ListBox slou₧φ pro zobrazovßnφ seznam∙ °et∞zcov²ch polo₧ek s mo₧nostφ u₧ivatelskΘho v²b∞ru po₧adovanΘ polo₧ky.

Seznam polo₧ek je ulo₧en ve vlastnosti Items, kterou p°edstavuje prom∞nnß typu StrArray. Uveden² typ prom∞nnΘ mß svΘ vlastnφ metody pro prßci s obsa₧en²m seznamem °et∞zc∙. Pro zadßnφ poΦßteΦnφho obsahu m∙₧ete pou₧φt specißlnφ editor p°φstupn² z okna nastavenφ objekt∙, kter² se aktivuje kliknutφm na ikonu se t°emi teΦkami vpravo od vlastnosti Items.

JednotlivΘ polo₧ky jsou v seznamu °et∞zc∙ p°φstupnΘ sv²m indexem, to je po°adov²m Φφslem. Polo₧ky jsou Φφslovßny od nuly. Prvnφ polo₧ka v po°adφ mß proto index nula, pßtß polo₧ka mß index 4. Pokud pot°ebujete zjistit obsah polo₧ky, musφte zadat jejφ po°adov² index. Obsah prvnφ polo₧ky proto zobrazφte


Jazyk KLONDAIK: ShowMessage(ListBox.Items[0]);


Jazyk BONANZA: ShowMessage(ListBox.Items(0))

Podobn²m zp∙sobem m∙₧ete zm∞nit obsah polo₧ky, kdy op∞t zadßvßte index polo₧ky a nov² obsah. Pro druhou polo₧ku v po°adφ proto zadßte:

Jazyk KLONDAIK: ListBox.Items[1]:='druhß polo₧ka';


Jazyk BONANZA: ListBox.Items(1) = "druhß polo₧ka"

Novou polo₧ku do seznamu zadßte z aplikace pou₧itφm metody Add nßsledujφcφm zp∙sobem:


Jazyk KLONDAIK: ListBox.Items.Add('aaa');


Jazyk BONANZA: ListBox.Items.Add("aaa")

Pokud pot°ebujete n∞kterou polo₧ku ze seznamu zruÜit, pou₧ijte volßnφ metody Delete nßsledujφcφm zp∙sobem:


Jazyk KLONDAIK: ListBox.Items.Delete(2);


Jazyk BONANZA: ListBox.Items.Delete(2)

Pot°ebujete-li v seznamu vyhledat index polo₧ky se zadan²m obsahem, pou₧ijte funkci IndexOf:


Jazyk KLONDAIK: ShowMessage(ListBox.Items.IndexOf('aaa'));


Jazyk BONANZA: ShowMessage(ListBox.Items.IndexOf("aaa"))

Obsah seznamu m∙₧ete ulo₧it na disk do textovΘho souboru metodou SaveToFile, p°φpadn∞ naΦφt textov² soubor do seznamu metodou LoadFromFile:


Jazyk KLONDAIK: ListBox.Items.SaveToFile('seznam.txt'); ListBox.Items.LoadFromFile('seznam.txt');


Jazyk BONANZA: ListBox.Items.SaveToFile("seznam.txt"); ListBox.Items.LoadFromFile("seznam.txt");

Pot°ebujete-li projφt cel² seznam a provΘst s ka₧dou polo₧kou seznamu n∞jakou akci, pou₧ijte vlastnost Items.Count. Musφte p°itom poΦφtat s tφm, ₧e se seznam Φφsluje od nuly, poΦet polo₧ek seznamu je vÜak uvßd∞n od jedniΦky. Od celkovΘho poΦtu musφte proto v cyklu jedniΦku odeΦφst:


Jazyk KLONDAIK: for x:= 0 to ListBox.Items.Count-1 do ListBox.Items[x] := UpperCase(ListBox.Items[x]);


Jazyk BONANZA: For x = 0 to ListBox.Items.Count-1 ListBox.Items(x) = UCase(ListBox.Items(x)) Next

Pokud pot°ebujete seznam se°adit podle abecedy, pou₧ijte vlastnost Sorted. Pro kompletnφ v²maz seznamu pou₧ijte metodu Clear.

Jak ji₧ bylo uvedeno, slou₧φ komponenta ListBox pro u₧ivatelsk² v²b∞r polo₧ek ze seznamu. Mo₧nost v²b∞ru pouze jednΘ polo₧ky, p°φpadn∞ v∞tÜφho poΦtu polo₧ek se zadßvß ve vlastnosti MultiSelect. Podle nastavenφ vlastnosti ExtendedSelect lze provßd∞t bu∩ nezßvisl² v²b∞r polo₧ek, p°φpadn∞ sekvenΦnφ v²b∞r dle rozsahu od a₧ do.

Mßte-li nastavenu mo₧nost vφcenßsobnΘho v²b∞ru ve vlastnosti MultiSelect, mßte mo₧nost z programu pomocφ vlastnosti Selected kontrolovat, zda je urΦitß polo₧ka seznamu vybrßna:


Jazyk KLONDAIK: if ListBox.Selected[1] then Memo.Lines.Add(ListBox.Items[1]);


Jazyk BONANZA: If ListBox.Selected(1) then Memo.Lines.Add(ListBox.Items(1)) End If

Komponenta obsahuje b∞₧nΘ udßlosti dovolujφcφ nap°φklad reagovat na zam∞°enφ objektu, stisk klßvesy nebo myÜi a podobn∞.


OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz