Keywords: CEikEdwin MCoeCaptionRetrieverForFep GetCaptionForFep TCoeInputCapabilities InputCapabilities
Contents |
在S60第五版触摸界面中,如果一个文本编辑框有标题,那么虚拟键盘会在待编辑的文本前显示该标题。例如信息编辑器会在待编辑的消息前显示“信息:”。本文介绍了如何为文本编辑框添加标题。
创建一个新的编辑框类,并实现MCoeCaptionRetrieverForFep接口。
#ifndef __MYEDWIN_H__
#define __MYEDWIN_H__
#include <eikedwin.h> // CEikEdwin
class CMyEdwin : public CEikEdwin, public MCoeCaptionRetrieverForFep
{
public: // CEikEdwin
TCoeInputCapabilities InputCapabilities() const;
public: // MCoeCaptionRetrieverForFep
void GetCaptionForFep(TDes& aCaption) const;
};
#endif
重载GetCaptionForFep()方法提供标题,重载InputCapabilities()方法将this指针设置成标题的提供者。
#include "MyEdwin.h"
void CMyEdwin::GetCaptionForFep(TDes& aCaption) const
{
_LIT(KCaption, "Caption:");
aCaption = KCaption; // note: in a real world application you should check the capacity of aCaption to avoid "USER 11 Panic"
}
TCoeInputCapabilities CMyEdwin::InputCapabilities() const
{
TCoeInputCapabilities caps = CEikEdwin::InputCapabilities();
TCoeInputCapabilities caps2 = TCoeInputCapabilities(TCoeInputCapabilities::ENone, NULL, const_cast<CMyEdwin*>(this));
caps.MergeWith(caps2);
return caps;
}
下载完整的示例程序 (源代码在S60第五版仿真器上验证通过):
HelloWorld(CaptionedEditor).zip
为没有标题的编辑框和有标题的编辑框加载的虚拟键盘。
No related wiki articles found