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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.005 c
15-1220002367
начинающий
2008-08-29 13:32
2008.10.26
Windows Vista


8-1186482942
leonidus
2007-08-07 14:35
2008.10.26
Принцип работы инструментов автокоррекции изображений


2-1221625602
Ivanov Ivan
2008-09-17 08:26
2008.10.26
Индекс строки ListView


2-1221944652
Ruzzz
2008-09-21 01:04
2008.10.26
Unicode в D2009


6-1194549259
MikeLe
2007-11-08 22:14
2008.10.26
THttpCli - из ICS (TWSocket)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский