AsuYuHomepage
トップページ サイトの説明 子供の成長記録 JM BAR Delphi リンク集
Home>>プログラミング>>Tips&Tricks>>トラックバーの溝の幅をを狭くする。
Delphi Tips
Delphi Win32API
ダウンロード

Delphi Tips & Tricks

トラックバーの溝の幅を狭くする。

 DelphiのVCLのTTRackBarはデフォルトで幅広い溝の上をスライドするようになっています。これは選択領域を表示する為のものですが、Windows標準のトラックバーは本来このような溝は表示しません。この溝を狭くして見た目をよくする方法です。選択領域の表示は使うときはあまりないと思われますので、コンポーネン化してしまったほうが使い勝手がいいかもしれません。
procedure TForm1.FormCreate(Sender: TObject);
begin
  //フォーム作成時に入れ替え
  SetWindowLong(TrackBar1.Handle,GWL_STYLE,
          GetWindowLong(Trackbar1.Handle,GWL_STYLE) and not TBS_ENABLESELRANGE);
  //変更を反映
  SetWindowPos(TrackBar1.Handle,0,0,0,0,0,
               SWP_NOMOVE or SWP_NOSIZE or
               SWP_NOZORDER or SWP_FRAMECHANGED);
end; 

 難しいところは何もないと思います。
ただトラックバーのウィンドウスタイルから、TBS_ENABLESELRANGEという選択領域の表示のフラグを取り除いているだけです。これで少し見た目すっきりしたトラックバーに生まれ変わるはずです。