ActiveX: XListBox      (Filnamn: SLXLIST.OCX)

XListBox är en utökad listbox där du bl a kan lägga in bitmappar, ikoner, individuella textfärger per rad och horisontella hjälplinjer. Elementen i listboxen kan visas sorterade eller osorterade. Listboxen fungerar annars som den ordinarie listboxen i Windows. Bl a kan standardmetoderna AddItem, Clear och RemoveItem användas för att addera respektive ta bort data från listboxen. Här nedan beskrivs alla egenskaper, metoder och händelser listboxen stödjer.


Egenskaper

Namn Datatyp Beskrivning
BackColor unsigned long Sätter bakgrundsfärg för listboxen.
.
Font Font Väljer teckensnitt för kontrollen.
.
ItemHeight short Sätter höjden för varje rad i listboxen. Om teckensnittet ändras måste eventuellt även denna egenskap justeras för att passa en ny teckenhöjd. Denna egenskap måste sättas innan man adderar data till listboxen då den annars rensar listboxen på dess innehåll.
.
ListCount short Returnerar antal element i listboxen. Denna egenskap kan enbart avläsas och är ej tillgänglig i design-läge. 
.
ListIndex short Returnerar index till nuvarande markerade rad eller sätter markering till en ny rad i listboxen. Är ingen rad markerad returnerar egenskapen -1. Denna egenskap är ej tillgänglig i design-läge.
.
Sorted BOOL Specificerar om elementen i listboxen ska sorteras eller inte. Sätts egenskapen till TRUE sorteras raderna i listboxen i alfabetisk ordning. Sätts egenskapen till FALSE sorteras dessa inte utan visas i den ordning man adderar text dit. Denna egenskap måste sättas innan man adderar data till listboxen då Sorted annars rensar listboxen på dess innehåll.
.
Text char* Returnerar texten vid den markerade raden i kontrollen. Är ingen rad markerad returnerar egenskapen "". Egenskapen Text kan enbart avläsas och är ej tillgänglig i design-läge. 
.
TopIndex

 

short Returnerar index till första synliga rad i listboxen. Denna egenskap kan enbart avläsas och är ej tillgänglig i design-läge. 
UseGrid

 

BOOL Bestämmer om horisontella hjälplinjer ska visas i listboxen eller ej. Sätts egenskapen till TRUE visas hjälplinjerna. Sätts egenskapen till FALSE visas linjerna inte.
Left, Top short Sätter X- resp. Y-position för kontrollen.
.
Height, Width short Sätter höjd och bredd för kontrollen.
.
Visible BOOL Anger om kontrollen ska vara synlig eller osynlig.
.


Händelser

Namn Beskrivning
DblClick Sänds när användaren dubbelklickar i listboxen. För att veta på vilken rad som användaren klickade på kan egenskapen ListIndex avläsas. Egenskapen Text kan avläsas för att erhålla texten vid den markerade raden.
ItemSelected Sänds när en rad i listboxen blir markerad. Den markerade radens index kan avläsas genom egenskapen ListIndex. Och egenskapen Text kan avläsas för att erhålla texten vid den markerade raden. Händelsen ItemSelected inträffar när en rad blir markerad via en musklickning, via tangentbordet eller genom att använda egenskapen ListIndex.
.


Metoder 


void AddItem(LPCTSTR str);

Adderar en sträng till listboxen. 

void Clear();

Raderar innehållet i listboxen. Alla rader i listboxen avlägsnas.

void RemoveItem(short Index);

Avlägsnar en rad ur listboxen. Parametern Index specificerar radnumret för den rad som ska raderas. Radnumret för den första raden i listboxen är 0.

CString GetList(short Index);

Returnerar text vid en rad i listboxen. Parametern Index specificerar rad som ska läsas. 

unsigned long GetItemForeColor(short Index);
void SetItemForeColor(short Index, unsigned long newValue);

Sätter/läser förgrundsfärg (textfärg) för texten vid en rad i listboxen. Parametern Index specificerar rad som ska sättas/läsas.

CPicture GetItemPicture(short Index);
void SetRefItemPicture(short Index, LPDISPATCH newValue);

Specificerar en bild som ska visas vid en rad i listboxen eller returnerar en referens till bilden. Parametern Index specificerar rad som ska sättas/läsas.

void SetListBoxTabs(short t1, short t2, short t3, short t4, short t5)


Sätter tabbstoppar i listboxen. Parametrarna t1 till t5 anger tabbstoppens positioner i listboxen. Upp till 5 tabstopp kan sättas. Ska du ha färre än 5 tabbstopp sätter du övriga parametrar (på slutet) till 0. Nästa tabbstopp måste alltid ha högre värde än föregående (tex 30, 100, 280 osv).