Форум: "Основная";
Текущий архив: 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.046 c