获取输入法

来源:互联网 发布:知乎的live能下载吗 编辑:程序博客网 时间:2024/04/29 20:20
//最早不知道是哪位高人写的,本人修改了一下(原来的不能区别拼音和笔画) 
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 


原创粉丝点击