Как заставить Splitter реагировать на двойной щелчок?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как заставить Splitter реагировать на двойной щелчок?

Сообщение Polugut » 30.09.2010 21:39:37

Как заставить Splitter реагировать на двойной щелчок?
На форме две панели, разделённые сплиттером. Я хочу, чтоб при двойном щелчке, сплиттер прижимался к краю, закрывая одну из панелей с содержимым. Но увы, в списке событий компонента TSplitter нет OnDblClick.
Пока только придумал внизу сплиттера прицепить картинку с треугольником, при двойном щелчке на котором левая панель закрывается.
ОС - MacOS X 10.5.5
Lazarus - 0.9.28.2
Polugut
новенький
 
Сообщения: 19
Зарегистрирован: 25.02.2010 23:50:29

Re: Как заставить Splitter реагировать на двойной щелчок?

Сообщение Mr.Smart » 30.09.2010 21:47:02

Небольшой финт ушами позволит это сделать:
Код: Выделить всё
  TForm1 = class(TForm)
    Splitter1: TSplitter;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
    procedure DblClick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

type
  THackSplitter = class(TSplitter);

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  THackSplitter(Splitter1).OnDblClick:=@DblClick;
end;

procedure TForm1.DblClick(Sender: TObject);
begin
  ShowMessage('DblClick');
end;
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как заставить Splitter реагировать на двойной щелчок?

Сообщение Polugut » 30.09.2010 22:29:11

Спасибо за науку!
Polugut
новенький
 
Сообщения: 19
Зарегистрирован: 25.02.2010 23:50:29


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 24

Рейтинг@Mail.ru