Ignore:
Timestamp:
Dec 30, 2006, 10:18:01 AM (17 years ago)
Author:
dai_9181
Message:

保存されていないドキュメントのタブに(*)をつける機能に対応。
MDITEXTEDITINFOをCMdiTextEditに変更。今後、オブジェクト指向化を進める。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ProjectEditor/TextEditor_MouseEvent.cpp

    r3 r24  
    1010    if((GetKeyState(VK_CONTROL)&0x8000)&&pobj_nv->bCtrlKeyHyperLink){
    1111        //Ctrlキーが押されているとき
    12         if(MdiInfo[WndNum].pmti->iUnderStart!=-1){
     12        if(MdiInfo[WndNum].pMdiTextEdit->iUnderStart!=-1){
    1313            //単語が選択可能なとき
    1414
    1515            //半角文字列を選択時の全角とのズレを修正
    1616            int start,end;
    17             start=MdiInfo[WndNum].pmti->iUnderStart;
    18             end=MdiInfo[WndNum].pmti->iUnderEnd;
    19             GetCaretPosFromBufferIndex(MdiInfo[WndNum].pmti->buffer,start,&pos);
    20             start=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pmti->buffer,pos.x,pos.y);
    21             GetCaretPosFromBufferIndex(MdiInfo[WndNum].pmti->buffer,end,&pos);
    22             end=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pmti->buffer,pos.x,pos.y);
     17            start=MdiInfo[WndNum].pMdiTextEdit->iUnderStart;
     18            end=MdiInfo[WndNum].pMdiTextEdit->iUnderEnd;
     19            GetCaretPosFromBufferIndex(MdiInfo[WndNum].pMdiTextEdit->buffer,start,&pos);
     20            start=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pMdiTextEdit->buffer,pos.x,pos.y);
     21            GetCaretPosFromBufferIndex(MdiInfo[WndNum].pMdiTextEdit->buffer,end,&pos);
     22            end=GetBufferIndexFromCaretPos(MdiInfo[WndNum].pMdiTextEdit->buffer,pos.x,pos.y);
    2323
    2424            int length;
     
    3030            memcpy(
    3131                pTemp,
    32                 MdiInfo[WndNum].pmti->buffer+start,
     32                MdiInfo[WndNum].pMdiTextEdit->buffer+start,
    3333                length);
    3434            pTemp[length]=0;
     
    5151
    5252    int iControlTabSpace;
    53     iControlTabSpace=MdiInfo[WndNum].pmti->iWidth_ControlTabSpace;
     53    iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    5454
    5555    if(MdiInfo[WndNum].IndentStr){
     
    5858    }
    5959
    60     MdiInfo[WndNum].pmti->bAutoScroll=0;
     60    MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
    6161
    6262    //上下キャレット移動時の左右位置保持機能を解除
    63     MdiInfo[WndNum].pmti->Temp_UpDown_CaretXPos=-1;
     63    MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    6464
    6565    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
     
    7272            0,
    7373            pMousePos->y,
    74             &MdiInfo[WndNum].pmti->StartCaretPos);
    75         MdiInfo[WndNum].pmti->EndCaretPos=MdiInfo[WndNum].pmti->StartCaretPos;
     74            &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
     75        MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
    7676
    7777        ////////////
     
    8080
    8181        char *pBuf;
    82         pBuf=MdiInfo[WndNum].pmti->buffer;
     82        pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
    8383        CHARRANGE CharRange;
    8484        TextEdit_GetSel(WndNum,&CharRange);
     
    9999            pMousePos->x-iControlTabSpace,
    100100            pMousePos->y,
    101             &MdiInfo[WndNum].pmti->StartCaretPos);
     101            &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
    102102
    103103        if(!(GetKeyState(VK_SHIFT)&0x8000)){
    104104            //シフトキーが押されていない、通常時
    105             MdiInfo[WndNum].pmti->EndCaretPos=MdiInfo[WndNum].pmti->StartCaretPos;
     105            MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
    106106        }
    107107
     
    121121
    122122    int iControlTabSpace;
    123     iControlTabSpace=MdiInfo[WndNum].pmti->iWidth_ControlTabSpace;
     123    iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    124124
    125125    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
     
    138138
    139139        //オートスクロールスレッドを停止
    140         MdiInfo[WndNum].pmti->bAutoScroll=0;
     140        MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
    141141
    142142        //編集メニューをリセット
     
    159159    //エディタ画面左端のコントロールタブ
    160160    int iControlTabSpace;
    161     iControlTabSpace=MdiInfo[WndNum].pmti->iWidth_ControlTabSpace;
    162 
    163 
    164     while(MdiInfo[WndNum].pmti->bAutoScroll){
     161    iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
     162
     163
     164    while(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
    165165        GetCursorPos(&pos);
    166166        ScreenToClient(hwnd,&pos);
     
    175175            pos.x,
    176176            pos.y,
    177             &MdiInfo[WndNum].pmti->StartCaretPos);
     177            &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
    178178
    179179        if(!TextEdit_ScrollCaret(WndNum,1))
     
    194194
    195195    int iControlTabSpace;
    196     iControlTabSpace=MdiInfo[WndNum].pmti->iWidth_ControlTabSpace;
     196    iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    197197
    198198    if(GetCapture()==hwnd){
     
    214214            ////////////////////////////
    215215
    216             if(MdiInfo[WndNum].pmti->bAutoScroll){
     216            if(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
    217217                //すでにオートスクロールスレッドが作動中のときは抜け出す
    218218                return;
     
    220220
    221221            //オートスクロールスレッドを起動
    222             MdiInfo[WndNum].pmti->bAutoScroll=1;
     222            MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=1;
    223223
    224224            _beginthread((void (__cdecl *)(void *))AutoScrollThread,0,(void *)hwnd);
     
    226226            return;
    227227        }
    228         else if(MdiInfo[WndNum].pmti->bAutoScroll){
     228        else if(MdiInfo[WndNum].pMdiTextEdit->bAutoScroll){
    229229            //オートスクロールを解除
    230             MdiInfo[WndNum].pmti->bAutoScroll=0;
     230            MdiInfo[WndNum].pMdiTextEdit->bAutoScroll=0;
    231231        }
    232232
     
    242242            &pos);
    243243
    244         if(pos.x!=MdiInfo[WndNum].pmti->StartCaretPos.x||pos.y!=MdiInfo[WndNum].pmti->StartCaretPos.y){
    245             MdiInfo[WndNum].pmti->StartCaretPos=pos;
     244        if(pos.x!=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.x||pos.y!=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos.y){
     245            MdiInfo[WndNum].pMdiTextEdit->StartCaretPos=pos;
    246246
    247247            InvalidateRect(hwnd,NULL,0);
     
    270270
    271271                TextEdit_GetWordCaret(
    272                     MdiInfo[WndNum].pmti->hEdit,
     272                    MdiInfo[WndNum].pMdiTextEdit->hEdit,
    273273                    WndNum,
    274274                    &pos,
    275                     &MdiInfo[WndNum].pmti->iUnderStart,&MdiInfo[WndNum].pmti->iUnderEnd,
     275                    &MdiInfo[WndNum].pMdiTextEdit->iUnderStart,&MdiInfo[WndNum].pMdiTextEdit->iUnderEnd,
    276276                    WORDCARET_AFTER);
    277277
     
    282282            }
    283283            else{
    284                 if(MdiInfo[WndNum].pmti->iUnderStart!=-1){
    285                     MdiInfo[WndNum].pmti->iUnderStart=-1;
    286                     MdiInfo[WndNum].pmti->iUnderEnd=-1;
     284                if(MdiInfo[WndNum].pMdiTextEdit->iUnderStart!=-1){
     285                    MdiInfo[WndNum].pMdiTextEdit->iUnderStart=-1;
     286                    MdiInfo[WndNum].pMdiTextEdit->iUnderEnd=-1;
    287287
    288288                    InvalidateRect(hwnd,NULL,0);
     
    300300
    301301    int start,end;
    302     TextEdit_GetWordCaret(hwnd,WndNum,&MdiInfo[WndNum].pmti->StartCaretPos,&start,&end,WORDCARET_AFTER);
     302    TextEdit_GetWordCaret(hwnd,WndNum,&MdiInfo[WndNum].pMdiTextEdit->StartCaretPos,&start,&end,WORDCARET_AFTER);
    303303
    304304    //セレクト
     
    314314
    315315    int iControlTabSpace;
    316     iControlTabSpace=MdiInfo[WndNum].pmti->iWidth_ControlTabSpace;
     316    iControlTabSpace=MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace;
    317317
    318318    if(0<=(pMousePos->x) && (pMousePos->x)<iControlTabSpace){
Note: See TracChangeset for help on using the changeset viewer.