listbox java_ListBox控件
终于对Series 60的ListBox控件有了一个比较清晰的了解.
说真的这几天看这样的代码真有点赶鸭子上架.
我在放ListBox控件的容器类中声明了一个CEikColumnListBox* _listbox;
在其ConstructL函数中构造一个CEikColumnListBox的实例:
_listBox = new(ELeave) CAknSingleStyleListBox;
_listBox->ConstructL(this);
_listBox->SetContainerWindowL(*this);
_listBox->CreateScrollBarFrameL(ETrue);
_listBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn,CEikScrollBarFrame::EAuto);
因为需要处理listbox的Keypress事件.
_listBox->SetListBoxObserver(this);
所以这里的容器类的实例必须扩展public MEikListBoxObserver.
头文件必须包含eiklbo.h.
当然需要实现MEikListBoxObserver中的虚函数:
void CTestListContainer::HandleListBoxEventL(CEikListBox* aListBox,TListBoxEvent aEventType)
这里处理KeyPress事件.
需要aEventType==EEventEnterKeyPressed.
如果需要知道选中的是某一个Item.
TInt number(_listBox->CurrentItemIndex());
number是从0开始的一直到ListBox的Item总数减一的整数.
上下移动选择的处理是在函数
TKeyResponse CTestListContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType){
if (aType!=EEventKey)
{return EKeyWasNotConsumed;}
f (_listBox){
return _listBox->OfferKeyEventL(aKeyEvent, aType);
}
else {return EKeyWasNotConsumed;}
}
这个函数主要是处理按键事件,它并不是专门针对ListBox,当然在这里是处理ListBox上下移动按键。
ListBox的Item可以通过动态添加和资源文件生成
动态添加
TBufitem;
_LIT(KItemName1,"234234234234");
//这里有个风格格式
item.Format(_L(" %S "),&KItemName1);
listBoxItems->AppendL(item);
_LIT(KItemName2,"rtetertet");
item.Format(_L(" %S "),&KItemName2);
listBoxItems->AppendL(item);
_LIT(KItemName3,"adsfasfasdf");
item.Format(_L(" %S "),&KItemName3);
listBoxItems->AppendL(item);
_listBox->HandleItemAdditionL();
_listBox->SetCurrentItemIndexAndDraw(listBoxItems->Count()-1);
_listBox->ActivateL();
这里是对ListBox框的一些初步了解
第一感觉在Symbian下因为不是可视化编程,所以添加控件比较麻烦
但Symbian的程序结构的确是非常合理
而且我很高兴它也是基于MVC的
当然列表框也是可以加图标的
很简单
new了一个CAknSingleLargeStyleListBox的列表框
_listBox=new (ELeave)CAknSingleLargeStyleListBox;
建立一个数组来保存icon信息
CAknIconArray* iconList=new (ELeave)CAknIconArray(10);
CleanupStack::PushL(iconList);
把图标信息添加到数组
iconList->AppendL(iEikonEnv->CreateIconL(KIconsFilename, EMbmTestlistGolgo2,EMbmTestlistGolgo2m));
加完了不要忘了CleanupStack::Pop();
EMbmTestlistGolgo2和EMbmTestlistGolgo2m是在.mbg里定义的
把一些位图放到一个.mbm文件里访问,每个位图资源都有一个ID
当然把位图放到.mbm要在.mmp文件里定义
如
START BITMAP testlist.mbm
TARGETPATH systemapps estlist
HEADER
SOURCEPATH ..\bmp
SOURCE C12 golgo2.bmp
SOURCE C12 golgo2m.bmp
END
给listbox加上图标
我用的是
_listBox->ItemDrawer()->ColumnData()->SetIconArray(iconList);
另外对于CEikFormattedCellListBox扩展的ListBox
_listBox->ItemDrawer()->FormattedCellData()->SetIconArray();
_listBox->ItemDrawer()->FormattedCellData()->SetSubCellAlignmentL(2,CGraphicsContext::ELeft);
当然最后添加item的时候要注意格式
TBufitem;
_LIT(KItemName1,"234234234234");
item.Format(_L("%d\t%S "),0,&KItemName1);
listBoxItems->AppendL(item);
在SymbianOS(series 60平台) 下有很多格式的ListBox,更详细的信息可以在
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1479162
listbox java_ListBox控件相关推荐
- 解决ScrollViewer嵌套的DataGrid、ListBox等控件的鼠标滚动事件无效
C# 中,两个ScrollViewer嵌套在一起或者ScrollViewer里面嵌套一个DataGrid.ListBox.Listview(控件本身有scrollviewer)的时候,我们本想要的效果 ...
- 《实用VC编程之玩转控件》第7课:ListBox 列表控件
本文转载自 VC驿站: https://www.cctry.com/thread-297429-1-1.html 1.向列表框控件添加数据: a.向列表框的结尾添加数据: m_ListBox.AddS ...
- WPF 控件专题 ListBox 控件详解
1.ListBox 介绍 ListBox 列表控件. ListBox 是一个 ItemsControl,这意味着它可以包含任何类型的对象的集合 (,例如字符串.图像或面板) . 一个 ListBox ...
- html中listbox效果,listbox控件的使用
VB的listbox控件怎么使用 每次我点击一个图片时,怎么让listbox.list加载一个数字 如我点4张 它的假设Listbox控件名字是List1: List1.Clear '清空列表中所有元 ...
- WPF ListBox控件
WPF提供了许多包装集合的控件.这里包括了ListBox列表控件.ComboBox组合框控件,还有其他的更多的空间我们就不介绍了. ListBox是个典型的ItemsControl. 首先,我们看看L ...
- 一步一步学Silverlight 2系列(2):基本控件_转载
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- Web 窗体控件简介
概述 Active Server Pages+ (ASP+) 框架,也称为 Web 窗体,可用来创建可编程的网页,以便将它们作为总体 Web 应用程序的组成部分.Web 窗体在以下方面简化了 Web ...
- C#--窗体控件(选择类控件)
文章目录 下拉组合框控件 复选框控件 单选按钮控件 数值选择控件 选择类控件有下拉组合框(ComboBox)控件.复选框(CheckBox)控件.单选按钮(RadioButton)控件.数值选择(Nu ...
- SOUI总结之控件说明
控件说明 文件包含(include)说明 使用处添加 <include src="layout:dlg_OTP"/> 写法: <include> <w ...
最新文章
- INVALID_HANDLE_VALUE的意思和用法
- [crypto]-05.1-PKCS PKCS#1 PKCS#7 PKCS#11的介绍
- 【HRS项目】Axure兴许问题解决---与SVN结合
- html红色星号怎么做_码农的插花艺术:HTML(一)
- charles 中文_抓包工具--charles(青花瓷)及获取AppStore数据包
- SSM框架搭建+easyui增删改查
- 拼多多砍价小程序源码 流量主系列
- Spring @Async 注解
- matlab 读取视频出现的问题
- python入门经典100题
- mac osx终端命令大全
- Lwm2m的server分析
- PCA实现高维数据可视化
- Spring 的事务传播机制
- GIF微信表情如何制作
- 程序员转项目管理,需要做什么?
- Unity导弹,射击
- 入职一家初创公司第一周的血与泪
- CTO谈豆瓣网和校内网技术架构变迁
- ADB命令开关闭手机WIFI以及下拉(收缩)状态栏