Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: CL | DM;

Вниз

OnDblClick на Splitter   Найти похожие ветки 

 
Tex ©   (2007-01-08 11:25) [0]

Здравствуйте, мастера! Необходимо реализовать обработку двойного клика на splitter"e, подскажите пожалуйста как это можно сделать! Если несложно, с кодом. Заранее благодарен!


 
Tex ©   (2007-01-08 13:42) [1]

Насколько это реально? Если все оч. просто подскажите хоть в общих чертах...


 
i-am-vladko ©   (2007-01-08 14:02) [2]

TSplitter - наследник TGraphicControl <- TControl
В TControl есть OnDblClick в protected секции, значит создаешь класс
TMySplitter = class (TSplitter)
published
property OnDblClick: TNotifyEvent;
end;

все!


 
Tex ©   (2007-01-11 13:12) [3]

Поясните чуть подробнее чайнику плиз!
В код добавил:

unit Unit1;

interface

uses
...
type
TMySplitter = class (TSplitter)
 published
 property OnDblClick: TNotifyEvent;     //строка 18
end;
                                       //строка 19
TForm1 = class(TForm)
...
Выдает ошибки:
[Error] Unit1.pas(18): INDEX, READ or WRITE clause expected, but ";" found
[Error] Unit1.pas(19): READ or WRITE clause expected, but "END" found

Я понимаю, что задача скорее всего тривиальнейшая, но никак не могу разобраться, подскажите кто-нибудь...


 
Loginov Dmitry ©   (2007-01-11 15:02) [4]

А класс-то зачем дополнительный создавать?


 
Tex ©   (2007-01-12 08:59) [5]

А как сделать, можно код плиз?


 
clickmaker ©   (2007-01-12 10:33) [6]

> [5] Tex ©   (12.01.07 08:59)

просто
property OnDblClick;


 
trubin ©   (2007-01-12 11:41) [7]

Получить доступ к protected-свойствам класса можно так:

type
 TAccessSplitter = class(TSplitter);

...

TAccessSplitter(Splitter1).OnDblClick:= MyMethod;


 
Tex ©   (2007-01-17 15:06) [8]

Написал в type:

type
TAccessSplitter = class(TSplitter);
TForm1 = class(TForm)
   StatusBar1: TStatusBar
   Butto1: TButton;
   ...


Извините за, может быть, глупый вопрос, я не понял где разместить:

TAccessSplitter(Splitter1).OnDblClick:= MyMethod;

Пожалуйста, можно чуть подробнее :(


 
гостъ   (2007-01-17 16:48) [9]

Так, например...

type
 TAccessSplitter = class ( TSplitter );

 TForm1 = class ( TForm )
   StatusBar1 : TStatusBar
   Button1 : TButton;
   Splitter1 : TSplitter;
 private
   procedure OnSplitterDblClick ( Sender : TObject );
 public
   constructor Create ( AOwner : TComponent ); override;
 end;  

constructor TForm1.Create ( AOwner : TComponent );
begin
 inherited Create ( AOwner );
 TAccessSplitter ( Splitter1 ).OnDblClick := OnSplitterDblClick;
end;

procedure TForm1.OnSplitterDblClick ( Sender : TObject );
begin
 OutputDebugString ( PChar ( "Splitter clicked" ) );
end;


 
Tex ©   (2007-01-18 05:51) [10]

Огромное спасибо!
Все отлично работает, Вы очень помогли, теперь все понятно )
Побольше бы таких ответов! Удачи!



Страницы: 1 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
4-1162294775
dip63
2006-10-31 14:39
2007.03.11
Процедура по хуку клавиатуры вызывается два раза


2-1171722811
Andrey-406
2007-02-17 17:33
2007.03.11
Сохранение-загрузка свойств формы


2-1171830497
Mr.Vlad
2007-02-18 23:28
2007.03.11
Проблема с компонентом GLScene


2-1171995551
abba
2007-02-20 21:19
2007.03.11
Как определить сколько файлов в папке?


2-1171966110
Bob_l
2007-02-20 13:08
2007.03.11
SellTreeView