用CEikSecretEditor输入密码问题!

vigoqiu 2010-01-25 02:31:16
为什么一按键,编辑框的文字马上就变成*号了?我想要的效果是短暂显示用户输入的字符,然后转变成(*)星号。

构造是这样的:
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader, R_MINGYOU_EDWIN_REMARK );
iPassWord = new ( ELeave )CAknNumericSecretEditor;
iPassWord->SetContainerWindowL( *this );
iPassWord->ConstructFromResourceL( reader );
iPassWord->RevealSecretText(ETrue);
iPassWord->SetExtent( TPoint( 20, 100 ), TSize( 115, 20 ) ); //定义位置和大小
//iPassWord->SetTextL()
iPassWord->SetMaxLength( 16 );
iPassWord->SetFocusing( ETrue );
CleanupStack::PopAndDestroy(); // Resource reader ComponentControl


OfferKeyEventL也处理了:

return iPassWord->OfferKeyEventL(aKeyEvent,aType);



是不是哪里不对?请大家帮忙。
...全文
260 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenziteng 2010-02-09
  • 打赏
  • 举报
回复
Hi,

加行给密码框设置焦点的语句就没问题了。

"CEikSecretEditor密码输入框该怎样设?"
http://discussion.forum.nokia.com/forum/showthread.php?t=191700

Regards

Ziteng Chen
vigoqiu 2010-01-26
  • 打赏
  • 举报
回复
建了一个空白的工程,添加了CEikSecretEditor,问题有所改善,现在是输入内容能短暂显示,然后转变成(*)星号,但就只能输入数字,不能输入字母,很简单,就几行代码,哪位达人帮我看下啊?!!!!!


//CEikSecretEditor创建的代码。

void CeditorAppView::ConstructL(const TRect& aRect)
{
// Create a window for this application view
CreateWindowL();


TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader, R_PASSWORD_EDWIN );
iPassWord = new ( ELeave ) CEikSecretEditor;
iPassWord->SetDefaultInputMode(EAknEditorSecretAlphaInputMode);
iPassWord->SetContainerWindowL( *this );
iPassWord->ConstructFromResourceL( reader );
iPassWord->SetExtent( TPoint( 20, 100 ), TSize( 115, 30 ) );
iPassWord->SetMaxLength( 6 );
CleanupStack::PopAndDestroy(); // Resource reader ComponentControl

SetRect(aRect);

// Activate the window, which makes it ready to be drawn
ActivateL();
}




//资源
RESOURCE SECRETED r_password_edwin
{
num_letters = 5;
}

//消息处理
TKeyResponse CeditorAppView::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
{

return iPassWord->OfferKeyEventL(aKeyEvent,aType);

}


//AppUi构造

void CeditorAppUi::ConstructL()
{
// Initialise app UI with standard value.
BaseConstructL(CAknAppUi::EAknEnableSkin);

// Create view object
//iAppView = CeditorAppView::NewL(ClientRect());
iAppView = CeditorAppView::NewL(TRect(0,0,240,320));
AddToStackL(iAppView);
}
代码下载地址: https://pan.quark.cn/s/48b01f0717eb 本文将详细研究有关rtl8822蓝牙驱动及其适配的相关信息。rtl8822是由Realtek公司设计的一种无线通信芯片,主要应用于提供Wi-Fi和蓝牙功能。该芯片被广泛应用于多种现代电子设备中,例如笔记本电脑、路由器、智能手机以及平板电脑等。 我们首先需要理解“驱动”的定义。驱动程序充当计算机硬件与操作系统之间的中介,负责将硬件指令解释为操作系统能够识别的语言。对于rtl8822芯片而言,蓝牙驱动是控制该芯片执行蓝牙通信的核心软件模块,它确保设备能够准确识别并连接其他蓝牙设备。 rtl8822驱动资料通常包括以下几个部分: 1. **Bluetooth Baseband (BB) 驱动**:这一部分负责处理蓝牙的底层通信,包括射频信号的编码与解码,以及数据包的发送和接收。 2. **Bluetooth Host Controller Interface (HCI)**:HCI层是蓝牙驱动的重要组成部分,它确立了蓝牙主机(例如CPU)与控制器(例如rtl8822芯片)之间的接口协议。借助HCI,应用程序能够与蓝牙设备进行互动,如配对、建立连接、传输数据等。 3. **移植文档**:移植文档是将rtl8822蓝牙驱动适配至不同操作系统或平台的关键指南,其中通常包含了详尽的步骤、注意事项以及可能遇到的问题的解决方案。这些文档有助于开发者理解驱动的工作原理,并根据目标系统进行必要的调整。 4. **芯片手册**:Realtek为rtl8822芯片提供的手册是开发和调试驱动的重要参考资料,其中涵盖了芯片的硬件特性、寄存器布局、接口规范、功耗管理等内容。熟悉这些信息能够帮助开发者更深入地...

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧