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_MouseEvent.cpp

    r625 r629  
    1212    if((GetKeyState(VK_CONTROL)&0x8000)&&pobj_nv->bCtrlKeyHyperLink){
    1313        //Ctrlキーが押されているとき
    14         if(MdiInfo[WndNum].pMdiTextEdit->iUnderStart!=-1){
     14        if(MdiInfo[WndNum]->pMdiTextEdit->iUnderStart!=-1){
    1515            //単語が選択可能なとき
    1616
    1717            //半角文字列を選択時の全角とのズレを修正
    1818            int start,end;
    19             start=MdiInfo[WndNum].pMdiTextEdit->iUnderStart;
    20             end=MdiInfo[WndNum].pMdiTextEdit->iUnderEnd;
    21             GetCaretPosFromBufferIndex(MdiInfo[WndNum].pMdiTextEdit->buffer,start,&pos);
    22             start=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pMdiTextEdit->buffer,pos.x,pos.y);
    23             GetCaretPosFromBufferIndex(MdiInfo[WndNum].pMdiTextEdit->buffer,end,&pos);
    24             end=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pMdiTextEdit->buffer,pos.x,pos.y);
     19            start=MdiInfo[WndNum]->pMdiTextEdit->iUnderStart;
     20            end=MdiInfo[WndNum]->pMdiTextEdit->iUnderEnd;
     21            GetCaretPosFromBufferIndex(MdiInfo[WndNum]->pMdiTextEdit->buffer,start,&pos);
     22            start=GetBufferIndexFromCaretPos(MdiInfo[WndNum]->pMdiTextEdit->buffer,pos.x,pos.y);
     23            GetCaretPosFromBufferIndex(MdiInfo[WndNum]->pMdiTextEdit->buffer,end,&pos);
     24            end=GetBufferIndexFromCaretPos(MdiInfo[WndNum]->pMdiTextEdit->buffer,pos.x,pos.y);
    2525
    2626            int length;
     
    3232            memcpy(
    3333                pTemp,
    34                 MdiInfo[WndNum].pMdiTextEdit->buffer+start,
     34                MdiInfo[WndNum]->pMdiTextEdit->buffer+start,
    3535                length);
    3636            pTemp[length]=0;
     
    5353
    5454    int iControlTabSpace;
    55     iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    56 
    57     if(MdiInfo[WndNum].IndentStr){
     55    iControlTabSpace=MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace;
     56
     57    if(MdiInfo[WndNum]->IndentStr){
    5858        //自動インデント中のインデントを無効にする
    5959        CancelBeforeAutoIndent(WndNum);
    6060    }
    6161
    62     MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
     62    MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll=0;
    6363
    6464    //上下キャレット移動時の左右位置保持機能を解除
    65     MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     65    MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    6666
    6767    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
     
    7474            0,
    7575            pMousePos->y,
    76             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
    77         MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     76            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
     77        MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    7878
    7979        ////////////
     
    8282
    8383        char *pBuf;
    84         pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     84        pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    8585        CHARRANGE CharRange;
    8686        TextEdit_GetSel(WndNum,&CharRange);
     
    101101            pMousePos->x-iControlTabSpace,
    102102            pMousePos->y,
    103             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     103            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    104104
    105105        if(!(GetKeyState(VK_SHIFT)&0x8000)){
    106106            //シフトキーが押されていない、通常時
    107             MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     107            MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    108108        }
    109109
     
    123123
    124124    int iControlTabSpace;
    125     iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
     125    iControlTabSpace=MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace;
    126126
    127127    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
     
    140140
    141141        //オートスクロールスレッドを停止
    142         MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
     142        MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll=0;
    143143
    144144        //編集メニューをリセット
     
    160160    //エディタ画面左端のコントロールタブ
    161161    int iControlTabSpace;
    162     iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    163 
    164 
    165     while(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
     162    iControlTabSpace=MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace;
     163
     164
     165    while(MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll){
    166166        GetCursorPos(&pos);
    167167        ScreenToClient(hwnd,&pos);
     
    176176            pos.x,
    177177            pos.y,
    178             &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     178            &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
    179179
    180180        if(!TextEdit_ScrollCaret(WndNum,1))
     
    195195
    196196    int iControlTabSpace;
    197     iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
     197    iControlTabSpace=MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace;
    198198
    199199    if(GetCapture()==hwnd){
     
    215215            ////////////////////////////
    216216
    217             if(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
     217            if(MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll){
    218218                //すでにオートスクロールスレッドが作動中のときは抜け出す
    219219                return;
     
    221221
    222222            //オートスクロールスレッドを起動
    223             MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=1;
     223            MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll=1;
    224224
    225225            _beginthread((void (__cdecl *)(void *))AutoScrollThread,0,(void *)hwnd);
     
    227227            return;
    228228        }
    229         else if(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
     229        else if(MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll){
    230230            //オートスクロールを解除
    231             MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
     231            MdiInfo[WndNum]->pMdiTextEdit->bAutoScroll=0;
    232232        }
    233233
     
    243243            &pos);
    244244
    245         if(pos.x!=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x||pos.y!=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y){
    246             MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=pos;
     245        if(pos.x!=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x||pos.y!=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y){
     246            MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos=pos;
    247247
    248248            InvalidateRect(hwnd,NULL,0);
     
    271271
    272272                TextEdit_GetWordCaret(
    273                     MdiInfo[WndNum].pMdiTextEdit->hEdit,
     273                    MdiInfo[WndNum]->pMdiTextEdit->hEdit,
    274274                    WndNum,
    275275                    &pos,
    276                     &MdiInfo[WndNum].pMdiTextEdit->iUnderStart,&MdiInfo[WndNum].pMdiTextEdit->iUnderEnd,
     276                    &MdiInfo[WndNum]->pMdiTextEdit->iUnderStart,&MdiInfo[WndNum]->pMdiTextEdit->iUnderEnd,
    277277                    WORDCARET_AFTER);
    278278
     
    283283            }
    284284            else{
    285                 if(MdiInfo[WndNum].pMdiTextEdit->iUnderStart!=-1){
    286                     MdiInfo[WndNum].pMdiTextEdit->iUnderStart=-1;
    287                     MdiInfo[WndNum].pMdiTextEdit->iUnderEnd=-1;
     285                if(MdiInfo[WndNum]->pMdiTextEdit->iUnderStart!=-1){
     286                    MdiInfo[WndNum]->pMdiTextEdit->iUnderStart=-1;
     287                    MdiInfo[WndNum]->pMdiTextEdit->iUnderEnd=-1;
    288288
    289289                    InvalidateRect(hwnd,NULL,0);
     
    301301
    302302    int start,end;
    303     TextEdit_GetWordCaret(hwnd,WndNum,&MdiInfo[WndNum].pMdiTextEdit->StartCaretPos,&start,&end,WORDCARET_AFTER);
     303    TextEdit_GetWordCaret(hwnd,WndNum,&MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos,&start,&end,WORDCARET_AFTER);
    304304
    305305    //セレクト
     
    315315
    316316    int iControlTabSpace;
    317     iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
     317    iControlTabSpace=MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace;
    318318
    319319    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
Note: See TracChangeset for help on using the changeset viewer.