Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> How to call method from "protected" section? TWinControl.PaintControls, thnx. 
:(
    Опции темы
neutrino
  Дата 14.2.2003, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Privetstvuju!

U menja vopros: kak vyzvat' metod, ob`javlennyi' v sekcii protected. Esli konkretnee, to mne nujno vyzvat' PaintControls u TWinControl. Pytalsja ego ob`javit' v sekcii public, nichego ne vyshlo sad.gif.
Zaranee blagodaren.

S uvajeniem, neutrino.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
SmaLL
Дата 14.2.2003, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



И тебе - Здорово!
Я так понял, что тебе надо сделать, скажем так:
Объект1 создает и использует Объект2 (наследник TWinControl) и Объект1 должен сделать такой вызов: Объект2.PaintControls(...)
Но, поскольку PaintControls не виртуальный метод, а статический, то его нельзя подменить (override).
И если я не ошибаюсь rolleyes.gif, то тебе нужно сделать примерно так:
Код

type
 TWc = class(TWinControl)
 public
   procedure myPaintControls(DC: HDC; First: TControl);
 end;

implementation

{ TWc }

procedure TWc.myPaintControls(DC: HDC; First: TControl);
begin
 inherited PaintControls(DC, First);
end;



--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
SmaLL
Дата 14.2.2003, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



Да, кстати, можно сделать ещЁ проще:
Код

type
 TWc = class(TWinControl)
 public
   procedure PaintControls(DC: HDC; First: TControl);
 end;

implementation

{ TWc }

procedure TWc.PaintControls(DC: HDC; First: TControl);
begin
 inherited PaintControls(DC, First);
end;



--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
neutrino
Дата 15.2.2003, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Да я пытался делать так прямо в исходниках VCL, но ничего не вышло.
Мне нужно, чтобы это работало у всех наследников TWinControl.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 15.2.2003, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Например вызов свойства Caption от TEdit

Type TFake=class(TEdit);

....

TFake(Edit1).caption:='Something';



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
neutrino
Дата 16.2.2003, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Премного благодарен тебе, Vit. И не знал, что таким образом можно поступить.
Спасибо также господину SmaLL.

Но теперь появилась другая проблема, не рисуются контролы методом PaintControls, правда это уже офтоп, поразбираюсь, если не решу проблему создам новую тему.

Всем удачи.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 16.2.2003, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



А ты исходники посмотри, ведь метод может быть описан и как абстрактный или просто затычка стоит ничего не делающая, для реализации в потомках...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0865 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.