Windows Mobile下界面自适应输入法状态

文章原创,转载请注明,谢谢。

PPC中,输入法显示时,界面可供用户操作的空间变小。如何使得界面能自适应输入法状态呢?

SIPINFO si  =  {0};  
si.cbSize   =  sizeof(si);
SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
BOOL bShow = si.fdwFlags&SIPF_ON;

此时,bShow为真则表示输入法处于显示状态,否则是隐藏。

SIPINFO是这样定义的:

typedef struct tagSIPINFO
{
    DWORD   cbSize;
    DWORD   fdwFlags;
    RECT    rcVisibleDesktop;
    RECT    rcSipRect;
    DWORD   dwImDataSize;
    void   *pvImData;
} SIPINFO;

由rcVisibleDesktop和rcSipRect可以算出我们需要的界面大小。

dwImDataSize和pvimData的作用,没做深究,可能在做输入法的时候会用到?

原文地址:https://www.cnblogs.com/fengju/p/6173563.html