Symbian 中关于 ListBox 的编程使用
2010-02-26 16:03:00 来源:WEB开发网private:
virtual void DrawActualItem(TInt aItemIndex, const TRect& aActualItemRect, TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed, TBool aItemIsSelected) const;
public:
void SetIconArray(CArrayPtr
TSize MaxIconSize() const;
private:
void DeleteIconArray();
void CalculateMaxIconSize();
private:
const CEikTextListBox& iListBox;
CArrayPtr
TSize iMaxIconSize;
};
实现的代码中最重要的就是那个DrawActualItem方法负责具体的绘制工作,从它的参数表中足够得到绘制所需的信息,剩下的事情就是用SystemGc去绘制。
第二步是作一个自己的ListBox控件:
class CCustomListBox: public CEikTextListBox
{
public: // constructors
CCustomListBox();
void ConstructL(const CCoeControl* aParent, TInt aFlags = 0);
public: // from CEikTextListBox
virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
private: // from CEikTextListBox
virtual void CreateItemDrawerL();
};
在它的CreateItemDrawerL()中创建成员iItemDrawer = new (ELeave) CCustomListItemDrawer(*this)。而OfferKeyEvent主要的作用是处理上下方向键。
更多精彩
赞助商链接