![]() |
|
|
![]()
|
|
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Добрый день,
создал свой компонент на основе имеджика, нужно сделать так, чтобы на нем была надпись. Как вариант - думаю динамически создавать лабел, чтобы он помещался на моем компоненте. Вопрос, как сделать так, чтобы этот лабел перемещался вместе с моим компонентом ? -------------------- Пусть будет миру хорошо! |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Имеджика - это TImage?
ИМХО лучше использовать TGraphicControl и в его OnDraw на его канве выводить любые надписи, которые будут (без каких-либо дополнительных усилий) перемещаться вместе с ним. |
|||
|
||||
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
sawfish,
я ставил цель перед собою, чтобы можно было загружать рисунки любых форматов, поэтому Image подходит лучше всех, а TGraphicControl может работать только с битмапами. Нет, конечно, можно все форматы преобразовать к bmp, но тогда овчинка выделки не стоит, нужно создавать компонент аналогичный Image. А так класc TPicture в Image с этим отлично справляется. Я тут покопался в интернете и нашел делфийский код на эту тему, да не могу его перевести.
Как перевести inherited;? -------------------- Пусть будет миру хорошо! |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Это вроде вызов стандартного обработчика события. Добавлено через 2 минуты и 12 секунд Т.е. получается, сдвигаем сам компонент, а потом тащим то что нужно:
Добавлено через 4 минуты и 53 секунды Про inherited. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
artsb,
спасибо, пол проблемы решено. Про inherited: Там написано: TForm::Dispatch(&Message);, но ведь компонент еще не на форме, поэтому TForm здесь не уместно. Как быть? Может просто - Dispatch(&Message)? Перевод хелпа функции Dispatch: Вызывает управляющие методы сообщения для объектов, которые базируются на содержимом параметра Message. То есть это родительский метод? -------------------- Пусть будет миру хорошо! |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ага. Может попробовать:
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
artsb,
попробую, спасибо. -------------------- Пусть будет миру хорошо! |
|||
|
||||
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
WMMove(var Msg: TWMMove) работает только для оконных компонентов, поэтому мой вариант не подходит. Нужно за основу брать TCustomControl.
-------------------- Пусть будет миру хорошо! |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Ну вы же обрабатываете это событие у своего компонента, а метку просто тащите за собой. Или я что-то не так понял...
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| SerK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
artsb,
Проблема в том, что метка закрывает собою оконный компонент (родителя), на котором находится, поэтому не знаю как обработать сообщеня мыши. -------------------- Пусть будет миру хорошо! |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Не знаю конечно... Но что если при создании метки, назначать её родителем не ваш компонент, а родителя вашего компонента (т.е. myLabel->Parent = this->Parent)? Тогда метка будет за пределами вашего компоненте, но вы сможете ей управлять. Сам я этого не проверял
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |