◀一般トップへ
  • 4764 垂直スクロールバーのスライダー
    • 4769 Re:垂直スクロールバーのスライダー
      • 4772 Re2:垂直スクロールバーのスライダー
        • 4773 Re3:垂直スクロールバーのスライダー
  • [4764] 垂直スクロールバーのスライダー じゅうじ 2005年10月29日 07:25

    ▼ あろかさん が詳しいですよね。
     操作上の問題だけですが。
     ディスプレーの解像度はほどほどに高くして、全体が20行くらいのテキストを表示させ、画面の大きさをディスプレーの半分以下にして、テキストの上半分くらいを表示しないように、適当にスクロールします。
     その後で画面の高さを徐々に(これ大事)大きくして行って、文章全体が表示できる高さになると、画面はスクロールしないのに、垂直スクロールバーのスライダーが消えます。

    Ver. 1.5.7.1
    • [4769] Re:垂直スクロールバーのスライダー あろか 2005年11月01日 00:01

      ▼ じゅうじさん
      > ▼ あろかさん が詳しいですよね。
      そんなに詳しくないですよ、(^^;;

      名指しされてしまったので調べてみました。
      void CEditView::AdjustScrollBars( void ) 内の
        if( m_nViewRowNum > nAllLines ){
          ScrollAtV( 0 );
        }
      のnAllLinesをnAllLines-1にするととりあえずよくなります。
      結構昔からあったバグのようでVer 1.4.0.0でも現象がおきてますね。
      • [4772] Re2:垂直スクロールバーのスライダー あろか 2005年11月01日 23:47

        ▼ あろかさん
        [表示域]と[総行数]を比較して充分なら0行目から表示、
        なので -1で調整するのではなく
          if( m_nViewRowNum >= nAllLines ){
            ScrollAtV( 0 );
          }
        とするのが正解に近そうです。
        • [4773] Re3:垂直スクロールバーのスライダー じゅうじ 2005年11月02日 08:04

          ▼ あろかさん
          > ▼ あろかさん
          > [表示域]と[総行数]を比較して充分なら0行目から表示、
          > なので -1で調整するのではなく
          >   if( m_nViewRowNum >= nAllLines ){
          >     ScrollAtV( 0 );
          >   }
          > とするのが正解に近そうです。

          n-m>-1{m,n:整数}
          n-m≧0
          …影響は局所的(極小)なので、どちらでも同じですね。ありがとうございました。