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 使用: