◀一般トップへ
  • 2896 改行記号の表示が欠ける
    • 2909 RE: 改行記号の表示が欠ける
      • 3087 Re2: 改行記号の表示が欠ける
        • 3168 Re3: 改行記号の表示が欠ける
          • 3169 Re4: 改行記号の表示が欠ける
            • 3175 Re5: 改行記号の表示が欠ける
              • 3188 Re6: 改行記号の表示が欠ける
                • 3197 Re7: 改行記号の表示が欠ける
              • 3191 Re6: 改行記号の表示が欠ける
    • 3200 スレンダーなウィンドウ
      • 3202 Re:スレンダーなウィンドウ
        • 3203 Re2:スレンダーなウィンドウ
  • [2896] 改行記号の表示が欠ける ryoji 2003年05月08日 01:39

    sakura 1.3.90
    左方向スクロール時に左側から現れる改行記号の表示が一部欠けてしまうようです。

    再現方法:
    ・折り返し桁数を少なめに設定する(例:120桁)
    ・ウィンドウの幅を折り返し桁数よりも少し小さめにする(例:100桁くらいが表示されるように)
    ・先頭桁のほうに改行を入れておく
    ・右スクロールして改行表示が隠れるようにする
    ・左にゆっくりスクロールして改行表示が見えるようにする

    改行マークの中央付近(少し右寄り)の部分の表示が欠ける。
    CRLF は CR のような表示になってしまいます。
    LF は矢印の先端が欠けます。

    F5 キーで再描画させると正常な表示に戻ります。
    • [2909] RE: 改行記号の表示が欠ける みく 2003年05月13日 19:06


      原因は改行を1文字分で描画制御しているのに、
      実際の表示イメージは2文字幅(1.5?)あるので、
      後半が欠けます。

      修正しようとはしたんですが、単純に2文字幅で制御したら行番号区切りに重なったもので。。。
      • [3087] Re2: 改行記号の表示が欠ける ryoji 2003年07月20日 21:50

        ▼ みくさん
        >
        > 原因は改行を1文字分で描画制御しているのに、
        > 実際の表示イメージは2文字幅(1.5?)あるので、
        > 後半が欠けます。
        >
        > 修正しようとはしたんですが、単純に2文字幅で制御したら行番号区切りに重なったもので。。。

        sakura 1.4.0.0
        遅レスになりますが...

        CEditView_New.cpp(583)を、
        (変更前)rcClip2.right = rcClip2.left + ( nCharWidth ) * ( 1 );
        (変更後)rcClip2.right = rcClip2.left + ( nCharWidth ) * ( 2 );
        とするだけではだめなんでしょうか?
        • [3168] Re3: 改行記号の表示が欠ける みく 2003年08月12日 18:16


          あのー、直ってないんですが。
          • [3169] Re4: 改行記号の表示が欠ける げんた 2003年08月13日 10:44

            >あのー、直ってないんですが。
            あれっ?一応確認したらちゃんとCRLFの右のかぎ部分が表示されたからOKかと思ったのだが.
            • [3175] Re5: 改行記号の表示が欠ける じゅうじ 2003年08月14日 14:57

              ▼ げんたさん
              > あれっ?一応確認したらちゃんとCRLFの右のかぎ部分が表示されたからOKかと思ったのだが.
              だめだったということですね?ちゃんと元に戻してください。(笑)

              > >あのー、直ってないんですが。
              それなら、
              CEditView_New.cpp(582)を、
              (変更前)rcClip2.left = x + nX * ( nCharWidth );
              (変更後)rcClip2.left = x + nX * ( nCharWidth ) + 1;
              で、早くても遅くても、又長い行も短い行も良いようです。
              • [3188] Re6: 改行記号の表示が欠ける もか 2003年08月16日 22:23

                ssrc_2003-08-11.tar.bz2で欠けなくなったのですが、
                再作画したり、上下スクロールで新たに行が作画されたりしたときに、
                矢印が、行番号の上に作画されるようになったみたい。
                左右スクロールしたときは、ある程度は問題なく表示されるようです。
                 原因はクリップしてないからですが、どう対処しよう。
                • [3197] Re7: 改行記号の表示が欠ける ryoji 2003年08月17日 18:30

                  ▼ もかさん
                  >  原因はクリップしてないからですが、どう対処しよう。

                  こんな感じでしょうか?

                  ssrc_2003-08-11.tar.bz2との差分
                  --- sakura_core_org/CEditView_New.cpp Tue Aug 12 00:09:18 2003
                  +++ sakura_core_fix/CEditView_New.cpp Sun Aug 17 17:50:32 2003
                  @@ -591,15 +591,20 @@
                  rcClip2.bottom = y + nLineHeight;
                  colBkColorOld = ::SetBkColor( hdc, TypeDataPtr->m_ColorInfoArr[nColorIdx].m
                  _colBACK ); /* CRLF背景の色 */
                  ::ExtTextOut( hdc, x + nX * ( nCharWidth ), y, fuOptions,
                  - &rcClip2, (const char *)" ", 1, m_pnDx );
                  + &rcClip2, (const char *)" ", 2, m_pnDx );
                  ::SetBkColor( hdc, colBkColorOld );
                  /* 改行記号の表示 */
                  if( TypeDataPtr->m_ColorInfoArr[COLORIDX_CRL
                  F].m_bDisp ){
                  nPosX = x + nX * ( nCharWidth );
                  nPosY = y;
                  //@@@ 2001.12.21 YAZAKI
                  + HRGN hRgn;
                  + hRgn = ::CreateRectRgnIndirect(&rcClip2);
                  + ::SelectClipRgn(hdc, hRgn);
                  DrawEOL(hdc, nPosX + 1, nPosY, m_nCharWidth, m_nCharHeight,
                  pcLayout2->m_cEol, TypeDataPtr->m_ColorInfoArr[nColorIdx].m
                  _bFatFont, TypeDataPtr->m_ColorInfoArr[nColorIdx].m
                  _colTEXT );
                  + ::SelectClipRgn(hdc, NULL);
                  + ::DeleteObject(hRgn);
                  }
                  }
                  ::SelectObject( hdc, hFontOld );
              • [3191] Re6: 改行記号の表示が欠ける じゅうじ 2003年08月17日 02:43

                ▼ もかさん
                すみません、確認していませんでした。
                □□□□□□□□□□□■□□□□
                □□■■■■□□□□□■□□□□
                □□■□□□□□□□□■□□■□
                □□■□□□□□□□■■□□■□
                □□■■■□□□□■□■□□■□
                □□■□□■□□■■■■■■■□
                □□□□□■□□□■□■□□□□
                □□■□□■□□□□■■□□□□
                □□■□□■□□□□□■□□□□
                □□□■■□□□□□□■□□□□
                □□□□□□□□□□□■□□□□
                良いですか?
    • [3200] スレンダーなウィンドウ じゅうじ 2003年08月17日 20:09

      ▼ ryojiさん
      お疲れ様です。\(..)/

      タイプ別設定->スクリーン->レイアウト->折り返し桁数
      を約20以下にして、ウィンドウの幅を10くらいに狭くした場合、
      sakura.iniファイルの[MRU]セクションで、
      nViewLeftColに負の値がセットされます。

      エラーの起こる折り返し桁数は、目的のファイルの大きさによって異なります。
      最大308桁で154行、5KBのファイルで24以下です。

      sakura_2003-08-10
      Ver. 1.4.2.0
      • [3202] Re:スレンダーなウィンドウ ryoji 2003年08月18日 21:10

        ▼ じゅうじさん
        > タイプ別設定->スクリーン->レイアウト->折り返し桁数
        > を約20以下にして、ウィンドウの幅を10くらいに狭くした場合、
        > sakura.iniファイルの[MRU]セクションで、
        > nViewLeftColに負の値がセットされます。

        改行表示とは別の問題ですね。(^^;

        確かにその設定で水平スクロールバー操作をすると負の桁位置が
        表示されるような?状態になりますねぇ。
        そうでなくても、注意して見ると最右端付近にスクロールしたときに
        微妙に制御が変なのがわかります。

        で、CEditView::ScrollAtH()にタイプミスっぽいのを見つけました。

        --- ssrc_2003-08-11\sakura_core_org/CEditView.cpp Sat Jul 05 02:28:21 2003
        +++ ssrc_2003-08-11\sakura_core_fix/CEditView.cpp Mon Aug 18 20:27:27 2003
        @@ -4621,8 +4621,8 @@
        if( nPos < 0 ){
        nPos = 0;
        }else
        - if( m_pcEditDoc->GetDocumentAttribute().m_nM
        axLineSize - m_nViewRowNum < nPos ){
        - nPos = m_pcEditDoc->GetDocumentAttribute().m_nM
        axLineSize - m_nViewRowNum;
        + if( m_pcEditDoc->GetDocumentAttribute().m_nM
        axLineSize - m_nViewColNum < nPos ){
        + nPos = m_pcEditDoc->GetDocumentAttribute().m_nM
        axLineSize - m_nViewColNum;
        }
        if( m_nViewLeftCol == nPos ){
        return;

        これでいいのかな?
        • [3203] Re2:スレンダーなウィンドウ じゅうじ 2003年08月19日 01:13

          ▼ ryojiさん
          有難うございます。
          問題なく動いています。
          では、(..)|~