您的位置:首页 > 其它

Symbian CEikEdwin 输入框使用总结

2011-05-21 11:37 232 查看
Symbian CEikEdwin 输入框使用总结

好久没有更新blog文了.今天更新一篇.
输入法控件是我们UI中常用的控件之一.
今天我们来总结一下这个控件的使用技巧.

其实用法很简单.在这里我就不多说了.
直接上代码了.嘎嘎!!!

1.首先创建CEikEdwin对象

void CRichTextView::CreateRichText()
{
//初始化
iInputbox = new (ELeave)CEikEdwin;
iInputbox->SetContainerWindowL(*this);
iInputbox->SetMopParent(this);
iInputbox->ConstructL(0, 10, 256, 4);
iInputbox->SetAknEditorFlags(EEikEdwinJustAutoCurEnd);
//设置输入法的格式,比如字母,数字,拼音等
iInputbox->SetAknEditorAllowedInputModes(EAknEditorAllInputModes);
//设置输入文本模式.可以设置数字,或者密码
iInputbox->SetAknEditorInputMode(EAknEditorTextInputMode);
//为输入框设置边框
iInputbox->SetBorder(TGulBorder::ESingleBlack);
iInputbox->SetFocus(ETrue);
}

//设置输入框中的文本
void CRichTextView::SetInputText(const TDesC& aText)
{
if(iInputbox)
{
iInputbox->SetTextL(&aText);
}
}

//得到输入框中的文本
void CRichTextView::GetInputText(TDes& aText)
{
if (iInputbox)
{
iInputbox->GetText(aText);
}
}

void CRichTextView::Draw(const TRect& ) const
{
//画输入框的边框
TGulBorder border = iInputbox->Border();
// Draw the border so that it surrounds iEditor
TRect editorRect = iInputbox->Rect();
border.Draw(gc, border.OuterRect(editorRect));
}

注意:更多的情况我们需要切换输入法.但是会发现我们的控件切换不了.
还有会遇到数字键和C键不好使的问题.如何解决呢.

1.首先做为控件,一定要将我们的输入框控件压入控件栈
2.重载OfferKeyEventL

以上代码在N95上测试通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: