Komponenta CheckListBox


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

Komponenta CheckListBox, jak ji₧ jejφ nßzev napovφdß sluΦuje v sob∞ mo₧nosti komponent CheckBox a ListBox. Slou₧φ proto pro sestavenφ rozsßhl²ch mnohonßsobn²ch seznam∙ s mo₧nostφ p°ipojenφ zaÜkrtßvacφho boxu. Umo₧≥uje proto snadn² u₧ivatelsk² v²b∞r jednotliv²ch polo₧ek ze seznamu.

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φ objektu, 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(CheckListBox.Items[0]);


Jazyk BONANZA: ShowMessage(CheckListBox.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: CheckListBox.Items[1]:='druhß polo₧ka';


Jazyk BONANZA: CheckListBox.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: CheckListBox.Items.Add('aaa');


Jazyk BONANZA: CheckListBox.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: CheckListBox.Items.Delete(2);


Jazyk BONANZA: CheckListBox.Items.Delete(2)

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


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


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

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


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


Jazyk BONANZA: CheckListBox.Items.SaveToFile("seznam.txt") CheckListBox.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 seznamu musφte proto v cyklu jedniΦku odeΦφst:


Jazyk KLONDAIK: for x:= 0 to CheckListBox.Items.Count-1 do CheckListBox.Checked[x] := False;


Jazyk BONANZA: For x = 0 to CheckListBox.Items.Count-1 CheckListBox.Checked(x) = False Next

Jak ji₧ bylo uvedeno, hlavnφ v²hoda komponenty CheckListBox je slouΦenφ seznamu se zaÜkrtßvacφm boxem. Ka₧dß polo₧ka mß samostatn² zaÜkrtßvacφ box p°φstupn² vlastnostφ Checked, kterß je dostupnß pouze z programu. Podle nastavenφ vlastnosti AllowGrayed mßte mo₧nost zadßvat pouze hodnoty True a False, p°φpadn∞ i t°etφ tzv. neznßmou hodnotu. Tu mßte mo₧nost zjistit pouze testovßnφm vlastnosti State, nap°φklad nßsledujφcφm zp∙sobem:


Jazyk KLONDAIK: if CheckListBox.State[0] = cbGrayed then Edit.Text := 'Odpov∞∩ nebyla zadßna';


Jazyk BONANZA: If CheckListBox.State(0) = cbGrayed then Edit.Text = "Odpov∞∩ nebyla zadßna" End If

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

Komponenta obsahuje b∞₧nΘ udßlosti dovolujφcφ nap°φklad reagovat na zam∞°enφ objektu, stisk klßvesy nebo myÜi a podobn∞. Nejd∙le₧it∞jÜφ udßlostφ je ale udßlost OnClickCheck, kterß nastane v okam₧iku zm∞ny nastavenφ zaÜkrtßvacφho tlaΦφtka seznamu. Vybranou polo₧ku seznamu zjistφte v udßlosti ItemIndex.


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