Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2013, 15:32   #1
Shkolota
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 51
Восклицание Изменение Width и Height

Здравствуйте. Возникла такая проблема. Есть класс TBitmap, и есть другой класс - TMyBitmap, созданный на основе первого. Как можно отследить изменение свойств Width и Height у этого класса? Примерно хочу достичь следующего результата:

Код:
Property Width: Integer Read FWidth Write SetWidth;
Только в данном случае такой код невозможен, потому что необходимо не создавать новое свойство Width, но, напротив, как-то использовать то, что уже есть в TBitmap.
Shkolota вне форума Ответить с цитированием
Старый 16.10.2013, 15:45   #2
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

http://www.delphisources.ru/pages/fa...rride.php.html
А в FWidth и SetWidth делаешь то, что нужно и вызываешь метод родителя.
Kix.IV вне форума Ответить с цитированием
Старый 16.10.2013, 17:18   #3
Shkolota
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 51
По умолчанию

Kix.IV, спасибо. Тогда еще такая проблема. В другом классе, наследующемся от TCustomControl, подобный код:

Код:
Procedure SetWidth(Value: Integer); Override;
Вызывает ошибку 'Method 'SetWidth' not found in base class'. В TCustomControl подобного метода нет, но в TControl он есть, правда, видимо, не распознается в данном случае. Как здесь можно было бы поступить?
Shkolota вне форума Ответить с цитированием
Старый 16.10.2013, 17:30   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Директива Override в данном случае просто не нужна.
northener вне форума Ответить с цитированием
Старый 16.10.2013, 17:35   #5
Shkolota
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 51
По умолчанию

northener, а если ее убрать, то в процедуре 'SetWidth' на строке

Код:
Inherited SetWidth(Value);
Будет появляться ошибка: 'Undeclared identifier: 'SetWidth''. Напоминаю, что мне нужно не создать новое свойство Width, а, наоборот, связать его с тем, что уже имеется в родительских классах. Поэтому, думаю, данная строка нужна.
Shkolota вне форума Ответить с цитированием
Старый 16.10.2013, 18:06   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Напоминаю, что мне нужно не создать новое свойство Width, а, наоборот, связать его с тем, что уже имеется в родительских классах.
Во-первых зачем? А во-вторых все равно не получится. SetWidth у TControl статический.
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить необходимые WIDTH и HEIGHT для Panel delphiboy Общие вопросы Delphi 8 03.05.2013 20:36
Screen помещён в Clipboard.Assign(bmp)//Нужно сохраненный Screen вывести из буфера снова на экран(Width,Height) DGiv Помощь студентам 1 18.11.2012 13:45
Как разделить *.Width/*.Height с сохранением дробной части pavellyba Общие вопросы Delphi 1 09.04.2011 15:27
TImage-после image1.picture.bitmap.width и .height исчезает картинка Саня Компоненты Delphi 4 03.08.2007 07:55
Изменение размера изображения, Crop image to fit height & width loopy-need Общие вопросы Delphi 4 23.11.2006 10:23