改变列表框项标记位置
文章信息
关键字: 列表框 CAknSingleGraphicStyleListBox SetItemMarkPosition
概述
本文以CAknSingleGraphicStyleListBox为例描述了如何使用SetItemMarkPosition()改变S60列表框的标记位置。
代码
一般带标记的CAknSingleGraphicStyleListBox如下图所示(注意标记的位置是第一列):
点击下载示例程序 MulsList.zip
但是通过代码可以把它的标记位置变为最后一列
点击下载示例程序 MulsList(2).zip
需要的代码变动包括
1. 使用SetItemMarkPosition()设置新的标记位置
void CMulsListContainer::SizeChanged()
{
iListBox->SetRect(Rect());
iListBox->ItemDrawer()->SetItemMarkPosition(2); // set the new mark position
}
2. 更新格式串
// _LIT(KItemFormat, "1\tRecord%d\t2"); // "1\tLabel1\tIcon1"
_LIT(KItemFormat, "2\tRecord%d\t1"); // "Icon1\tLabel1\t1"
通过比较两份示例程序可以清晰地看到所需的代码变动。


(no comments yet)