可標記列表 筆記

來源:互聯網
上載者:User

在測試的時候用的是CAknDoubleStyleListBox列表

首先,在構造列表的時候,添加EAknListBoxMarkableList:
iListBox->ConstructL(this, EAknListBoxMarkableList);

或者不要這一句,直接在rss檔案裡面:

RESOURCE LISTBOX R_CONTACT_LIST_BOX_LIST_BOX
 {
 flags = EAknListBoxMarkableList;
 }
其次:
添加列表標記表徵圖
void CListtoListBox::SetupListBoxIconsL()
 {
 _LIT(KmlFile,"z://resource//apps//MultiViews.mbm");
 CEikonEnv* eikonEnv = CEikonEnv::Static();
 TFileName mbmFile(KmlFile);
 CArrayPtr<CGulIcon>* icons = new (ELeave) CAknIconArray(3);
 CleanupStack::PushL(icons);
 icons->AppendL(eikonEnv->CreateIconL(mbmFile, EMbmMultiviewsList_icon,
   EMbmMultiviewsList_icon_mask));
 //     icons->AppendL(eikonEnv->CreateIconL(mbmFile, EMbmMarklistStar, EMbmMarklistStarmask));
 CleanupStack::Pop(icons);
 iListBox->ItemDrawer()->FormattedCellData()->SetIconArray(icons);
 if (icons != NULL)
  {
  iListBox->ItemDrawer()->ColumnData()->SetIconArray(icons);
  }
 }
最後:
添加列表標記相關的菜單,
在菜單中添加
.....
MENU_TITLE
   {
   menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST;
   }
.....

處理一下功能表命令
case EAknCmdMark:
  case EAknCmdUnmark:
  case EAknMarkAll:
  case EAknUnmarkAll:
   {
   iappContainer->HandleMarkCommandL(aCommand); //轉交給容器控制項
   break;
   }
即可。

 

另:

const CListBoxView::CSelectionIndexArray* selection =
    iListBox->SelectionIndexes();

可以獲得被戳印金鑰的index值的數組。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.