⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmitextinput.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
                    if( data->editor_data.edtInPbk == 1 )
                    {
                        SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TOPREV_EDT, NULL);
                    }
                    else
                    {
                        edtSymbol( data->input_edt, ecUp );
                        /* Draw the other area */
                        DisplayOtherArea( data );
                    }
                    break;
                default:
                    break;
                }
                //winShow(data->input_win);
            }
            break;
        case KCD_MNUDOWN:
            {
                switch( data->Ime.EditorMode )
                {
                case PINYIN_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            /* if the editor is phone book input, then control will send to phone book */
                            if( data->editor_data.edtInPbk == 1 )
                            {
                                SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TONEXT_EDT, NULL);
                            }
                            else
                            {
                                edtSymbol( data->input_edt, ecDown );
                                /* Draw the other area */
                                DisplayOtherArea( data );
                            }
                            break;
                        case PINYIN_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECandidatePageDown(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case STROKE_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            /* if the editor is phone book input, then control will send to phone book */
                            if( data->editor_data.edtInPbk == 1 )
                            {
                                SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TONEXT_EDT, NULL);
                            }
                            else
                            {
                                edtSymbol( data->input_edt, ecDown );
                                /* Draw the other area */
                                DisplayOtherArea( data );
                            }
                            break;
                        case STROKE_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECandidatePageDown(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case UPPERCASE_INPUT_MODE:
                case LOWERCASE_INPUT_MODE:
                case SHUZI_INPUT_MODE:
                    /* if the editor is phone book input, then control will send to phone book */
                    if( data->editor_data.edtInPbk == 1 )
                    {
                        SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TONEXT_EDT, NULL);
                    }
                    else
                    {
                        edtSymbol( data->input_edt, ecDown );
                        /* Draw the other area */
                        DisplayOtherArea( data );
                    }
                    break;
                default:
                    break;
                }
                //winShow(data->input_win);
            }
            break;
        case KCD_MNULEFT:
            {
                switch( data->Ime.EditorMode )
                {
                case PINYIN_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            edtSymbol( data->input_edt, ecLeft );
                            /* Draw the other area */
                            DisplayOtherArea( data );
                            break;
                        case PINYIN_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECursorLeft(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case STROKE_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            edtSymbol( data->input_edt, ecLeft );
                            /* Draw the other area */
                            DisplayOtherArea( data );
                            break;
                        case STROKE_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECursorLeft(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case UPPERCASE_INPUT_MODE:
                case LOWERCASE_INPUT_MODE:
                case SHUZI_INPUT_MODE:
                    edtSymbol( data->input_edt, ecLeft );
                    /* Draw the other area */
                    DisplayOtherArea( data );
                    break;
                default:
                    break;
                }
                /*
                if ( data->editor_data.edtInPbk != 0 )
                {
                }
                else
                {
                    //winShow(data->input_win);
                }
                */
            }
            break;
        case KCD_MNURIGHT:
            {
                switch( data->Ime.EditorMode )
                {
                case PINYIN_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            edtSymbol( data->input_edt, ecRight );
                            /* Draw the other area */
                            DisplayOtherArea( data );
                            break;
                        case PINYIN_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECursorRight(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case STROKE_INPUT_MODE:
                    {
                        switch( data->Ime.InputScreenType )
                        {
                        case TEXT_DISPLAY_SCREEN:
                            edtSymbol( data->input_edt, ecRight );
                            /* Draw the other area */
                            DisplayOtherArea( data );
                            break;
                        case STROKE_INPUT_SCREEN:
                        case WORD_ASSOCIATION_SCREEN:
                            IMECursorRight(&data->Ime);
                            data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                            winShow(data->input_win);
                            break;
                        default:
                            break;
                        }
                    }
                    break;
                case UPPERCASE_INPUT_MODE:
                case LOWERCASE_INPUT_MODE:
                case SHUZI_INPUT_MODE:
                    edtSymbol( data->input_edt, ecRight );
                    /* Draw the other area */
                    DisplayOtherArea( data );
                    break;
                default:
                    break;
                }
                /*
                if ( data->editor_data.edtInPbk != 0 )
                {
                }
                else
                {
                    //winShow(data->input_win);
                }
                */
            }
            break;
        case KCD_CALL:
            break;
        case KCD_0:
            {
                /* control the textbuffer number */
                if( GetKeyEventConfig(data) )
                {
                    /* 2004/04/01 sunsj add */
                    DisplayOtherArea( data );
                    return MFW_EVENT_CONSUMED;
                }

                switch( data->Ime.EditorMode )
                {
                case PINYIN_INPUT_MODE:
                    break;
                case STROKE_INPUT_MODE:
                    /* 2003/12/29 sunsj remove */
                    //data->Ime.InputScreenType = STROKE_INPUT_SCREEN;
                    //IMEMore(&data->Ime);
                    //data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                    //winShow(data->input_win);
                    break;
                case UPPERCASE_INPUT_MODE:
                case LOWERCASE_INPUT_MODE:
                case SHUZI_INPUT_MODE:
                    TextInputEventKey(0, keyboard);
                    /* Draw the other area */
                    DisplayOtherArea( data );
                    //winShow(data->input_win);
                    break;
                default:
                    break;
                }
            }
            break;
        case KCD_1:
            {
                /* control the textbuffer number */
                if( GetKeyEventConfig(data) )
                {
                    /* 2004/04/01 sunsj add */
                    DisplayOtherArea( data );
                    return MFW_EVENT_CONSUMED;
                }
                /* add for to select different pinyin code */
                switch( data->Ime.EditorMode )
                {
                /* 2004/03/29 sunsj remove */
                /*
            case PINYIN_INPUT_MODE:
                {
                    int candidate_num;

                    if( data->Ime.PinyinElementBUF[data->Ime.ElementNumber-1].Count == 1 )
                    {
                        return MFW_EVENT_CONSUMED;
                    }

                    if( data->Ime.Element_Select == data->Ime.PinyinElementBUF[data->Ime.ElementNumber-1].Count-1 )
                    {
                        data->Ime.Element_Select = 0;
                    }
                    else
                    {
                        data->Ime.Element_Select++;
                    }
                    candidate_num = Zi_GetElementCandidates(&data->Ime);
                    data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
                    winShow(data->input_win);
                }
                break;
                */
                case STROKE_INPUT_MODE:
                    data->Ime.InputScreenType = STROKE_INPUT_SCREEN;
                    IMEKeyPress(&data->Ime, (ZI8WCHAR) (ZiStrokeKeyMap[keyboard->code][1] + ZI8_BASE_STROKES));

                    if( data->Ime.candidates == 0 )
                    {
                        ChangeDisplayArea( data->input_edt, data->Ime.InputScreenType, data );
                        edtShow( data->input_edt );
                    }
                    data->HighlightedCan

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -