Суть такая создаю динамически Image и размещаю* на нем Label, после Image перетаскиваю мышкой в рунтиме, Image перетаскивается, а Label остается на месте.
Вообщем как их таскать вместе?
Задумка такая текст поверх картинки) Может есть другие варианты?
Рисовать думаю текст не прокатит будет стираться при перетаскивание компонента.
- Код: Выделить всё
type
{ TDecorat }
TDecorat = class
ImageCreate: TImage;
LabelCreate: TLabel;
procedure DecoratorCreateComponent();
procedure ImageCreateMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses unit1;
{ TDecorat }
procedure TDecorat.DecoratorCreateComponent();
begin
//--- Создание Image ---\\
ImageCreate := TImage.Create(form1);
ImageCreate.Parent := Form1.GroupBox2;
ImageCreate.Picture.LoadFromFile('decoratorTextureL2UI1Button_DF_Large_Down.png');
ImageCreate.Stretch := True;
ImageCreate.Width := 100;
ImageCreate.Height := 30;
ImageCreate.Top := 100;
ImageCreate.Left := 30;
ImageCreate.OnMouseMove:=@ImageCreateMouseMove;
//--- Создание Label ---\\
LabelCreate := TLabel.Create(ImageCreate);
LabelCreate.Parent := ImageCreate.Parent;
LabelCreate.Caption := 'Текст';
LabelCreate.Font.Color := $ffffff;
LabelCreate.Left := ImageCreate.Left + ImageCreate.Width div 2 - LabelCreate.Width div 2;
LabelCreate.top := ImageCreate.top + ImageCreate.Height div 2 - LabelCreate.Height div 2
end;
Так таскает оба компонента но хотелось бы, что бы image был контейнером для Label
(обработчик перетаскивания компонента в другом месте там в се ок!)
- Код: Выделить всё
//Передаем координаты в Label
procedure TDecorat.ImageCreateMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
LabelCreate.Left := ImageCreate.Left + ImageCreate.Width div 2 - LabelCreate.Width div 2;
LabelCreate.top := ImageCreate.top + ImageCreate.Height div 2 - LabelCreate.Height div 2
end;