Создание компонента и его свойства в design time

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Создание компонента и его свойства в design time

Сообщение Slavikk » 22.12.2008 11:14:23

Создаю компонент - наследник TPanel. В коде при создании панели - создаю на ней Image.

Код: Выделить всё
constructor TMyPanelForm.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  FImage := TImage.Create(Self);
  Include(FImage.ComponentStyle, csSubComponent);
  FImage.Parent := self;
  FImage.Picture.LoadFromFile('D:\1.jpg');
  FImage.Align:= alClient;
end; 


Вопрос: как сделать так, что бы в design time все действия производимые с Image (щелчок мыши, изменение размера и т.д.) переадресовывались панели. Т.е. если щёлкнуть по Image, то выделялся бы не Image для редактирования его свойств, а мой компонент на основе панели. Если подвести мышь к краю Image то что бы активировалось изменение размера не Image, а моего компонента на основе панели.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: Создание компонента и его свойства в design time

Сообщение B4rr4cuda » 25.12.2008 08:18:52

Проще всего кликнуть по имаджу и нажать ескейп - происходит переход на родительский компонент. Другого варианта не знаю.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Создание компонента и его свойства в design time

Сообщение alexs » 25.12.2008 09:27:28

Посмотри свойство ControlStyle
у него куча параметров для того, чтобы определить как будет вести себя компонен в дизайнере.
Изменяй его у тех объектов, которые ложиш на панель.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Создание компонента и его свойства в design time

Сообщение Slavikk » 25.12.2008 11:23:38

Спасибо!!! Поэкспериментирую.

Добавлено спустя 4 часа 16 минут 2 секунды:
Не дословный перевод свойств ControlStyle:

csAcceptsControls может иметь потомков в конструкторе
csCaptureMouse, захват мыши
csDesignInteractive может обрабатывать событий в режиме дизайна
csClickEvents обработка событий нажатия
csFramed фрейм
csSetCaption установка заголовка
csOpaque непрозрачный
csDoubleClicks обработка двойного нажатия мыши
csTripleClicks обработка тройного нажатия мыши
csQuadClicks обработка четырёхкаратного нажатия мыши
csFixedWidth фиксированая ширина
csFixedHeight фиксированая ширина
csNoDesignVisible неотображать в режиме дизайна
csReplicatable репликация таблицы
csNoStdEvents не имеет стандартных событий
csDisplayDragImage отображать изиображения из DragImageList при произведении операции Drag (перетаскивание)
csReflector отражения
csActionClient действия клиента
csMenuEvents меню событий
csNoFocus нет фокуса
csNeedsBorderPaint не реализованна (потребностей пограничной Paint)
csParentBackground не реализованна (Родители История)
csDesignNoSmoothResize не WYSIWYG изменение размера в режиме дизайна
csDesignFixedBounds компонент не может быть перемещён или изменен в режиме дизайна
csHasDefaultAction действий по умолчанию для компонента
csHasCancelAction отмена всех действий над компонентом
csNoDesignSelectable компонент неможет быть выбран в режиме дизайна
csOwnedChildsSelectable контроль дочерних компонентов в режиме дизайна

Поправьте если, что не так перевёл. если интерестно.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

Рейтинг@Mail.ru