Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Как в runtime создать класс, унаследованный от панели и вывести..   Найти похожие ветки 

 
serg128   (2004-10-09 12:07) [0]

Как в runtime создать класс, унаследованный от TPanel и вывести Caption в левом верхнем углу?


 
VMcL ©   (2004-10-09 12:12) [1]

Никак. В runtime можно создать экземпляр класса aka объект.


 
serg128   (2004-10-09 12:19) [2]

Я что, класс унаследовать не могу? Могу! А вот с выводом кэпшина в левый угол у меня проблемы. Так, что, Вы не правы, батенька! :)


 
serg128   (2004-10-09 13:18) [3]

Ну что, никто не знает?


 
Defunct ©   (2004-10-09 13:28) [4]

> Я что, класс унаследовать не могу? Могу!

Мне тоже интересно, приведите код того как вы унаследываете класс в RunTime.


 
serg128   (2004-10-09 14:27) [5]

...
type

TMyPanel = class(TCustomPanel)
public
 Caption : TCaption;
 constructor Create; override;
 destructor Destroy; override;
end;

...


 
Семен Сорокин ©   (2004-10-09 14:39) [6]

serg128   (09.10.04 14:27) [5]

constructor Create; override;
н-да, хоть бы в предка заглянул.

А что по твоему есть runtime?


 
serg128   (2004-10-09 14:43) [7]

во время выполнения, а конструктор там с параметром, просто лень писать, хочется суть увидеть.

А когда на кнопку кликаешь, динамически создать панель, и на ней кепшин слева вывести.


 
Семен Сорокин ©   (2004-10-09 14:49) [8]

serg128   (09.10.04 14:43) [7]
ладно вопрос по другому что по вашему есть класс и что экземпляр класса?
Если знаете то переформулируйте вопрос правильно, а так, извините, только бред какой-то.


 
serg128   (2004-10-09 14:52) [9]

Давайте не вдаваться в теорию!

Как наследовать клас - понятно. А как кэпшин слева вывести? Вот как бы Вы решили такую задачу?


 
Семен Сорокин ©   (2004-10-09 15:01) [10]


> serg128   (09.10.04 14:52) [9]
> Давайте не вдаваться в теорию!


Вот из-за этого и был разведен весь флейм, если бы вопрос был сформулирован верно, то, возможно, ответ Вы получили сразу. :)

> А как кэпшин слева вывести?
> Вот как бы Вы решили такую задачу?

Сделал бы наследника где переопределил метод Paint.


 
Defunct ©   (2004-10-09 15:02) [11]

 TMyPanel = class(TPanel)
 Protected
   Procedure Paint;Override;
 End;

Procedure TMyPanel.Paint;
Begin
 if csDesigning in ComponentState then
 with inherited Canvas do
 begin
   Pen.Style := psDash;
   Brush.Style := bsClear;
   Rectangle( ClientRect );
 end;

 with inherited Canvas do
 Begin
   Brush.Color := Color;
   Rectangle( ClientRect );
   TextOut(2,2, Caption);
 end;
End;

// пример использования:

procedure TForm1.Button5Click(Sender: TObject);
begin
 with TMyPanel.Create( self ) Do
 Begin
   Visible := false;
   left := 0;
   top := 0;
   width := 100;
   height := 100;
   caption := "Test";
   Parent := self;
   visible := True;
 End;
end;


 
serg128   (2004-10-09 15:08) [12]

понял, спасибо, попробую



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
3-1096012932
WG
2004-09-24 12:02
2004.10.24
Как сбросит результат SQL-запрос из TQuery в TTable ?


9-1087849883
MrAngel
2004-06-22 00:31
2004.10.24
Иерархия данных форматов.


14-1096791805
QuasiLamo
2004-10-03 12:23
2004.10.24
Как заставить IE не грузить картинки?


14-1096565948
IXT
2004-09-30 21:39
2004.10.24
Шифрование!!!


3-1095776670
RavenD
2004-09-21 18:24
2004.10.24
Дисконнект?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский