Ejemplo n.º 1
0
int CIMEWnd::StartIME ()
{
    icon.LoadFile ("comm/ime.gif",8);
    logo.LoadFile ("comm/imelogo.bmp",1);
    imeInstance = this;
    SetRect (&imeRect,IMERECT_LEFT,IMERECT_TOP,IMERECT_LEFT+IME_WIDTH,IMERECT_TOP+IME_HEIGHT);
    SetRect (&subimeRect,SUBIMERECT_LEFT,SUBIMERECT_TOP,SUBIMERECT_LEFT+IME_WIDTH,SUBIMERECT_TOP+IME_HEIGHT);
    SetRect(&refRect,IMERECT_LEFT,IMERECT_TOP,IMERECT_LEFT+2*IME_WIDTH+5,IMERECT_TOP+IME_HEIGHT);
    m_hWnd=create_container_win ();
    if(m_hWnd != HWND_INVALID)
    {
        int ret = InitIME();
        if(ret != 0)
            return ret;
        RegisterKeyMsgHook(this,keyboardHook);
        return 0;
    }
    return -1;
}
Ejemplo n.º 2
0
GHANDLE mgiCreateIMEContainer (int max_ime_wins, BOOL with_cont_win)
{
    int i;

    if (ime_cont != NULL)
    {
        fprintf (stderr, "The IME container already existed!\n");
        return 0;
    }
    ime_cont = malloc (sizeof(IME_CONTAINER));

    ime_cont->cont_hwnd = HWND_INVALID;
    ime_cont->max_ime_windows = max_ime_wins;
    ime_cont->cur_wins = 0;
    ime_cont->ime_wins = malloc (sizeof(IME_WIN)*max_ime_wins);

    for (i = 0; i < max_ime_wins; i++)
        ime_cont->ime_wins[i].ime_hwnd = HWND_INVALID;

    if (with_cont_win)
        ime_cont->cont_hwnd = create_container_win ();

    return (GHANDLE)ime_cont;
}