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的作用,沒做深究,可能在做輸入法的時候會用到?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章