Following code snippets illustrate Listbox creation using resource. Here SingleStyle ListBox is used just for illustration.
Contents |
File CYrRss.l01:
// English language support
#define lb_item1 "\tItem1\t"
#define lb_item2 "\tItem2\t"
#define lb_item3 "\tItem3\t"
#define lb_item4 "\tItem4\t"
#define lb_item5 "\tItem5\t"
#define lb_item6 "\tItem6\t"
#define lb_item7 "\tItem7\t"
#define lb_item8 "\tItem8\t"
#define lb_item9 "\tItem9\t"
File CYrRss.l16:
// Russian language support - russian text should be saved in UTF 8 !
CHARACTER_SET UTF8
#define lb_item1 "\tЭлемент1\t"
#define lb_item2 "\tЭлемент2\t"
#define lb_item3 "\tЭлемент3\t"
#define lb_item4 "\tЭлемент4\t"
#define lb_item5 "\tЭлемент5\t"
#define lb_item6 "\tЭлемент6\t"
#define lb_item7 "\tЭлемент7\t"
#define lb_item8 "\tЭлемент8\t"
#define lb_item9 "\tЭлемент9\t"
File CYrRss.rss:
CHARACTER_SET UTF8
#ifdef LANGUAGE_01
#include "CYrRss.l01"
#endif
#ifdef LANGUAGE_16
#include "CYrRss.l16"
#endif
...
RESOURCE LISTBOX r_list_box
{
flags = EAknListBoxSelectionList;
array_id= r_list_box_item_array;
}
RESOURCE ARRAY r_list_box_item_array
{
items =
{
LBUF { txt = lb_item1;},
LBUF { txt = lb_item2;},
LBUF { txt = lb_item3;},
LBUF { txt = lb_item4;},
LBUF { txt = lb_item5;},
LBUF { txt = lb_item6;},
LBUF { txt = lb_item7;},
LBUF { txt = lb_item8;},
LBUF { txt = lb_item9;},
};
}
#include <aknlists.h> // For List Box
#include <barsread.h> //For Resource Reader
TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
private: // data
// ..
CAknSingleStyleListBox* iListBox;
LIBRARY bafl.lib
#include <YrListBox.rsg>
void CYrContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
iListBox= new (ELeave) CAknSingleStyleListBox();
iListBox->SetContainerWindowL(*this);
TResourceReader rr;
iCoeEnv->CreateResourceReaderLC(rr, R_LIST_BOX);
iListBox->ConstructFromResourceL(rr);
iListBox->CreateScrollBarFrameL(ETrue);
iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EAuto);
CleanupStack::PopAndDestroy();//rr
SetRect(aRect);
ActivateL();
}
void CYrContainer::SizeChanged()
{
iListBox->SetExtent(TPoint(0,0), iListBox->MinimumSize() );
}
TInt CYrContainer::CountComponentControls() const
{
return 1; // return number of controls inside this container
}
CCoeControl* CYrContainer::ComponentControl(TInt aIndex) const
{
switch ( aIndex )
{
case 0:
return iListBox;
default:
return NULL;
}
}
TKeyResponse CYrContainer::OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType)
{
return iListBox->OfferKeyEventL(aKeyEvent, aType);
}
No related wiki articles found