![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание компонента [D6, Win95/98, WinXP]
Пользователь © (2006-01-16 13:00:00)Всем привет.
Очень расчитываю на Вашу помощь.
Нужно динамически (в процессе выполнения программы) создать новый Shape в Scrollbox'e
Зараннее спасибо..
Ega23 (2006-01-16 17:46:00) [1]Либо заводи переменную, либо перебирай все компоненты класса TShape и проверяй на строковое имя.
domain (2006-01-16 17:04:00) [2]
function GetShape(ItsName: String): TShape;
begin
Result:=TShape(ScrollBox1.FindComponent(ItsName));
end;
можно и так, если с переменными запутался.
evvcom (2006-01-16 16:41:00) [3]
> а как мне узнать имя этого обекта, что бы потом его свойства
> изменять ?
Имя сестра! Его имя!? (c) Мушкетеры
А зачем тебе его имя? Заведи переменную класса (обычно приватную) и
FMyShape := TShape.Create(ScrollBox1);
with FMyShape do ...
Вот через эту переменную и будешь потом добираться.
Пользователь (2006-01-16 16:26:00) [4]спасибо, и наверно последнее
а как же мне в коде написать
- создал объект
- "запомнил" его имя
а как в коде потом к нему достукиваться, что писать ?
Сенкс
Ega23 (2006-01-16 16:20:00) [5]
> а как мне узнать имя этого обекта, что бы потом его свойства
> изменять ?
With TShape.Create(ScrollBox1) do
begin
Parent:=ScrollBox1;
Top:=...
Left:=....
Name:='MyScrollBox';
.......
end;
Пользователь (2006-01-16 16:18:00) [6]а еще...
я создаю Shape
With TShape.Create(ScrollBox1) do
begin
Parent:=ScrollBox1;
Top:=...
Left:=....
.......
end;
а как мне узнать имя этого обекта, что бы потом его свойства изменять ?
Огромное спасибо !
Ega23 (2006-01-16 14:31:00) [7]Ой. А Brush-то я и не заметил.
Да-а-а, так ты долго рисовать будешь....
evvcom (2006-01-16 14:25:00) [8]
> такой код ScrollBox1.Brush.Bitmap.Canvas.Rectangle(10,10,
> 20,20) не проходит
Почему не проходит? Что-то там проходит, только ты не понял что. Ты ж рисуешь на канве кисти, причем не проверив размеров этой кисти. После такого рисования (удостоверившись в попадании рисунка в размеры канвы кисти) добейся заливки ScrollBox1 этой кистью, и увидишь, что что-то прошло, правда не то, что ты ожидал.
Ega23 (2006-01-16 14:05:00) [9]Положи на ScrollBox1 PaintBox (или Image) и рисуй на нём.
Ega23 (2006-01-16 14:03:00) [10]Положи на ScrollBox1 PaintBox (или Image) и рисуй на нём.
Пользователь (2006-01-16 13:56:00) [11]А как в нем рисовать можно ?
такой код ScrollBox1.Brush.Bitmap.Canvas.Rectangle(10,10,20,20) не проходит
как добраться до канвы ?
Спасибо !
evvcom (2006-01-16 13:09:00) [12]
> Создание компонента
Правильнее сказать "создание объекта", "Создание компонента" - это нечто иное.
Ega23 (2006-01-16 13:03:00) [13]
With TShape.Create(ScrollBox1) do
begin
Parent:=ScrollBox1;
Top:=...
Left:=....
.......
end;
?