CEikEdWin 类的使用
CEikEdWin? 類(lèi)的使用
CEikEdWin 是一個(gè)編輯框類(lèi),如同 edit,textbox ,這個(gè)類(lèi)對(duì)應(yīng)的 RESOURCE STRUCT 名為
EDWIN
把這個(gè)控件結(jié)構(gòu)添加到資源文件中為
RESOURCE EDWIN r_edwin_test
{
????flags = EAknEditorFlagDefault;
??? width = qtn_app_edit_width;
??? lines = qtn_app_edit_height;
??? maxlength = qtn_app_edit_maxLength;
}
其中 qtn_app_edit_width/height/maxLength 是定義在 loc 文件中的
如:
#define qtn_app_edit_width? 50
#define qtn_app_edit_height 1
#define qtn_app_edit_maxLength 20
但是 EAknEditorFlagDefault 沒(méi)有找到在哪里定義,應(yīng)該是默認(rèn)設(shè)置
關(guān)于類(lèi)在資源中的結(jié)構(gòu)可以通過(guò) Developer?Library?? API?Reference?? C++?API?reference?? Uikon?Resources 找到各個(gè)類(lèi)的資源
結(jié)構(gòu)定義
在 rss 文件中要引用 hrh 及 loc 文件
在代碼文件中要引入
工程名.rsg 文件
下面是添加一個(gè) CEikEdwin 類(lèi)的主要步驟:
#include "XXX.hrh"
#include "XXX.loc"
RESOURCE EDWIN r_edwin_Test
{
?flags = EAknEditorFlagDefault;
?width = qtn_app_edit_width;
?lines = qtn_app_edit_height;
?maxlength = qtn_app_edit_maxLength;
}
class CEikEdwin;
可以參考項(xiàng)目自動(dòng)生成的代碼,都會(huì)有前向定義的
CEikEdwin* iEdit;
#include <barsread.h>??// for ResourceReader
#include <eikedwin.h>? // for CEikEdwin
#include <EDITCONTROL.RSG>? // 這個(gè) rsg 文件是 rss 文件編譯生成的文件,對(duì)每個(gè)資源賦予一個(gè) id
?TResourceReader aRead ;
?iCoeEnv->CreateResourceReaderLC(aRead,R_EDWIN_TEST);
?iEdit = new (ELeave) CEikEdwin();
?iEdit->SetContainerWindowL(*this);
?iEdit->ConstructFromResourceL(aRead);
?iEdit->SetBackgroundColorL(KRgbRed);
?//iEdit->SetTextL( _L("Add Your controls\n here"));
?CleanupStack::PopAndDestroy();
?iEdit->SetExtent(EDWIN_POS,iEdit->MinimumSize());? //?這句是指定位置的 edwin_pos 是 在頭文件中定義的 #define EDWIN_POS?????????? TPoint( 10, 25 )
?iEdit->SetFocus(ETrue);
實(shí)現(xiàn)代碼為:
TKeyResponse CeditTestContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,TEventCode aType )
{
?if (iEdit)
?{
??if(iEdit->IsFocused())
??{
???return iEdit->OfferKeyEventL(aKeyEvent,aType);
??}
?}
}
===========================
zziss@原創(chuàng)
qi_jianzhou@126.com
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/zziss/articles/1631041.html
總結(jié)
以上是生活随笔為你收集整理的CEikEdWin 类的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mx:button加skin光晕点击时,
- 下一篇: C#枚举硬件设备(升级版)