Symbian Listbox with CheckBox(复选框) 构建 (转)
来源:互联网 发布:阿里云 腾讯云哪个好 编辑:程序博客网 时间:2024/05/16 06:37
ymbian Listbox with CheckBox(复选框) 构建
本程序主要实现复选框Listbox. 可以mark 或者 unmark.
.h 文件:
#include <coecntrl.h>
#include <akniconutils.h>
#include <gulicon.h>
#include <eiklbo.h>
class MEikCommandObserver;
class CAknSingleGraphicStyleListBox;
class CEikTextListBox;
class CTestContainer : public CCoeControl
{
......
private:
CAknSingleGraphicStyleListBox* iListBox;
......
}
.cpp 文件
......
#include <avkon.mbg> //For EMbmAvkonQgn_indi_checkbox_on/off and EMbmAvkonQgn_indi_checkbox_on/off_mask
#include <aknconsts.h> //For KAknsIIDQgnPropCheckboxOn and KAknsIIDQgnPropCheckboxOff
void CTestContainer::InitializeControlsL()
{
iListBox = new ( ELeave ) CAknSingleGraphicStyleListBox;
// Construct listbox
TInt markable = ( EAknListBoxMarkableList |
EAknListBoxMultiselectionList |
CEikListBox::EMultipleSelection |
CEikListBox::ES60StyleMultiselection |
CEikListBox::ES60StyleMarkable );
iListBox->ConstructL( this, markable | EAknListBoxLoopScrolling );
iListBox->SetContainerWindowL( *this );
// Set scrollbars
iListBox->CreateScrollBarFrameL( ETrue );
iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOn, CEikScrollBarFrame::EAuto );
// Create listbox item array
CDesCArrayFlat* iListBoxItems = new (ELeave) CDesCArrayFlat(4);
// Create listbox items
iListBoxItems->AppendL( _L("1/tItem1") );
iListBoxItems->AppendL( _L("1/tItem2") );
iListBoxItems->AppendL( _L("1/tItem3") );
// Add items to listbox
iListBox->Model()->SetItemTextArray( iListBoxItems );
// Listbox deletes the item array
iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
iListBox->HandleItemAdditionL( ); //For update listbox UI
// Add icons to listbox
SetupListBoxIconsL();
// Activate Listbox
iListBox->SetRect( Rect() );
iListBox->ActivateL();
iListBox->SetFocus( ETrue );
iFocusControl = iListBox;
}
void CTestContainer::SetupListBoxIconsL()
{
CAknIconArray* iconArray = new( ELeave ) CAknIconArray( 1 );
CleanupStack::PushL( iconArray );
CFbsBitmap* checkboxOnBitmap = NULL;
CFbsBitmap* checkboxOnBitmapMask = NULL;
CFbsBitmap* checkboxOffBitmap = NULL;
CFbsBitmap* checkboxOffBitmapMask = NULL;
//CListItemDrawer is using this logical color as default for its marked icons
TRgb defaultColor;
defaultColor = CEikonEnv::Static()->Color( EColorControlText );
AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
KAknsIIDQgnPropCheckboxOn,
KAknsIIDQsnIconColors,
EAknsCIQsnIconColorsCG13,
checkboxOnBitmap,
checkboxOnBitmapMask,
KAvkonBitmapFile,
EMbmAvkonQgn_indi_checkbox_on, // marked icon, SDK own it
EMbmAvkonQgn_indi_checkbox_on_mask,
defaultColor
);
CGulIcon* checkboxOnIcon = CGulIcon::NewL( checkboxOnBitmap, checkboxOnBitmapMask );
CleanupStack::Pop( 2 ); // checkboxOnBitmap, checkboxOnBitmapMask
CleanupStack::PushL( checkboxOnIcon );
iconArray->AppendL( checkboxOnIcon );
AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
KAknsIIDQgnPropCheckboxOff,
KAknsIIDQsnIconColors,
EAknsCIQsnIconColorsCG13,
checkboxOffBitmap,
checkboxOffBitmapMask,
KAvkonBitmapFile,
EMbmAvkonQgn_indi_checkbox_off, // unmarked icon, SDK own it
EMbmAvkonQgn_indi_checkbox_off_mask,
defaultColor
);
CGulIcon* checkboxOffIcon = CGulIcon::NewL( checkboxOffBitmap, checkboxOffBitmapMask );
CleanupStack::Pop( 2 ); // checkboxOffBitmap, checkboxOffBitmapMask
CleanupStack::PushL( checkboxOffIcon );
iconArray->AppendL( checkboxOffIcon );
iListBox->ItemDrawer()->ColumnData()->SetIconArray( iconArray );
// checkboxOffIcon, checkboxOnIcon, iconArray
CleanupStack::Pop( 3 );
}
- Symbian Listbox with CheckBox(复选框) 构建
- Symbian Listbox with CheckBox(复选框) 构建 (转)
- MFC ListBox实现CheckBox功能(附带复选框)
- checkbox复选框 翻页复选
- 带复选框的ListBox
- js复选框checkbox
- Android 复选框CheckBox
- CheckBox复选框
- 关于复选框checkbox
- CheckBox复选框
- checkBox复选框
- 复选框CheckBox
- 复选框checkbox控件
- 复选框CheckBox
- 03 CheckBox 复选框
- CheckBox复选框
- CheckBox复选框
- checkbox js----复选框
- DOM-节点
- Parallel Symbolic Execution for Automated Real-World Software Testing
- centOS 配置dns
- redirect the std::cout to QtTextEdit
- android videoview 背景知识
- Symbian Listbox with CheckBox(复选框) 构建 (转)
- jQuery Ajax 实例 全解析
- 利用php以及dojo,完成文件上传
- Silverlight 在MVVM中同步UI的SelectedItems和DataContext
- QString 与其它类的互转
- POJ3662 Telephone Lines [二分 最短路]
- 了解java
- Android入门学习_代码常用布局
- 为UIKeyboardTypeNumberPad增加自定义按键