获取当前输入框的输入法

来源:互联网 发布:数据库lower 编辑:程序博客网 时间:2024/05/16 10:45

#include <akneditstateindicator.h>

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


TInt GetCurrentIndicatorState()
{
    MAknEditingStateIndicator * ei = CAknEnv::Static()->EditingStateIndicator() ;
    if (!ei) return -1;

    CAknIndicatorContainer *ic = ei->IndicatorContainer();
    if (!ic) return -1;
   
    if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorPinyin) ))
    {
        //拼音输入法
        return 2;
    }
    else if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorLowerCase)))
    {
        //小写
        return 4;
    }
    else if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorUpperCase)))
    {
        //大写
        return 5;
    }
    else if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorTextCase)))
    {
        return 0;
    }
    else if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorNumberCase)))
    {
        //数字
        return 3;
    }
    else if(ic->IndicatorState(S_uid(EAknNaviPaneEditorIndicatorStroke) ))
    {
        //笔画
        return 1;
    }
   
    return -1;
}

原创粉丝点击