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

Вниз

"Дочерние объекты"   Найти похожие ветки 

 
Yel   (2006-08-14 15:57) [0]

Создаю одну картинку, затем вторую поменьше. Нужно чтобы вторая лежала на первой, таскалась всегда с ней и "умирали" они чтоб тоже вместе.
img2:=TImage.Create(img2);   - работает
img2.Parent:=img1;  - нельзя, так как Parent видите ли может быть только TWinControl, но никак не TImage.


 
Zeqfreed ©   (2006-08-14 16:00) [1]

Назначай одного родителя и вызывай BringToFront для картинки, которая должна располагаться поверх другой.


 
EvS ©   (2006-08-14 16:06) [2]

Выводи обе на один Image.


 
Yel   (2006-08-14 16:19) [3]

> Zeqfreed ©   (14.08.06 16:00) [1]
> Назначай одного родителя и вызывай BringToFront для картинки,
>  которая должна располагаться поверх другой.
Мне нужно, чтобы таская одну картинку, вторая таскалась за ней сама.
Насколько я понимаю, BringToFront помещает объект на передний план и все, а по поводу одного родителя - это не свяжет два объекта (или я ошибаюсь = ) ).

> EvS ©   (14.08.06 16:06) [2]
> Выводи обе на один Image.
Мне нужно два объекта каждый "со своими событиями и обработчиками"


 
Gydvin ©   (2006-08-14 16:26) [4]


> > EvS ©   (14.08.06 16:06) [2]
> > Выводи обе на один Image.
> Мне нужно два объекта каждый "со своими событиями и обработчиками"


ну так смотри координаты меньшей и если клик в ее зоне......


 
Yel   (2006-08-14 16:31) [5]

Ну так проще чтоб изменяя координаты 1-й, у второй они изменялись автоматически, чтоб без обработки координат вызывался свой обработчик и т.д.
А вообще, может сделать новый объект на основе TWinControl, с картинкой на переднем плане.


 
Elen ©   (2006-08-14 16:40) [6]

Yel так подойдет?:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls;

type
 TForm1 = class(TForm)
   Image1: TImage;
   Image2: TImage;
   procedure Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
   procedure Image1EndDock(Sender, Target: TObject; X, Y: Integer);
   procedure Image1EndDrag(Sender, Target: TObject; X, Y: Integer);
   procedure Image1DragOver(Sender, Source: TObject; X, Y: Integer;
     State: TDragState; var Accept: Boolean);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var  lt,p:Tpoint;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
GetCursorPos(p);
end;

procedure TForm1.Image1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
  GetCursorPos(p);
end;

procedure TForm1.Image1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
GetCursorPos(p);
end;

procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
 GetCursorPos(p);
 p:=ScreenToClient(p);
 Image1.Top:=p.y-10;
 Image1.Left :=p.x-10;
 Image2.Left:=lt.X +Image1.Left;
 Image2.top:=lt.Y +Image1.Top;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
lt.X:=Image2.Left-Image1.Left ;
lt.Y:=Image2.Top-Image1.Top;
end;

end.


 
Zeqfreed ©   (2006-08-14 18:08) [7]

Создать объект-контейнер. Создать объекты и присвоить контейнер в качестве родителя. Выровнять объекты в контейнере. Двигать контейнер для передвижения обоих объектов.



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
1-1153376353
S@[ShocK]
2006-07-20 10:19
2006.09.03
Проблема мерцания движущегося объекта Shape или Image


15-1154637372
Kolan
2006-08-04 00:36
2006.09.03
Ошибка проектирования.. как исправить...


1-1153379746
Лапыч
2006-07-20 11:15
2006.09.03
Потокозащищенный список строк


2-1155543782
AlexKniga
2006-08-14 12:23
2006.09.03
Что такое ^P?


5-1138960401
moor38
2006-02-03 12:53
2006.09.03
CheckBox и ini файлы