Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
ВнизЕсть ли у 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c