Ignore:
Timestamp:
Jun 2, 2008, 11:50:24 PM (16 years ago)
Author:
dai_9181
Message:

MDIINFO構造体をリファクタリング。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/TextEditor_KeyEvent.cpp

    r625 r629  
    1414        WndNum=GetWndNum(GetParent(hwnd));
    1515
    16         if(MdiInfo[WndNum].pMdiTextEdit->iUnderStart!=-1){
     16        if(MdiInfo[WndNum]->pMdiTextEdit->iUnderStart!=-1){
    1717            //ハイパーリンク下線の表示を解除
    18             MdiInfo[WndNum].pMdiTextEdit->iUnderStart=-1;
    19             MdiInfo[WndNum].pMdiTextEdit->iUnderEnd=-1;
     18            MdiInfo[WndNum]->pMdiTextEdit->iUnderStart=-1;
     19            MdiInfo[WndNum]->pMdiTextEdit->iUnderEnd=-1;
    2020
    2121            //再描画
     
    159159    char *pBuf;
    160160
    161     pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     161    pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    162162    for(i=iPos;i>0;i--){
    163163        if(pBuf[i-1]=='\r'&&pBuf[i]=='\n') return i+1;
     
    242242            hide_caret_switch=1;
    243243
    244             if(MdiInfo[WndNum].IndentStr){
     244            if(MdiInfo[WndNum]->IndentStr){
    245245                //以前の自動インデントを消去する
    246246                CancelBeforeAutoIndent(WndNum);
    247247            }
    248248
    249             pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     249            pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    250250
    251251            int StartX;
     
    253253            //リプレイス前のカーソルバッファ位置を取得
    254254            i=GetBufferIndexFromCaretPos(pBuf,
    255                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x,
    256                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y);
    257             StartX=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x;
     255                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x,
     256                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y);
     257            StartX=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x;
    258258
    259259            //リプレイス
    260260            TextEdit_ReplaceUpdateUndoData(WndNum,temporary,0,1);
    261             pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     261            pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    262262
    263263            //リプレイス後のカーソル行のインデントをi3に取得
     
    281281            }
    282282
    283             if(MdiInfo[WndNum].DocType==WNDTYPE_BASIC){
     283            if(MdiInfo[WndNum]->DocType==WNDTYPE_BASIC){
    284284                //インデント追加のコマンドかどうかを判断
    285285                if(IsIndentAdditionCommand_FromBuffer(pBuf+i+i2)) i2++;
     
    302302            */
    303303            i=GetBufferIndexFromCaretPos(pBuf,
    304                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x,
    305                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y);
     304                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x,
     305                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y);
    306306            if(pBuf[i]=='\r'&&
    307307                pBuf[i+1]=='\n'){
    308308                //自動インデントを開始する(「\t\tⅠ」のような場合)
    309                 MdiInfo[WndNum].IndentStr=(char *)HeapAlloc(hHeap,0,i2+1);
    310                 memset(MdiInfo[WndNum].IndentStr,'\t',i2);
    311                 MdiInfo[WndNum].IndentStr[i2]=0;
    312                 TextEdit_Replace(WndNum,MdiInfo[WndNum].IndentStr,1);
     309                MdiInfo[WndNum]->IndentStr=(char *)HeapAlloc(hHeap,0,i2+1);
     310                memset(MdiInfo[WndNum]->IndentStr,'\t',i2);
     311                MdiInfo[WndNum]->IndentStr[i2]=0;
     312                TextEdit_Replace(WndNum,MdiInfo[WndNum]->IndentStr,1);
    313313            }
    314314            else{
     
    334334    }
    335335    else if(nVirtualKey==VK_TAB){
    336         pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     336        pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    337337
    338338        TextEdit_GetSel(WndNum,&CharRange);
     
    421421            //リプレイス
    422422            TextEdit_ReplaceUpdateUndoData(WndNum,pTemp,0,0);
    423             pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     423            pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    424424
    425425            HeapDefaultFree(pTemp);
     
    474474    ////////////////////////////////////////////
    475475
    476     if(MdiInfo[WndNum].DocType==WNDTYPE_BASIC)
     476    if(MdiInfo[WndNum]->DocType==WNDTYPE_BASIC)
    477477        TextEditEvent_StartAnalysis_Basic(hwnd,WndNum,nVirtualKey);
    478     else if(MdiInfo[WndNum].DocType==WNDTYPE_HTML){
     478    else if(MdiInfo[WndNum]->DocType==WNDTYPE_HTML){
    479479        TextEditEvent_StartAnalysis_Html(hwnd,WndNum,nVirtualKey);
    480480    }
     
    490490
    491491    if(nVirtualKey==VK_LEFT||nVirtualKey==VK_UP||nVirtualKey==VK_RIGHT||nVirtualKey==VK_DOWN||nVirtualKey==VK_PRIOR||nVirtualKey==VK_NEXT){
    492         if(MdiInfo[WndNum].IndentStr){
     492        if(MdiInfo[WndNum]->IndentStr){
    493493            //自動インデント中のインデントを無効にする
    494494            CancelBeforeAutoIndent(WndNum);
     
    508508            case VK_LEFT:
    509509                //上下キャレット移動時の左右位置保持機能を解除
    510                 MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    511 
    512                 if((MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x&&
    513                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)||
     510                MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     511
     512                if((MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x&&
     513                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)||
    514514                    GetKeyState(VK_SHIFT)&0x8000){
    515515                    //選択中でないとき、またはシフトキーが押されているとき
     
    518518                else{
    519519                    //選択中のとき
    520                     if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    521                         MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
    522                     else if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    523                         MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     520                    if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     521                        MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
     522                    else if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     523                        MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    524524                    else{
    525                         if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x)
    526                             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     525                        if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x)
     526                            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    527527                        else
    528                             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     528                            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    529529                    }
    530530                }
     
    532532            case VK_RIGHT:
    533533                //上下キャレット移動時の左右位置保持機能を解除
    534                 MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    535 
    536                 if((MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x&&
    537                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)||
     534                MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     535
     536                if((MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x&&
     537                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)||
    538538                    GetKeyState(VK_SHIFT)&0x8000){
    539539                    //選択中でないとき、またはシフトキーが押されているとき
    540540                    GetNaturalCaretPos_Right(WndNum,
    541                         &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     541                        &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    542542                }
    543543                else{
    544544                    //選択中のとき
    545                     if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    546                         MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
    547                     else if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    548                         MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     545                    if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     546                        MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
     547                    else if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     548                        MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    549549                    else{
    550                         if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x)
    551                             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     550                        if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x)
     551                            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    552552                        else
    553                             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     553                            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    554554                    }
    555555                }
     
    557557            case VK_UP:
    558558                if((GetKeyState(VK_CONTROL)&0x8000)&&
    559                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x!=0){
     559                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x!=0){
    560560                    //行の先頭へキャレットを移動
    561                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x=0;
     561                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x=0;
    562562
    563563                    //上下キャレット移動時の左右位置保持機能を解除
    564                     MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     564                    MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    565565                }
    566566                else{
    567                     if((MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x&&
    568                         MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)||
     567                    if((MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x&&
     568                        MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)||
    569569                        GetKeyState(VK_SHIFT)&0x8000){
    570570                        //選択中でないとき、またはシフトキーが押されているとき
    571571                        GetNaturalCaretPos_Up(WndNum,
    572                             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     572                            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    573573                    }
    574574                    else{
    575575                        //選択中のとき
    576                         if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    577                             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
    578                         else if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    579                             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     576                        if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     577                            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
     578                        else if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     579                            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    580580                        else{
    581                             if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x)
    582                                 MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     581                            if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x)
     582                                MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    583583                            else
    584                                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     584                                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    585585                        }
    586586
    587587                        GetNaturalCaretPos_Up(WndNum,
    588                             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     588                            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    589589                    }
    590590                }
    591591                break;
    592592            case VK_DOWN:
    593                 i2=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y;
    594                 if((MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x&&
    595                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)||
     593                i2=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y;
     594                if((MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x&&
     595                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y==MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)||
    596596                    GetKeyState(VK_SHIFT)&0x8000){
    597597                    //選択中でないとき、またはシフトキーが押されているとき
    598598                    GetNaturalCaretPos_Down(WndNum,
    599                         &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     599                        &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    600600                }
    601601                else{
    602602                    //選択中のとき
    603                     if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    604                         MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
    605                     else if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.y)
    606                         MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     603                    if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     604                        MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
     605                    else if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y>MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y)
     606                        MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    607607                    else{
    608                         if(MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum].pMdiTextEdit->EndCaretPos.x)
    609                             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=MdiInfo[WndNum].pMdiTextEdit->EndCaretPos;
     608                        if(MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x<MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x)
     609                            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos;
    610610                        else
    611                             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     611                            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    612612                    }
    613613
    614614                    GetNaturalCaretPos_Down(WndNum,
    615                         &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     615                        &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    616616                }
    617617
    618618                if(GetKeyState(VK_CONTROL)&0x8000){
    619                     if(i2!=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y){
     619                    if(i2!=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y){
    620620                        //行の先頭へキャレットを移動
    621                         MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x=0;
     621                        MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x=0;
    622622                    }
    623623                    else{
     
    625625                        CaretPos_LooseToNatural(WndNum,
    626626                            INT_MAX,
    627                             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y,
    628                             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     627                            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y,
     628                            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    629629                    }
    630630
    631631                    //上下キャレット移動時の左右位置保持機能を解除
    632                     MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     632                    MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    633633                }
    634634                break;
    635635            case VK_PRIOR:
    636636                GetNaturalCaretPos_PageUp(WndNum,
    637                     &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     637                    &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    638638                break;
    639639            case VK_NEXT:
    640640                GetNaturalCaretPos_PageDown(WndNum,
    641                     &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     641                    &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    642642                break;
    643643        }
     
    645645        if(!(GetKeyState(VK_SHIFT)&0x8000)){
    646646            //シフトキーが押されていない、通常時
    647             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     647            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    648648        }
    649649
     
    672672
    673673        //上下キャレット移動時の左右位置保持機能を解除
    674         MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     674        MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    675675
    676676        if(GetKeyState(VK_CONTROL)&0x8000){
    677677            //ファイルの先頭または末端へキャレットを移動
    678678            if(nVirtualKey==VK_HOME){
    679                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x=0;
    680                 MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y=0;
     679                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x=0;
     680                MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y=0;
    681681            }
    682682            else if(nVirtualKey==VK_END){
     
    685685                    INT_MAX,
    686686                    INT_MAX,
    687                     &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     687                    &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    688688            }
    689689        }
    690690        else{
    691691            //行の先頭または末端へキャレットを移動
    692             if(nVirtualKey==VK_HOME) MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x=0;
     692            if(nVirtualKey==VK_HOME) MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x=0;
    693693            else if(nVirtualKey==VK_END){
    694694                //存在するキャレット位置に変換
    695695                CaretPos_LooseToNatural(WndNum,
    696696                    INT_MAX,
    697                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y,
    698                     &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     697                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y,
     698                    &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    699699            }
    700700        }
     
    702702        if(!(GetKeyState(VK_SHIFT)&0x8000)){
    703703            //シフトキーが押されていない、通常時
    704             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     704            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    705705        }
    706706
     
    721721        TextEdit_GetSel(WndNum,&CharRange);
    722722
    723         pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     723        pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    724724
    725725        //キャレットがファイルの終端にあるとき
     
    727727
    728728        if(CharRange.cpMin==CharRange.cpMax){
    729             if(MdiInfo[WndNum].IndentStr){
     729            if(MdiInfo[WndNum]->IndentStr){
    730730                //自動インデントを有効にする
    731731                char temporary[1024];
    732                 lstrcpy(temporary,MdiInfo[WndNum].IndentStr);
     732                lstrcpy(temporary,MdiInfo[WndNum]->IndentStr);
    733733
    734734                CancelBeforeAutoIndent(WndNum);
     
    743743
    744744            GetCaretPosFromBufferIndex(
    745                 MdiInfo[WndNum].pMdiTextEdit->buffer,
     745                MdiInfo[WndNum]->pMdiTextEdit->buffer,
    746746                CharRange.cpMax,
    747                 &MdiInfo[WndNum].pMdiTextEdit->EndCaretPos);
     747                &MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos);
    748748        }
    749749
     
    755755        /////////////////
    756756
    757         if(MdiInfo[WndNum].IndentStr){
     757        if(MdiInfo[WndNum]->IndentStr){
    758758            //自動インデント中のインデントの場合、インデントの1文字を削除する
    759             if(lstrlen(MdiInfo[WndNum].IndentStr)==1){
     759            if(lstrlen(MdiInfo[WndNum]->IndentStr)==1){
    760760                //1文字しか残っていない場合は自動インデントそのものを消去する
    761761                CancelBeforeAutoIndent(WndNum);
    762762            }
    763763            else{
    764                 MdiInfo[WndNum].IndentStr[lstrlen(MdiInfo[WndNum].IndentStr)-1]=0;
     764                MdiInfo[WndNum]->IndentStr[lstrlen(MdiInfo[WndNum]->IndentStr)-1]=0;
    765765
    766766                i=GetBufferIndexFromCaretPos(
    767                     MdiInfo[WndNum].pMdiTextEdit->buffer,
    768                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x,
    769                     MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y);
     767                    MdiInfo[WndNum]->pMdiTextEdit->buffer,
     768                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x,
     769                    MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y);
    770770                GetCaretPosFromBufferIndex(
    771                     MdiInfo[WndNum].pMdiTextEdit->buffer,
     771                    MdiInfo[WndNum]->pMdiTextEdit->buffer,
    772772                    i-1,
    773                     &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     773                    &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    774774                TextEdit_Replace(WndNum,"",1);
    775775            }
     
    801801
    802802    char *pBuf;
    803     pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     803    pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    804804
    805805
     
    836836
    837837        i=GetBufferIndexFromCaretPos(pBuf,
    838             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x,
    839             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y);
     838            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x,
     839            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y);
    840840
    841841        i2=i-2;
     
    974974
    975975    char *pBuf;
    976     pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     976    pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    977977
    978978
     
    985985 
    986986        i=GetBufferIndexFromCaretPos(pBuf,
    987             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x,
    988             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y);
     987            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x,
     988            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y);
    989989
    990990        if(GetNowTagInfo(pBuf,i-1)){
Note: See TracChangeset for help on using the changeset viewer.