メモ帳を開いて 10 行を追加し、エディターのサイズを変更して 9 行のみを表示すると、サム トラック (スクロール バー上のドラッグ可能なブロック) は垂直スクロール バーのほぼ全長になります。数千行を追加すると、サム トラックの高さはわずか数ピクセルになります。
水平スクロール バーを実装した TCustomControl の子孫でこの動作を複製したいと思います。そこで、ウィンドウ スタイル (CreateParams 内) に WS_HSCROLL を追加し、WM_HSCROLL のハンドラーを実装しました。途中で、SetScrollRange と SetScrollPos を使用してサム トラックの範囲と位置を管理しますが、小さなバグはほぼ完全な正方形のままです。
私は何が欠けていますか?