Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1172057232
Lonix
2007-02-21 14:27
2007.03.11
Как блокировать чужое приложение


15-1171542537
Сало
2007-02-15 15:28
2007.03.11
Секта любителей Линукс атакует


15-1171445382
ЮЮ
2007-02-14 12:29
2007.03.11
С днём Св. Валентина !!!


1-1168612263
Cara
2007-01-12 17:31
2007.03.11
Сложная форма


15-1171543448
Ученик чародея
2007-02-15 15:44
2007.03.11
Что вам мешает перейти на Java.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский