1 CEikColumnListBox* iListBox;
2 创建:
iListBox = new ( ELeave ) CAknSingleNumberStyleListBox();
iListBox->SetContainerWindowL( *this );
销毁:
if( iListBox ) delete iListBox;
3 添加:
CDesCArray* itemArray =
static_cast<CDesC16ArrayFlat*>(iListBox->Model()->ItemTextArray());
itemArray->AppendL();
iListBox->HandleItemAdditionL();
4 view
#include <eiklbo.h>
继承: 必须继承这些方法,否则不显示.
CCoeControl
重载:
TInt CountComponentControls() const;
{return 1; }
CCoeControl *ComponentControl(TInt aIndex) const;
{switch( aIndex )
{
case 0:
return iListBox;
default:
return NULL;
}
}
void SizeChanged();
{if ( iListBox )
{
iListBox->SetRect( Rect() );
}
}
TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
if ( aKeyEvent.iCode == EKeyDownArrow || aKeyEvent.iCode == EKeyUpArrow )
// Forward key events to listbox
return iListBox->OfferKeyEventL( aKeyEvent, aType );
return EKeyWasNotConsumed;
ConstructL:
CreateWindowL(); // Creates window.
SetRect( aRect ); // Sets rectangle of frame.
CreateListboxL();
iListBox->SetRect(Rect());
iListBox->MakeVisible( ETrue );
iListBox->SetFocus(ETrue);
ActivateL(); // Activates window. ( Ready to draw )
CreateListboxL
iListBox = new ( ELeave ) CAknSingleNumberStyleListBox();
iListBox->SetContainerWindowL( *this );
iListBox->ConstructFromResourceL( reader );
6 使用: