Ignore:
Timestamp:
Aug 2, 2009, 10:29:43 PM (15 years ago)
Author:
イグトランス (egtra)
Message:

リモートデスクトップ使用時の描画を改善(ダブルバッファの不使用、キャレット移動時の再描画をいくらか排除)。

File:
1 edited

Legend:

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

    r629 r771  
    488488    int WndNum;
    489489    WndNum=GetWndNum(GetParent(hwnd));
     490    bool isSelectedBefore = MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.x!=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.x
     491        || MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos.y!=MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos.y;
    490492
    491493    if(nVirtualKey==VK_LEFT||nVirtualKey==VK_UP||nVirtualKey==VK_RIGHT||nVirtualKey==VK_DOWN||nVirtualKey==VK_PRIOR||nVirtualKey==VK_NEXT){
     
    665667        ResetState_EditMenu();
    666668
    667         //再描画(選択時の反転表示が解除されたときを考慮)
    668         UpdateWindow(hwnd); //ちらつき防止
    669         InvalidateRect(hwnd,NULL,0);
     669        if(!TextEdit_ScrollCaret(WndNum,0)&&isSelectedBefore){
     670            UpdateWindow(hwnd); //ちらつき防止
     671            //再描画(選択時の反転表示が解除されたときを考慮)
     672            InvalidateRect(hwnd,NULL,0);
     673        }
    670674    }
    671675    else if(nVirtualKey==VK_HOME||nVirtualKey==VK_END){
     
    705709        }
    706710
    707         if(!TextEdit_ScrollCaret(WndNum,0)){
     711        if(!TextEdit_ScrollCaret(WndNum,0)&&isSelectedBefore){
    708712            //再描画(選択時の反転表示が解除されたときを考慮)
    709713            InvalidateRect(hwnd,NULL,0);
Note: See TracChangeset for help on using the changeset viewer.