Главная страница
    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
2-1221795539
031178
2008-09-19 07:38
2008.10.26
Как объеденить 2 таблички в MS SQL


6-1194680858
Winni
2007-11-10 10:47
2008.10.26
Как программно подключиться к Инету ?


15-1220416603
MdbPero
2008-09-03 08:36
2008.10.26
Экспорт схемы в Oracle


2-1221658980
smartleds
2008-09-17 17:43
2008.10.26
Господа, напомните пожалуйста функцию задержки в Делфи


2-1221737311
Int23
2008-09-18 15:28
2008.10.26
Как сохранить содержимое буфера обмена и восстановить





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