Вниз
Скачать: CL | DM;

Создание компонента   Найти похожие ветки 

← →
Пользователь   (2006-01-16 13:00) [0]

Всем привет.
Очень расчитываю на Вашу помощь.
Нужно динамически (в процессе выполнения программы) создать новый Shape в Scrollbox"e
Зараннее спасибо..


← →
Ega23 ©   (2006-01-16 13:03) [1]


With TShape.Create(ScrollBox1) do
begin
  Parent:=ScrollBox1;
  Top:=...
  Left:=....
  .......
end;


?


← →
evvcom ©   (2006-01-16 13:09) [2]


> Создание компонента

Правильнее сказать "создание объекта", "Создание компонента" - это нечто иное.


← →
Пользователь   (2006-01-16 13:56) [3]

А как в нем рисовать можно ?
такой код ScrollBox1.Brush.Bitmap.Canvas.Rectangle(10,10,20,20) не проходит
как добраться до канвы ?
Спасибо !


← →
Ega23 ©   (2006-01-16 14:03) [4]

Положи на ScrollBox1 PaintBox (или Image) и рисуй на нём.


← →
Ega23 ©   (2006-01-16 14:05) [5]

Положи на ScrollBox1 PaintBox (или Image) и рисуй на нём.


← →
evvcom ©   (2006-01-16 14:25) [6]


> такой код ScrollBox1.Brush.Bitmap.Canvas.Rectangle(10,10,
> 20,20) не проходит

Почему не проходит? Что-то там проходит, только ты не понял что. Ты ж рисуешь на канве кисти, причем не проверив размеров этой кисти. После такого рисования (удостоверившись в попадании рисунка в размеры канвы кисти) добейся заливки ScrollBox1 этой кистью, и увидишь, что что-то прошло, правда не то, что ты ожидал.


← →
Ega23 ©   (2006-01-16 14:31) [7]

Ой. А Brush-то я и не заметил.
Да-а-а, так ты долго рисовать будешь....


← →
Пользователь   (2006-01-16 16:18) [8]

а еще...
я создаю Shape

With TShape.Create(ScrollBox1) do
begin
 Parent:=ScrollBox1;
 Top:=...
 Left:=....
 .......
end;

а как мне узнать имя этого обекта, что бы потом его свойства изменять ?
Огромное спасибо !


← →
Ega23 ©   (2006-01-16 16:20) [9]


> а как мне узнать имя этого обекта, что бы потом его свойства
> изменять ?


With TShape.Create(ScrollBox1) do
begin
Parent:=ScrollBox1;
Top:=...
Left:=....
Name:="MyScrollBox";
.......
end;


← →
Пользователь   (2006-01-16 16:26) [10]

спасибо, и наверно последнее
а как же мне в коде написать
- создал объект
- "запомнил" его имя

а как в коде потом к нему достукиваться, что писать ?

Сенкс


← →
evvcom ©   (2006-01-16 16:41) [11]


> а как мне узнать имя этого обекта, что бы потом его свойства
> изменять ?

Имя сестра! Его имя!? (c) Мушкетеры

А зачем тебе его имя? Заведи переменную класса (обычно приватную) и
FMyShape := TShape.Create(ScrollBox1);
with FMyShape do ...

Вот через эту переменную и будешь потом добираться.


← →
domain   (2006-01-16 17:04) [12]

function GetShape(ItsName: String): TShape;
begin
 Result:=TShape(ScrollBox1.FindComponent(ItsName));
end;


можно и так, если с переменными запутался.


← →
Ega23 ©   (2006-01-16 17:46) [13]

Либо заводи переменную, либо перебирай все компоненты класса TShape и проверяй на строковое имя.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.034 c
15-1136745707
DeMoN-777
2006-01-08 21:41
2006.02.05
Архивы форумов


15-1137190602
LordOfRock
2006-01-14 01:16
2006.02.05
Способы оплаты онлайн


2-1137476418
Dot
2006-01-17 08:40
2006.02.05
выборка из таблицы в StringGrid


1-1136730689
Glex
2006-01-08 17:31
2006.02.05
Эмуляция события OnMouseLeave, OnMouseEnter из clx в vcl


2-1137501045
Goast
2006-01-17 15:30
2006.02.05
Просто помогите....:)




   Наверх