対応しました。
合わせて下の修正も行なっています。
・折り返された行に正規表現等で色分けされた括弧があり、その括弧が強調表示された後に元の色に戻らなくなる。
ssrc_2003-04-24.tar.bz2からの差分です。
diff -ur sakura_core.orig/CEditView.cpp sakura_core/CEditView.cpp
--- sakura_core.orig/CEditView.cpp Mon Apr 21 04:35:42 2003
+++ sakura_core/CEditView.cpp Fri May 09 10:08:57 2003
@@ -8615,7 +8615,13 @@
nColorIndex = COLORIDX_BRACKET_PAIR;
}else{
if( IsBracket( pLine, OutputX, m_nCharSize ) ){
- nColorIndex = GetColorIndex( hdc, pcLayout, OutputX );
+ // 03/04/30 ai Start
+ if( i == 0 ){
+ nColorIndex = GetColorIndex( hdc, pcLayout, m_nBracketCaretPosX_PHY );
+ }else{
+ nColorIndex = GetColorIndex( hdc, pcLayout, m_nBracketPairPosX_PHY );
+ }
+ // 03/04/30 ai End
}else{
SetBracketPairPos( false );
//::MessageBeep( MB_ICONSTOP );
@@ -8728,8 +8734,10 @@
/* 論理行データの取得 */
if( NULL != pcLayout ){
// 2002/2/10 aroka CMemory変更
- nLineLen = pcLayout->m_pCDocLine->m_pLine->GetLengt
h() - pcLayout->m_nOffset;
- pLine = pcLayout->m_pCDocLine->m_pLine->GetPtr() + pcLayout->m_nOffset;
+ // 03/04/30 ai Start
+ nLineLen = pcLayout->m_pCDocLine->m_pLine->GetLengt
h();
+ pLine = pcLayout->m_pCDocLine->m_pLine->GetPtr()
;
+ // 03/04/30 ai End
nCOMMENTMODE = pcLayout->m_nTypePrev; /* タイプ 0=通常 1=行コメント 2=ブロックコメント 3=シングルクォーテーション文字列 4=ダブルクォーテーション文字列 */
nCOMMENTEND = 0;
pcLayout2 = pcLayout;
@@ -8760,7 +8768,7 @@
}
//@@@ 2001.11.17 add end MIK
- while( nPos < nCol ){ // 02/12/18 ai
+ while( nPos <= nCol ){ // 03/05/08 ai 2897@一般掲示板対応
nBgn = nPos;
nLineBgn = nBgn;
@@ -9267,7 +9275,7 @@
}
nPos+= nCharChars;
} //end of while( nPos - nLineBgn < pcLayout2->m_nLength ){
- if( nPos >= nCol ){ // 02/12/18 ai
+ if( nPos > nCol ){ // 03/05/08 ai 2897@一般掲示板対応
break;
}
}
※遅くなりましたが、メニューが残る件の対応ありがとうございました。 >げんたさん、みくさん