获取文本框当前的输入法

//最早不知道是哪位高人写的,本人修改了一下(原来的不能区别拼音和笔画)
H文件:
#include <eikenv.h> // for CAknEnv::Static()
#include <aknindicatorcontainer.h> //for CAknIndicatorContainer
#include <aknedsts.h>

struct S_uid: public TUid
{
S_uid(int i)
{
iUid = i;
}
};

class MAknEditingStateIndicator
{
public:
// virtual void SetState(TAknEditingState aState) = 0;
virtual void SetState(TInt aState) = 0;
virtual CAknIndicatorContainer *IndicatorContainer() = 0;
};

S文件:

void GetInputMethod( )
{
MAknEditingStateIndicator * ei = CAknEnv::Static()->EditingStateIndicator ( );
if (!ei )
return;

CAknIndicatorContainer *ic = ei->IndicatorContainer ( );
if (!ic )
return;
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorPinyin )))
{
//拼音
}
else
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorStroke )))
{
//笔画
}
else
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorLowerCase ) ) )
{
//abc
}
else
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorUpperCase ) ) )
{
//ABC
}
else
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorTextCase ) ) )
{
//Abc
}
else
if (ic->IndicatorState (S_uid (EAknNaviPaneEditorIndicatorNumberCase ) ) )
{
//123
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值