Как создать TrackBar, в котором вместо широкой белой полосы была бы тонкая линия
|
Попадают Гейтс, Клинтон и Гор в рай. Бог их и спрашивает:
- Ну во что вы верите? Клинтон:
- Ну я верю в демократию и т.д. Бог:
- Молодец, садись по мою правую руку, а ты Гор во что веришь? Гор:
- Ну я верю в то что есть проблема глобального потепления и экологии. Бог:
- Правильно веришь, садись по левую мою руку. Ну а во что веришь ты, Гейтс? Гейтс:
- Хе-хе, мне кажется я верю что вы сидите на моем месте.
|
В примере создается компонент, унаследованный от TTrackbar который переопределяет метод CreateParams и убират флаг TBS_ENABLESELRANGE из Style. Константа TBS_ENABLESELRANGE обьявленна в модуле CommCtrl.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, CommCtrl, ComCtrls, StdCtrls;
type
TMyTrackBar = class(TTrackBar)
procedure CreateParams(var Params: TCreateParams); override;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MyTrackbar : TMyTrackbar;
implementation
{$R *.DFM}
procedure TMyTrackBar.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style and not TBS_ENABLESELRANGE;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MyTrackBar := TMyTrackbar.Create(Form1);
MyTrackbar.Parent := Form1;
MyTrackbar.Left := 100;
MyTrackbar.Top := 100;
MyTrackbar.Width := 150;
MyTrackbar.Height := 45;
MyTrackBar.Visible := true;
end;
end.
|
|