如何在 Pocket PC 上显示/隐藏 SIP
我遇到以下问题:
我打开对话框,打开 SIP 键盘来填写表单,然后最小化 SIP。 然后,当我关闭当前对话框并返回主对话框时,SIP 键盘再次出现。 有谁知道如何以编程方式显示/隐藏 SIP 键盘,或者更好地解决所描述的问题。 一旦用户最小化键盘,它就不应该出现在对话框切换的屏幕上。
谢谢!
I have the following problem:
I open the dialog, open the SIP keyboard to fill the form and then minimize the SIP. Then when I close the current dialog and return to the main dialog the SIP keyboard appears again. Does anyone know how could I show/hide SIP keyboard programatically or better what could be done to solve the described problem. Once the user minimizes the keyboard it should not appear on the screen on dialog switching.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您需要在 coredll 中调用 SipShowIM()。 请参阅此 MSDN 文章:
http://msdn.microsoft.com/en-us /library/ms838341.aspx
You'll want to call SipShowIM() in coredll. See this MSDN article:
http://msdn.microsoft.com/en-us/library/ms838341.aspx
我们使用 SHSipPreference 来控制应用程序中 SIP 的显示。 我知道它与 MFC 一起使用,并且它设置窗口的 SIP 状态,因此您可以设置一次,并且您知道每次显示窗口时 SIP 状态都会恢复到您设置的状态。
我从未听说过 SipShowIM,但我确实在 MSDN 页面上看到了链接:
We use SHSipPreference to control the display of the SIP in our applications. I know it works with MFC and it sets the state of the SIP for the window so you can set it once and you know the SIP state will be restored to your set state every time the window is shown.
I've never heard of SipShowIM but I did see on the MSDN page linked:
您可以使用 Microsoft.WindowsCE.Forms.InputPanel 组件。 您可以使用 Enabled 属性以编程方式显示/隐藏 SIP。 工具箱中有一个InputPanel组件。
您还可以处理 InputPanel 的 EnabledChanged 事件。 您通常希望在文本框的 GetFocus 事件中显示 SIP。
You can use the Microsoft.WindowsCE.Forms.InputPanel component. You can show/hide the SIP programmatically using the Enabled property. There is an InputPanel component at the toolbox.
There is also an EnabledChanged event for the InputPanel that you can handle. You usually want to show the SIP at a GetFocus event of a textbox.
你用的是MFC吗?
问题是 SIP 状态是针对每个对话的,而不是针对每个应用程序的。 因此,您需要在每个对话框中独立地显示/隐藏它。
如果不需要,您应该删除任何全屏或任务栏键:)
还有其他要使用的东西:
甚至:
但后者可能不那么标准:) 仍然有效。
尝试一下。
Are you using MFC?
The problem is SIP state is per dialog, not per application. So you need to show/hide it inside every dialog independently.
And you should remove any Fullscreen or taskbar keys if not needed :)
And the other thing to use:
Or even:
But the latter could be not so standard :) Still it works.
Try them.
GetLastError() 是 6(无效句柄)或 120(不支持)。 EM_SETINPUTMODE 仅在智能手机上受支持,并且智能手机没有 SIP。 请参阅 http://msdn.microsoft.com/en-us/library/bb416452。 .aspx.
GetLastError() is either 6 (invalid handle) or 120 (not supported). EM_SETINPUTMODE is only supported on SmartPhones, and SmartPhones don't have SIPs. See http://msdn.microsoft.com/en-us/library/bb416452.aspx.