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

Вниз

Есть ли у RichEdit событие OnMouseOver   Найти похожие ветки 

 
AL2002 ©   (2002-09-28 00:48) [0]

Я имею в виду, когда указатель мыши движется над ричэдитом.
Чё то я в свойствах ричэдита этого не вижу.


 
AL2002 ©   (2002-09-28 01:11) [1]

Да уж!
Проглядел я его.
Сорри.
Есть такое событие. И что самое интересное — оно работает.


 
AL2002 ©   (2002-09-28 01:31) [2]

Ну ладно, а где даблклик у ричэдита?


 
Smiths   (2002-09-28 11:28) [3]

"Look at the source, Luke!" :)


 
Рыжик ©   (2002-09-30 10:10) [4]

DblClick у RichEdit есть, но protected (наследуется от TControl)

Можно сделать так:
TMyRichEdit = class(TRichEdit)
property OnDblClick;
end;


 
AL2002 ©   (2002-09-30 13:43) [5]

>Рыжик © (30.09.02 10:10)
Ух ты. А где это писать?
И как потом процедуру добавить в даблклик?


 
Рыжик ©   (2002-09-30 15:10) [6]

Это надо писать в секции type. Затем создаёшь в runtime.
var ri:TMyRichEdit;
...
begin
ri:=TMyRichEdit.Create(...);
ri.Parent:=...;
ri.OnDblClick:=RichEditDoubleClick;
....

Либо зарегистрировать новую компоненту и использовать и в design-time.



 
pasha_golub ©   (2002-09-30 15:25) [7]

2 Рыжик: по-моему секцию нада поставить, чтобы в Инспекторе Объектов появилась эта хрень :-)

> TMyRichEdit = class(TRichEdit)
PUBLISHED
> property OnDblClick;
> end;





 
AL2002 ©   (2002-10-01 11:22) [8]

А сам компонент ричэдит можно доделать?
Если можно, то как? Чтобы его не испоганить, конечно.


 
Рыжик ©   (2002-10-01 12:20) [9]


> pasha_golub © (30.09.02 15:25)

По-моему не надо. Если секция не указывается, то и так считается, что это published.


> AL2002 © (01.10.02 11:22)

Если хочешь изменить сам RichEdit, то измени его исходники добавлением в published строчки property OnDblClick. Это ничего не испортит. Только изменит видимость свойства, а на функциональность не повлияет. Затем надо будет перекомпилировать пакет, в котором находится RichEdit.
Но лучше всё-таки написать свой компонент-наследник. Тем более, что кода-то всего 3 строчки.


 
han_malign   (2002-10-01 12:35) [10]

только не забыть еще
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure WMMouseDblClick(var Message: TMessage); message WM_MBUTTONDBLCLK;

короче смотрите реализации в исходниках VCL


 
AL2002 ©   (2002-10-01 12:43) [11]

Ну-ну. Накручу я с ним что-то, чувствую.


 
AL2002 ©   (2002-10-01 13:38) [12]

А есть ли статья о написаниях наследников?
Боюсь накуролесить.


 
gek ©   (2002-10-01 13:47) [13]


TMyRichEdit = class(TRichEdit)
private
FOnMouseEnter:TNotifyEvent;
protected
procedure MouseLeave(var Message:TMessage);message CM_MOUSELEAVE;
PUBLISHED
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
end;

procedure TMyRichEdit.MouseEnter(var Message:TMessage);
begin
if assigned (FOnMouseEnter) then FOnMouseEnter(self);
end;



и далее аналогично


 
AL2002 ©   (2002-10-01 13:50) [14]

>gek © (01.10.02 13:47)
А даблклик?





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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
6-31934
KVV-K
2002-08-07 23:36
2002.10.10
Ip and DNS


4-32086
Igor__
2002-08-25 05:27
2002.10.10
Что такое нити?


4-32082
Shrek
2002-08-26 21:49
2002.10.10
ShellExecute


4-32100
Nikolab
2002-08-28 11:38
2002.10.10
Dlia nekotorie vk_xxx TCheckBox.OnKeyDown ne vuizivaetsia


1-31841
Mazenrat
2002-09-28 15:39
2002.10.10
Страсти по SetMenuItemBitmaps.