<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=66&amp;t=19487&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-10-29T16:17:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=66&amp;t=19487&amp;mode</id>
<entry>
<author><name><![CDATA[starosta]]></name></author>
<updated>2017-10-29T16:17:22+01:00</updated>
<published>2017-10-29T16:17:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19487&amp;p=197982#p197982</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19487&amp;p=197982#p197982"/>
<title type="html"><![CDATA[Drag and Drop nowych obiektów]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19487&amp;p=197982#p197982"><![CDATA[
Witam,<br />Mam problem z przeciąganiem nowo-utworzonych obiektów.<br />Obiekt to Panel z małym okrągłym &quot;guziczkiem&quot; po prawej stronie... no i z labelem na środku.<br /><br />Najpierw tworzę instancję z tej klasy:<br />[syntax=delphi]TMojPanel=class(TPanel)<br />  private<br />    {brak}<br />  public<br />    pLiczba: Integer;<br />    pNapis: TLabel;<br />    pFigura: TShape;<br />    constructor Create(Owner: TComponent); override;<br />  end;[/syntax]<br /><br /><br />Następnie inicjalizuje...<br />[syntax=delphi]constructor TMojPanel.Create(Owner: TComponent);<br />begin<br />   inherited Create(Owner);//inicjacja elementow dziedziczonych<br />   Color:=clWhite;<br />   Width:=120;<br />   Height:=25;<br />   Left:=przes;<br /><br />   pFigura:=TShape.Create(Self);<br />   pFigura.Parent:=Self;<br />   pFigura.Width  := 12;<br />   pFigura.Height := 12;<br />   pFigura.Shape:=stCircle;<br />  ...<br />   pNapis:=TLabel.Create(Self);<br />   pNapis.Parent:=Self;<br />   pNapis.Caption:=InttoStr(pLiczba);<br />  ...<br />end;[/syntax]<br /><br /><br />podczas kreowania, ustawiam mojemu Panelowi właściwość DragMode<br />[syntax=delphi]procedure TForm1.Button1Click(Sender: TObject);<br />begin<br />  MojObiekt:=TMojPanel.Create(Self);<br />  MojObiekt.Parent:=Self;<br />  MojObiekt.DragMode := dmAutomatic;<br />end;[/syntax]<br /><br />Na koniec, podczas wystąpienia zdarzenia DragOver element powinien być przenoszony... <br /><br />[syntax=delphi]procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;<br />  State: TDragState; var Accept: Boolean);<br />begin<br />  if Sender is TMojPanel then<br />  begin<br />    (Sender as TMojPanel).Left := X;<br />    (Sender as TMojPanel).Top  := Y;<br />  end;<br />end;[/syntax]<br /><br />Jednak nic się nie dzieje :/ <br />Nadmienię tylko, że na typowych kontrolkach które posiadają tokowe zdarzenie wszystko działa :/<br />Coś robię źle?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17907">starosta</a> — 29 paź 2017, o 16:17</p><hr />
]]></content>
</entry>
</feed>