![]() |
|
|
#1
|
|||
|
|||
![]() Подскажите, пожалуйста, примером (или последовательностью действий), как решить следующую задачу:
- на базе компонента TRichEdit необходимо сделать ActiveX компонент, который дублирует все атрибуты, методы и события - кроме этого, функционал нового компонента будет немного расширен Условия: - конечный объект д.б. представлен в виде DLL библиотеки, которую потом будет использовать другое ПО (д.б. доступ к атрибутам, методам и событиям извне) - среда разработки Delphi7 Заранее спасибо. |
#2
|
||||
|
||||
![]() -создаешь новый проект Active Form
-кидаешь на форму RichEdit -меню View - Type Library -у интерфейса IActiveFormX создаешь новые свойства/методы -в реализации этих свойств(Get_/Set_)/методов обращаешься к RichEdit Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Спасибо.
Уточнения: - правильно я понимаю, что я делаю новые свойства у ФОРМЫ, на которой лежит RichEdit, но в реализации могу работать со свойствами RichEdit? - аналогично с событиями? - и соответственно как должна выглядеть реализация (например для размера шрифта) если я не хочу создавать новое свойство, но хочу иметь доступ к его изменению и просмотру. Заранее спасибо. |
#4
|
|||
|
|||
![]() Со свойствами разобрался, как доступ получить.
Не могу никак доступ к событиям компонента получить. Подскажите, пожалуйста, примером. |
#5
|
||||
|
||||
![]() посмотри как сделаны события у TActiveFormX, метод Initialize:
Код:
procedure TActiveFormX.Initialize; begin inherited Initialize; OnActivate := ActivateEvent; ... Код:
procedure TActiveFormX.ActivateEvent(Sender: TObject); begin if FEvents <> nil then FEvents.OnActivate; end; Код:
FEvents: IActiveFormXEvents; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Сергей77 (18.05.2012)
|
#6
|
|||
|
|||
![]() Сделал доступ к событию
Код:
procedure TREForm.RichEditKeyPress(Sender: TObject; var Key: Char); begin if FEvents<>nil then FEvents.OnREKeyPress(Key); end; из внешней программы получили доступ к этому событию (OnREKeyPress) ... но отлавливаются только буквы и цифры, а например стрелочки (влево, вправо, вниз, вверх) нет как решить такую проблему, что обрезался диапазон клавиш, которые может отловить RichEdit? и еще момент --- при нажатии стрелок влево/вправо/вверх/вниз курсор внтури ричэдита не перемещается, а переходит на другой компонент внешней программы Последний раз редактировалось Bargest, 28.05.2012 в 17:30. |