CAknMarkableListDialog provides a list where items are markable with Edit Shift) + selection key. Below are some tips for customizing its behaviour.
1) Implementing a 'select and exit' feature
By default, the only way to exit the CAknMarkableListDialog is to press the Cancel button or a dedicated menu command. If needed, the dialog can be made to exit immediately after selecting an item. This can be done with the CEikDialog::TryExitL( TInt aButtonId ) function.
For example, in a derived dialog's ProcessCommandL:
TryExitL( EDlgCmdOKExit );
where EDlgCmdOKExit is a button ID that can exit the dialog, as specified in OkToExitL().
2) Using selection menu resource ID
The aOkMenuBarResourceId parameter in CAknMarkableListDialog's constructor is the resource ID for a MENU_BAR. This menu is displayed when there are marked items in the list and the user presses the selection (OK) key. It can be NULL, or have the same value as aMenuBarResourceId.