Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.26;
Скачать: CL | DM;

Вниз

Как клонировать экземпляр компонента   Найти похожие ветки 

 
Terasbetoni   (2008-09-17 17:45) [0]

Здравствуйте. Подскажите, как сделать так, чтобы какой-нибудь компонент прорисовывался в нескольких местах (в нескольких местах формы, или на нескольких формах). И чтобы обе (или больше) копии реагировали, допустим, на события мыши на них.


 
Правильный$Вася   (2008-09-17 17:51) [1]

в рантайме клонировать? или в дизайне?


 
Terasbetoni   (2008-09-17 17:56) [2]

Я про рантайм. Число копий, которые наделает пользователь, неизвестно как бы...


 
Поросенок Винни-Пух ©   (2008-09-17 18:03) [3]

создать экземпляр, скопировать свойства, назначить те же обработчики, установить парента и позишн.


 
Dennis I. Komarov ©   (2008-09-17 18:04) [4]

for i:=0 to <СКОКА НАДО> - 1 do
 begin
   TAny.Create...
    ...
 end


 
Terasbetoni   (2008-09-17 18:23) [5]

Dennis I. Komarov ©   (17.09.08 18:04) [4] -- вот меня прикалывают такие простые парни... =)


 
Поросенок Винни-Пух ©   (2008-09-17 18:24) [6]

а сам-то ты сложный и трудный?


 
KilkennyCat ©   (2008-09-17 18:25) [7]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342


 
Jeer ©   (2008-09-17 18:35) [8]


> Поросенок Винни-Пух ©   (17.09.08 18:24) [6]
>
> а сам-то ты сложный и трудный?


Нет, он бетон с террасы (Terasbetoni) - в общем, кремень-парень.

Туго.., в общем.


 
Terasbetoni   (2008-09-19 18:05) [9]

Поросенок Винни-Пух ©   (17.09.08 18:24) [6]
Jeer ©   (17.09.08 18:35) [8]

Подождите. А в чем я не прав? Решение, предложенное в [4] не решает поставленной задачи.


 
Dennis I. Komarov ©   (2008-09-19 18:18) [10]

if
> Решение, предложенное в [4] не решает поставленной задачи.

then
 задача поставлена не правильно...


 
Terasbetoni   (2008-09-19 19:06) [11]

>>чтобы какой-нибудь компонент прорисовывался в нескольких местах

а не

чтобы несколько компонентов прорисовывались каждый в своём (одном) месте


 
{RASkov} ©   (2008-09-19 19:21) [12]

> [11] Terasbetoni   (19.09.08 19:06)
> чтобы какой-нибудь компонент прорисовывался в нескольких местах

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Height:=220; Width:=350;
 Button1.Left:=132; Button1.Top:=76;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 with Button1 do begin
  PaintTo(Canvas, Left+Width+10, Top);
  PaintTo(Canvas, Left+Width+10, Top+Height+10);
  PaintTo(Canvas, Left, Top+Height+10);
  PaintTo(Canvas, Left-Width-10, Top+Height+10);
  PaintTo(Canvas, Left-Width-10, Top);
  PaintTo(Canvas, Left-Width-10, Top-Height-10);
  PaintTo(Canvas, Left, Top-Height-10);
  PaintTo(Canvas, Left+Width+10, Top-Height-10);
 end;
end;

end.

:)


 
KilkennyCat ©   (2008-09-19 22:42) [13]


> {RASkov} ©   (19.09.08 19:21) [12]


зря улыбаешся. учитывая [11] это единственное решение.


 
{RASkov} ©   (2008-09-19 22:53) [14]

> [13] KilkennyCat ©   (19.09.08 22:42)
> зря улыбаешся

Дык счас вопросы посыпятся, а почему не работает нифика ничего :) ... а может это и нужно было?(я же не зря комментарий именно про это в начало вставил) тогда, да - зря.
Ну ничего лишняя улыбка хуже не сделает)


 
{RASkov} ©   (2008-09-19 22:56) [15]

> а почему не работает нифика ничего :)

да еще и стирается это все, как тряпкой со школьной доски)


 
Германн ©   (2008-09-20 01:12) [16]


> Terasbetoni   (19.09.08 19:06) [11]
>
> >>чтобы какой-нибудь компонент прорисовывался в нескольких
> местах
>
> а не
>
> чтобы несколько компонентов прорисовывались каждый в своём
> (одном) месте
>

<telepator>
Теперь объясни свою задачу четко и ясно без экивоков. С учетом:
http://delphimaster.net/view/2-1220280502/
</telepator>
Иначе ничего кроме флуда не получишь.


 
KSergey ©   (2008-09-20 14:46) [17]

> Германн ©   (20.09.08 01:12) [16]

Какой-то это телепатор, если надо все четко объяснить?! Хреновый какой-то


 
Юрий Зотов ©   (2008-09-20 20:46) [18]

Почему телепатор? Никаких телепаций. Надо клонировать компонент, все четко и ясно.

Ответ: WriteComponent + ReadComponent.

Примечание: все способы, связанные с вызовом конструктора, задачу создания клона, по сути, не решают, так как не копируют текущие значения свойств компонента.



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

Текущий архив: 2008.10.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
2-1221679625
SpinButton
2008-09-17 23:27
2008.10.26
SpinButton


2-1218448786
tomkat
2008-08-11 13:59
2008.10.26
Web приложение


2-1221561139
Zalumhan
2008-09-16 14:32
2008.10.26
Повторяющиеся элементы в массиве


2-1221546073
dmitry_12_08_73
2008-09-16 10:21
2008.10.26
Определение идентификатора потока


2-1220280502
Terasbetoni
2008-09-01 18:48
2008.10.26
Создать свой потомок от TForm и проектировать потомки от него.