在wince程序开发中使用软件输入面板

在wince程序开发中使用软件输入面板

ID:10642991

大小:56.50 KB

页数:3页

时间:2018-07-07

在wince程序开发中使用软件输入面板_第1页
在wince程序开发中使用软件输入面板_第2页
在wince程序开发中使用软件输入面板_第3页
资源描述:

《在wince程序开发中使用软件输入面板》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在WinCE程序开发中使用软件输入面板  简介  软件输入面板(SoftIM(IMENUMPROC);BOOL(CLSID*);BOOL(CLSID*);  我把这些放在开始,是因为它同时支持Proc(IMENUMINFO*pIMInfo){ CLSID*pCLSID=neemcpy(pCLSID,pIMInfo->clsid,sizeof(CLSID)); g_SipMap.SetAt(CString(pIMInfo->szName),pCLSID); TRACE(_T(%sn),CString(pIMInfo-&g

2、t;szName)); return1;}voidCSIPDemoDlg::OnButtonEnum(){ SipEnumIM(SipEnumIMProc); CStringsSipName; CLSID*pCLSID=NULL; for(POSITIONpos=g_SipMap.GetStartPosition();pos;) {  g_SipMap.GetNextAssoc(pos,sSipName,pCLSID);  m_SipList.AddString(sSipName); }}  代码所作的就是填充一个全局的map,它

3、包含了SIP名/CLSID对。这个例子和其他的都用到了MFC,当然你也可以使用熟悉的(SipEnumIMProc); CLSIDCurrSip; SipGetCurrentIM(CurrSip); intnCurrSip=LB_ERR,nSipCount=0; CStringsSipName,sCurrSipName; CLSID*pCLSID=NULL; for(POSITIONpos=g_SipMap.GetStartPosition();pos;) {  g_SipMap.GetNextAssoc(pos,sSipName,

4、pCLSID);  m_SipList.AddString(sSipName);  if(memcmp(CurrSip,pCLSID,sizeof(CLSID))==0)  {   nCurrSip=nSipCount;   sCurrSipName=sSipName;  }  nSipCount++; } m_SipList.SelectString(0,sCu123下一页——感谢阅读这篇文章,..,rrSipName);}voidCSIPDemoDlg::OnButtonSelect(){ intnSel=m_SipList.

5、GetCurSel(); if(LB_ERR==nSel)  return; CStringsSipName; m_SipList.GetText(nSel,sSipName); CLSID*pCLSID=NULL; if(!g_SipMap.Lookup(sSipName,pCLSID))  return; BOOLbRes=SipSetCurrentIM(pCLSID); if(!bRes)  TRACE(LSipSetCurrentIMreturned%lun,GetLastError());}voidCSIPDemoDlg

6、::OnButtonShooDlg::OnButtonShoemset(SipInfo,0,sizeof(SipInfo)); SipInfo.cbSize=sizeof(SIPINFO); BOOLbRes=SipGetInfo(SipInfo); if(bRes) {  if(!g_bShop;SipInfo); } else {  TRACE(LSipGetInforeturned%lun,GetLastError()); }}  这里,你可以看到修改的例子(CSIPDemoDlg::OnButtonEnum()),它检测哪

7、个SIP是被激活的并且选择listbox里相应的行。其他例子的对话框方法选择SIP并且显示或者隐藏它。注意,为了使得SipGetInfo或者SipSetInfo工作,你必须用sizeof(SIPINFO)的值初始化SIPINFO.cbSize,这样操作系统才能正常反应。这是一个很常用的_SETTINGCHANGE消息发送给所有运行的程序,所以系统将会因此而失去响应一段时间。将lParam值同时和_SETTINGCHANGE传递将会避免这样的延迟。  当说到shell函数时,有些_SETFOCUS和_KILLFOCUS进行处理。下面

8、的代码可以帮助你:voidCSipEdit::OnSetFocus(Cove(){上一页123下一页——感谢阅读这篇文章,..,SIPINFOSipInfo; memset(SipInfo,0,sizeof(SipInfo)); SipInfo.c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。