Форум: "Начинающим";
Текущий архив: 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