Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OnDblClick на Splitter [D7, WinXP]


Tex ©   (2007-01-08 11:25:00) 

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


Tex   (2007-01-18 05:51:00) [1]

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


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

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

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-17 15:06:00) [3]

Написал в type:

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


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

TAccessSplitter(Splitter1).OnDblClick:= MyMethod;

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


trubin   (2007-01-12 11:41:00) [4]

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

type
 TAccessSplitter = class(TSplitter);

...

TAccessSplitter(Splitter1).OnDblClick:= MyMethod;


clickmaker   (2007-01-12 10:33:00) [5]

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

просто
property OnDblClick;


Tex   (2007-01-12 08:59:00) [6]

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


Loginov Dmitry   (2007-01-11 15:02:00) [7]

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


Tex   (2007-01-11 13:12:00) [8]

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

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

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


i-am-vladko   (2007-01-08 14:02:00) [9]

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

все!


Tex   (2007-01-08 13:42:00) [10]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо